Introduction [Enterprise Architect User Guide]

Introduction to Enterprise Architect

 Return to Introduction

Welcome to Sparx Systems Enterprise Architect, a UML based modeling tool for designing and constructing software systems, business modeling, systems modeling and generalized modeling purposes such as visualizing existing systems and processes.

The Enterprise Architect User Guide provides reference materials, guidance and tutorials for using the features and facilities of Enterprise Architect in your modeling and in related work.

General Topics:

Topic

Link

Enterprise Architect is very flexible and has many features; the Overview provides a summary of what Enterprise Architect can do and what you can use it for

What You Can Do

Key Benefits

Key Features

If you are new to modeling and UML as well as Enterprise Architect, or otherwise want a rapid review of the process of modeling with Enterprise Architect, the User Guide provides a tutorial to help you get working quickly

The tutorial is not just a theoretical description - the first things you do are start Enterprise Architect and immediately create a model project

Getting Started

A Quickstart Tutorial

When working through the Quickstart tutorial you should see many links to more extensive descriptions of features, functions, tasks and procedures; you can follow any of these immediately if you require more information

User Interface Guide

You should also read the Sparx Systems Formal Statements, including the Copyright Notice and our End User Licensing Agreement.

Formal Statements

The User Guide provides a glossary of terms that you can refer to for definitions of various terms and concepts used in this guide

Glossary

Feedback - Sparx Systems likes to stay in touch with what Enterprise Architect users require in order to accomplish their tasks efficiently and effectively.

We value any suggestions, feedback and comments you might have regarding this product, documentation or install process

You can provide your feedback:

  • Using a fault (bug) report or feature request, or
  • By email

www.sparxsystems.com/bug_report.htm

www.sparxsystems.com/feature_request.htm

support@sparxsystems.com

If you are evaluating the free trial version of Enterprise Architect and have not yet purchased an edition, but would like to, you can refer to the information we provide to help you make your purchase

Order Enterprise Architect

Specific Topics:

Topic | Link
Setting up, configuring, managing and maintaining modeling projects, including storage mechanisms, team development environments, managing changes and monitoring progress | Projects and Teams
Creating and maintaining model structures in Enterprise Architect, including how to work with the model structure and components, their properties, and the reference data with which you populate the model | Modeling Basics
Understanding the Enterprise Architect implementation of UML concepts and specifications, how those concepts are extended in Enterprise Architect's support of other modeling languages, and how you can extend the concepts yourself by creating your own modeling languages | Define a Modeling Language
Navigating through your model, searching for information you require on the model, selecting aspects of the model to extract and review, and tracing developmental relationships in both the structure and the development timeframe | Navigate, Search & Trace
Transforming model elements and fragments from one domain to another, using standard and customized Model Driven Architecture transformations | Model Transformation
Generating code from the model (forward engineering), generating model structures from imported code (reverse engineering) synchronizing code and model, controlling how these operations take place and controlling what output results from the processes | Software Engineering
Performing visual analysis of executing code - debugging, recording the stack trace and generating Sequence diagrams from the trace | Visual Execution Analyzer
Developing models for specific modeling domains, such a business process analysis or systems engineering | Analysis and Business Modeling Database Engineering Systems Engineering SOA and XML Engineering
Ensuring quality control of your models and code through model validation and running your own test scripts | Testing
Managing the maintenance of model elements and changes and issues across the project | Maintenance
Documenting your model in either RTF or HTML output format | Reporting
Using the Technology Developer's tools, which enable you to access Enterprise Architect facilities through your own interface, in your own implementation | Automation
Managing your private or shared Enterprise Architect product license keys | License Management


Overview [Enterprise Architect User Guide]

Overview

Enterprise Architect is a powerful CASE tool for specifying, documenting and building software projects. Using Enterprise Architect's support for UML and its related standards, you can model new complex software and business systems, or visualize and maintain existing systems.

Topics:

Topic

Link

Enterprise Architect is a comprehensive UML analysis and design tool, covering all aspects of the software development cycle from requirements gathering through analysis, model design, testing, change control and maintenance to implementation, with full traceability

Enterprise Architect combines the power of the latest UML 2.3 specification with a high performance, intuitive interface, to bring advanced modeling to the whole development team

It is a multi-user, visual tool with a great feature set, helping analysts, testers, project managers, quality control staff and deployment staff around the world to build and document robust, maintainable systems and processes

Key Benefits of Enterprise Architect

Enterprise Architect Key Features

With over 250,000 licenses sold, Enterprise Architect has proven highly popular, being used by thousands of companies world-wide

From large, well-known, multi-national organizations to smaller independent companies and consultants, Enterprise Architect has become the UML modeling tool of choice for developers, consultants and analysts in over 130 countries

Sparx Systems software is used in the development of many kinds of application and system in a wide range of industries including:

  • aerospace
  • banking
  • web development
  • engineering
  • finance
  • medicine
  • military
  • research
  • academia
  • transport
  • retail
  • utilities (such as gas and electricity) and
  • electrical engineering

It is also used effectively for UML and enterprise architecture training in many prominent colleges, training companies and universities around the world


What You Can Do [Enterprise Architect User Guide]

What You Can Do

This topic introduces the fundamental processes that Enterprise Architect supports.

Topic

Detail

See also

Modeling

Enterprise Architect is a comprehensive model analysis and design tool

To create models with Enterprise Architect, you therefore should become familiar with:

  • How Enterprise Architect implements the UML standards and
  • How you apply UML in Enterprise Architect to develop your models

Modeling Fundamentals

Managing Models

To manage the models in your projects, you both

  • Protect and manage the model data itself, and
  • Communicate information on the data in the form of RTF and HTML documentation and reports

Projects and Teams

Reporting

Code Engineering

In Enterprise Architect, UML modeling both depends on and supports code engineering - you generate and update code from a model, and you create and update models from code

In this broad sense, Enterprise Architect enables you to:

  • Forward engineer, reverse engineer, round-trip and synchronize code in a range of programming languages
  • Debug and profile code
  • Model and generate code for XML Technologies
  • Perform database modeling and design for a range of database management systems
  • Convert model components from one domain to another using Model Driven Architecture (MDA) Transformations.

Overview Of Development

Managing Projects

Enterprise Architect provides strong support for Project Management, particularly in the following areas:

  • Project estimation - working out how much time and effort is required to build and deploy a solution, using the Use Case metrics facility and carefully-calibrated metrics
  • Defining, assigning and managing resources
  • Communicating Project Management discussions and decisions to the project
  • Monitoring and managing problems, changes, issues and tasks that affect both individual elements and the project as a whole
  • Managing the development, execution and results of testing, from Integration through to User Acceptance, and
  • Maintaining a project glossary of terms, procedures and policies applied to the project

The scope of your project management might include upgrades to Enterprise Architect and installation of related technologies

Projects and Teams

Testing

Maintenance

License Management

Extending Enterprise Architect Facilities

Experienced Technology Developers can develop customized additions to the functionality already present within Enterprise Architect. These additions include:

  • UML Profiles and Stereotypes
  • UML Patterns
  • Code Templates
  • Tagged Value Types
  • MDG Technologies and
  • Enterprise Architect Add-Ins.

By creating these extensions the Technology Developer can customize the Enterprise Architect modeling process to specific tasks and speed up development.

Build Your Own Modeling Language

Automation


Key Benefits [Enterprise Architect User Guide]

Key Benefits Of Enterprise Architect

Enterprise Architect is a powerful tool for specifying, documenting and building your software and business process projects. Using Enterprise Architect's support for UML and its related standards, you can model new complex software and business systems, or visualize and maintain existing systems.

Topic

Detail

See also

Design and Build Diverse Systems Using UML

UML 2.3 is an open standard that provides a rich language for describing, documenting and designing software, business and IT systems in general

Enterprise Architect enables you to leverage the full expressive power of UML 2.3 to model, design and build diverse systems in an open and well understood manner

You can generate code, database structures, documentation and metrics; transform models; or specify behavior and structure as the basis for contractual agreements

Standard UML Models

Modeling Basics

Model and Manage Complexity

Enterprise Architect helps individuals, groups and large organizations model and manage complex information.

Often this relates to software development and IT systems design and deployment, but it can also relate to business analysis and business process modeling

Enterprise Architect integrates and connects a wide range of structural and behavioral information, helping to build a coherent and verifiable architectural model, either what-is or what-will-be

Tools to manage version control, track and compare differences, audit changes and enforce security, help control project development and enforce compliance to standards

Configure User Security

Change Management

Structured Use Case Scenarios

Enterprise Architect's Structured Scenario editor enables you to develop structured Use Case Scenarios, to capture vital analysis information in the form of natural language descriptions

The editor helps you use this information to drive downstream development and maximize traceability across the development life-cycle

The editor also helps you to dynamically link scenario steps to associated model elements, such as domain elements, business rules and glossary terms

From structured scenarios, you can automatically generate test case descriptions, and Activity and other UML behavioral diagrams

You can even reverse engineer existing process diagrams into structured, textual specifications to produce documentation deliverables

Scenarios

Share Models

Enterprise Architect enables you to share complete models or specific aspects of a model between members of a team, including (through the 'Lite', read-only edition) stakeholders who can study a model but not change or manage it

You can make your project .EAP file available on a shared network drive, or replicate the .EAP file for complex distributed development

Alternatively, you can develop the project in one of several shared DBMS repositories

You can import and export data as XMI files to distribute and update frameworks and other package-based model structures; you control changes through the version control repository

Enterprise Architect provides a data transfer wizard that enables you to upsize or downsize the complete model for maximum flexibility, and it enables you to export and import reference data so that you do not have to recreate it for related projects

The Read-only 'Lite' Edition

Project Sharing

Server Based Repositories

XMI Import and Export

Version Control

Perform a Project Data Transfer

Sharing Reference Data

Model, Manage and Trace Requirements

Enterprise Architect enables you to capture requirements and use full traceability from base requirements to design, build, deployment and beyond

You can use impact analysis to trace from proposed changes to original requirements, and build the 'right' system

Requirements

Trace: Tracking Dependencies

Develop Personal Views and Extracts of the Model

Enterprise Architect enables you to develop any number of different views of your model, or parts of it, either for your personal use or for the use of your team

These Model Views are generated by reports, so they can be set up to always show the current status of the selected view

The facility also enables you to create Favorites folders of hyperlinks to frequently-used data structures

Model Views

Track and Trace Model Structures

In even a small model, it can be difficult to locate specific packages, diagrams or elements, even if you apply a rigorous naming and structure policy

Enterprise Architect has a wealth of facilities that enable you to locate structures quickly and easily, through the Model Search, Package Browser, Diagram List, Auditing facility, Traceability window, Relationship Matrix and reports

The Element menu, Diagram menu and Project Browser context menus also enable you to locate elements in diagrams and in the Project Browser, and you can store hyperlinks to important or commonly-used elements and diagrams in the Model Views

Finally, having located one element you can import any related elements into a diagram in a single operation

Navigate, Search & Trace

Auditing

Other Documents

Main Menu

Project Browser Context Menus

Insert Related Elements

Generate Documentation

Enterprise Architect provides powerful document generation and reporting tools with a full WYSIWYG template editor for RTF or HTML output

You can generate complex and detailed reports from Enterprise Architect with the information you require in the format your company or client demands

Reporting

Generate and Reverse Engineer Source Code

Enterprise Architect supports generation and reverse engineering of source code for many popular languages

With a built in 'syntax highlighting' source code editor, Enterprise Architect enables you to quickly navigate and explore your model source code in the same environment

Code generation templates enable you to customize the generated source code to your company specifications

Generate Source Code

Importing Source Code

The Source Code Editor

Code Templates

Visualize, Inspect and Understand Complex Software

Software is complex and often hard to understand; you can use Enterprise Architect to reverse engineer code in a wide range of software development languages and database repository schema, to understand static structure

To complete the picture, use the unique built-in profiling and debugging tools to capture and visualize executing software at run-time

Create run-time instances of model elements and invoke methods using the built in Object Workbench

You can also bring in complete frameworks from source code or Java .jar files - or even .Net binary assemblies!

By importing frameworks and library code, you can maximize re-use and understanding of your existing investment

Importing Source Code

Execution Analysis

Object Workbench

Import Source Code

Import Binary Module

Perform MDA Transformations

Model Driven Architecture (MDA) is an open standard designed to facilitate rapid application development in a platform independent manner

Models can be built at a high level of abstraction and, using MDA based tools, transformed into models and code targeting a specific platform or domain

Enterprise Architect supports advanced MDA transformations using easily edited and developed transformation templates

With built-in transformations for DDL, C#, Java, EJB and XSD, you can quickly develop complex solutions from simple platform independent models (PIMs) targeted at platform specific models (PSMs); one PIM can be used to generate and synchronize multiple PSMs, providing a significant productivity boost

Model Transformation

Built-in Transformations

SOA (Service Oriented Architecture) Support

Enterprise Architect enables you to rapidly model and forward- and reverse-engineer two key W3C XML technologies:

  • XML Schema (XSD) and
  • Web Service Definition Language (WSDL)

XSD and WSDL support is critical for the development of a complete Service Oriented Architecture (SOA), and the coupling of UML 2.3 and XML provides the natural mechanism for specifying, constructing and deploying XML-based SOA artifacts within an organization

XML Schema - XSD

Web Services - WSDL

Systems Engineering support

Integrating many high-end features for Systems Engineers, the Ultimate and Systems Engineering editions of Enterprise Architect provide built-in support for:

  • SysML
  • Parametric model simulation
  • Executable code generation
  • Model to code transformations for Hardware Description Languages and Ada 2005

Editions Available

SysML

Behavior

State Machine Modeling For HDLs

Ada 2005

Model Databases

Enterprise Architect enables you to reverse engineer from many popular DBMS systems

You can model database tables, columns, keys, foreign keys and complex relationships using UML and an inbuilt data modeling profile, and forward generate DDL scripts to create target database structures

Supported Databases

Data Models

Customize Enterprise Architect

Enterprise Architect also includes facilities that enable experienced tool developers to customize and extend Enterprise Architect to suit the specific requirements of their organization with, for example, in-house UML Profiles, Add-Ins and Code Templates

The very detailed Automation Interface gives you access to most element features, major functions such as XMI import/export, and attached information; most properties are fully writable from the automation client

The Automation Interface provides great support for plug-ins, with the ability to embed automation client windows in the main diagram view

The Interface is accessible from any automation-aware client language, such as VB, C#, C++ and Delphi

Developing Profiles

Enterprise Architect Add-In Model

Code Template Framework

Using the Automation Interface

Link Enterprise Architect to IDEs

Using Sparx Systems Model Driven Generation (MDG) Link plug-ins, you can develop source code in your preferred Integrated Development Environment such as Visual Studio .NET or Eclipse, while you use Enterprise Architect to locate the source code for Classes, attributes and operations, and to model, navigate, track, reverse engineer, build and run your project

The MDG Integration products for Eclipse and Visual Studio 2008 provide an even closer, seamless integration of Enterprise Architect and UML 2.3 with your IDE, bringing the functionality required of a fully fledged modeling platform right inside the IDE

Visual Studio .NET

Eclipse (Link)

Eclipse (Integration)

Visual Studio 2008


Key Features [Enterprise Architect User Guide]

Key Features

Enterprise Architect is renowned for its rich feature set. Some of the key features are highlighted in the following list:

  • Model complex information, software and hardware systems using UML-compliant notation (comprehensive UML 2.3 support for all 14 UML diagrams)
  • Extended modeling for Requirements, User Interface Design, Mind Mapping, Data Modeling, SysML, SPEM, BPMN 1.1 and more
  • Generate BPEL scripts automatically from Business Process models
  • Built-in Requirements Management enables you to specify, trace and verify requirements directly against the design, right through to the deployed solution
  • Comprehensive and flexible MS Word-compatible HTML and RTF report options
  • Leverage industry-standard Enterprise Architecture frameworks (Zachman, TOGAF, DoDAF-MODAF)
  • Support in forward and reverse code engineering for many software and hardware languages ‘out of the box’: ActionScript 3.0, Java, C#, C++, VB.Net, Delphi, Visual Basic , Python, PHP, Verilog, VHDL and SystemC
  • Ability to perform database modeling, to reverse engineer from a range of DBMSs via ODBC, and to forward generate DDL scripts to create database structures
  • Connect to shared database repositories using MS SQL Server, MySQL, Oracle and more
  • Manage, track and control change using baseline model merge and auditing capabilities
  • Centralize enterprise-wide documentation of processes and information systems
  • Model dependencies between elements, system dynamics and state
  • Model class hierarchies, deployment, components and implementation details
  • Record project issues, tasks and system glossary
  • Assign resources to model elements and track effort expended against required effort
  • Testing support for test cases, JUnit and NUnit
  • Integrated Debug Workbench for visualizing executable Java and .Net applications, instantiating run-time model objects and generating Sequence diagrams from a stack trace
  • Migrate changes across a distributed environment using Controlled XMI Packages
  • Manage Version control though XMI using SCC CVS and Subversion configurations
  • Inbuilt user and group security and access control management
  • Distributed development through shareable files, use of shared repositories in a range of major Database Management Systems, file replication, data transfer, and import and export of reference data
  • Share models using the latest XMI 2.1 format
  • Import models in XMI format from other tools
  • Built-in Model Driven Architecture (MDA) Transformations, and facilities to import or create others
  • Facilities to import database schema, XSD and WSDL source, .NET and Java binaries
  • Use UML Profiles to create custom extensions for domain-specific modeling
  • Save and load complete diagrams as UML Patterns
  • Create and share dynamic views of model elements and diagram sets using Model Views
  • Analyze and trace relationships between elements using the tabular Relationship Matrix
  • Generate executable business logic from rule tasks and trace to natural language business rules
  • Transform behavioral models into executable source code for software and hardware description languages (HDLs) such as Verilog, VHDL, and SystemC
  • Simulate SysML parametric models
  • Script and automate common tasks using a detailed Automation Interface and Model Scripts
  • A range of internal and external commercial MDG Add-Ins to integrate the facilities of Enterprise Architect with IDEs and other technologies, and templates to write your own
  • Read-only Viewer enables stakeholders to view but not change milestone deliverables
  • Price: Enterprise Architect is priced to outfit the entire team, making collaboration and team development a real possibility
  • Speed: Enterprise Architect is quick to load and a spectacularly fast performer, even with large models
  • Scalability: Enterprise Architect supports single users and the development of small models, or many concurrent users developing extremely large models, with equal ease
  • Usability: many of our users agree, Enterprise Architect gets you started and productive quickly, with a rich user interface and the ability to create templates, model views and 'favorites' collections of commonly-used elements and diagrams.

For a complete list of the new features of the latest version of Enterprise Architect, click on the Help | Read Me menu option.

Enterprise Architect is available in six editions: Ultimate, Business and Software Engineering, Systems Engineering, Corporate, Professional, and Desktop, each of which offers a different range of features.

Learn More:

  • Editions Available
  • Extensions - MDG Technologies


Enterprise Architect Editions [Enterprise Architect User Guide]

Enterprise Architect Editions

Enterprise Architect is available in a number of different editions, each tailored to support a particular business case.

Topic | Detail | See also
Before Purchase | Test the product in a number of configurations in the Trial Version | The Trial Version
Using the Trial | Explore the specific features of the six work environment editions available | Editions Available
Reviews and other Read-only tasks | Use the free, read-only or 'Lite' edition | The Read-only 'Lite' Edition


The Trial Version [Enterprise Architect User Guide]

The Trial Version

The fully functional 30 day trial version of Enterprise Architect is available free of charge on the Sparx Systems website www.sparxsystems.com/bin/easetup.exe. The trial version is identical to the registered edition with the exception that all diagrams are output to files with an embedded watermark.

Topic

Detail

See also

Try Out Editions

The trial version enables you to explore and evaluate Enterprise Architect, checking the edition you are interested in and trying out other editions for comparison

When you start up the Enterprise Architect trial version, the Select Trial Version prompt displays; select the mode to trial

If necessary, you can close down Enterprise Architect and restart it in another mode for comparison

The prompt also directs you to useful information such as a walkthrough of the Enterprise Architect facilities, and enables you to use one of several workspace layouts

Workspace Layouts

Trial Period:

As you are evaluating the Enterprise Architect trial version, note that the software operates for a limited period, and denies access after the trial period has elapsed

To continue using Enterprise Architect when the trial period expires, you can either:

  • Apply to extend the trial period, or
  • Purchase and register a full license; on purchase of a suitable license or licenses, the registered version is made available for download

The latest information on pricing and purchasing is available on the Sparx Systems website; for more information, contact Sparx Systems by email

When you order and pay for an edition of Enterprise Architect, you receive installation instructions and the location of the executable files for download

Order Enterprise Architect

Installation

Register a Full License

sales@sparxsystems.com

Extend Trial Period

If you are testing the trial version and require more than 30 days to evaluate it, you can apply to Sparx Systems Sales for an extension of the trial period; Sparx Systems Sales send you an extension key by email

The extension can be an additional 30 to 150 days; if you do not request a long enough extension in the first place, you can submit further requests

The trial period must expire before you can enter the extension key.

sales@sparxsystems.com

How to:

To extend the trial period, after receipt of your extension key, follow the steps below:

Step | Action | See also
1 | Open the Enterprise Architect trial version The Evaluation Version of Enterprise Architect dialog displays; once the trial period has expired, you cannot proceed beyond this dialog without extending the trial period |
2 | Press ( Ctrl ) whilst you click on the Continue Trial button The Upgrade Key dialog displays |
3 | In the Upgrade Key field, type or copy-and-paste the extension key you received from Sparx Systems Sales |
4 | Click on the OK button Enterprise Architect confirms that your trial period has been extended Your trial period is extended by the period of days stated in the email from Sparx Systems Sales; you can now restart and use the Trial version of Enterprise Architect |


Editions Available [Enterprise Architect User Guide]

Editions Available

Enterprise Architect is available in six editions: the Ultimate, Business and Software Engineering, and Systems Engineering 'suite' editions, and the Corporate, Professional and Desktop editions.

Topic

Detail

See also

Comparison

The functionality for each edition is described below; the features of and differences between the editions are listed in the table provided on the Sparx Systems website

To help you understand the differences between these editions and the advantages and limitations of each, you can open and use the Trial version of Enterprise Architect to mimic any of the editions

Sparx Systems website

The Trial Version

Ultimate Edition

The Ultimate edition is designed for power users and those working across multiple domains, providing deep support for Business, for Software Engineering and for Systems Development seamlessly integrated into a single development environment

It enables you to drill down to the lowest levels of systems design and construction, with SysML and executable code generation for standard and hardware description languages

Business users can leverage BPEL, the Rules Composer and executable UML, in addition to all the advanced features of the other editions of Enterprise Architect

Software developers can integrate their Eclipse and Visual Studio projects with their UML models and leverage the advanced executable code generators to target different domains

The Ultimate edition enables end to end traceability throughout a global vision of your enterprise - unifying strategy, business process, interfaces, software, rules, data and fine grained systems; powerful tools, domain-specific technologies, frameworks, integration platforms and a consistent, scalable, and robust interface work in unison to help you deliver on the promise of Model Driven Development

The Ultimate edition incorporates a number of MDG Technologies and Add-Ins; the Ultimate edition and MDG Technologies are all available in either Fixed License or Floating License form

The Floating License arrangement is particularly useful for companies that manage a central store of license keys, which can be used by different employees over time, temporarily or permanently

The Ultimate edition provides:

  • Executable Code Generation - support for generating functional source code for State Machines, Interactions and Activities in C, C++, C#, Java and VB.NET
  • Full round trip support for Hardware Description Languages (Verilog, VHDL and SystemC) including support for generating State Machine code
  • SysML Simulation Support - including support for simulating SysML 1.2 constraint models with results graphing capabilities
  • BPEL Generation – transform BPMN 1.1 and BPMN 2.0 Business process models down to BPEL 1.1 and BPEL 2.0 code respectively
  • Business Rules – trace from abstract business rules down to automatically generated behavioral code

MDG Technologies

Business and Software Engineering Edition

The Business and Software Engineering edition is aimed at software development professionals, business modelers, architects, requirements experts, project managers and others involved in the design and construction of quality software and business services

It combines powerful new features such as executable code generation from UML models, BPEL, advanced scripting and a multi-purpose Rules Composer targeting executable code from Business Domain models; it also bundles licenses for integration products and frameworks such as DoDAF-MODAF, TOGAF and Zachman, to provide advanced model-driven construction tools to tightly bind your code development in Eclipse or Visual Studio

The Business and Software Engineering edition incorporates a number of MDG Technologies and Add-Ins; the Business and Software Engineering edition and MDG Technologies are all available in either Fixed License or Floating License form

The Floating License arrangement is particularly useful for companies that manage a central store of license keys, which can be used by different employees over time, temporarily or permanently

The Business and Software Engineering edition provides:

  • Generation of Behavioral Code from State, Sequence and Activity models, supporting standard programming languages such as Java and .NET
  • Advanced math functions within the scripting engine
  • BPEL Generation from BPMN 1.1 and BPMN 2.0 models - including validation and WSDL support
  • A Business Rules Composer that enables you to build Business Domain models and generate code to implement complex business rules in standard programming languages

MDG Technologies

Systems Engineering Edition

The Systems Engineering edition is designed for systems and software development professionals working on real-time, embedded and systems solutions

It combines new features such as executable code generation from UML models (including support for hardware languages such as Verilog and VHDL), Ada, SysML 1.2, executable SysML Parametric diagrams and advanced scripting

It also bundles licenses for DoDAF-MODAF, SysML, DDS, TcSE and integration products to provide powerful model-driven construction tools for the Systems Engineering domain to tightly bind your code development in Eclipse or Visual Studio with the UML/SysML models developed in Enterprise Architect

The Systems Engineering edition incorporates a number of MDG Technologies and Add-Ins; the Systems Engineering edition and MDG Technologies are all available in either Fixed License or Floating License form

The Floating License arrangement is particularly useful for companies that manage a central store of license keys, which can be used by different employees over time, temporarily or permanently

This edition provides:

  • Executable Code Generation - support for generating functional source code for State Machines, Interactions and Activities in C, C++, C#, Java and VB.NET
  • Full round trip support for Hardware Description Languages, including Verilog, VHDL and SystemC, with support for generating State Machine code
  • SysML Simulation Support - Includes support for simulating SysML 1.2 constraint models with results graphing capabilities

MDG Technologies

Corporate Edition

Aimed at larger development teams, the Corporate edition enables you to connect to the following DBMS back ends as the shared repository:

  • MySQL
  • SQL Server
  • PostgreSQL,
  • Sybase Adaptive Server Anywhere
  • Access 2007 and
  • Oracle 9i, 10g or 11g

This provides additional scalability and improved concurrency over the shared .EAP file approach to model sharing

User security, user logins, user groups and user level locking of elements, user/group based security (with locking at diagram and element levels) are also supported

Security comes in two modes: in the first mode, all elements are considered 'writeable' until explicitly locked by a user or group; in the second mode, all elements are considered locked until checked out with a user lock

The Corporate edition forms the base for the three extended editions described above; like those editions, it is available in either Fixed License or Floating License form

The Floating License arrangement is particularly useful for companies that manage a central store of license keys, which can be used by different employees over time, temporarily or permanently

Professional Edition ProfessionalBox

Aimed at work groups and developers, the Professional edition supports shared projects through replication and shared network files

This edition has an ActiveX interface for interrogating Enterprise Architect projects and extracting information in XMI format

The Professional edition fully supports code import/export and synchronization of model elements with source code; it enables reverse engineering of SQL Server; MS Access 97, 2000 and 2003; and Oracle 9i, 10g or 11g databases

Support for MDG Technologies and MDG Link (sold separately) is included with the Professional version

The shared repository available in the Professional edition is restricted to the .EAP file format (JET database)

Desktop Edition

The Desktop edition is targeted at single analysts and developers producing UML analysis and design models

It provides facilities for:

  • UML modeling
  • XMI import/export
  • Document generation
  • Version control integration and
  • Profile/metamodel extensibility.


The Read-only 'Lite' Edition [Enterprise Architect User Guide]

The Read-only 'Lite' Edition

Enterprise Architect Lite is a free, read-only edition of Enterprise Architect that enables people such as project sponsors to review the project without making any changes.

Topic

Detail

See also

Further Access

Users of Enterprise Architect Lite also have wider access to

  • The Team Review, where readers can create and respond to posts, and link their comments to elements
  • The Source Code Editor, where readers can open and edit external source code files, debug code, and configure and run Analyzer scripts
  • The File menu, where readers can copy the project or create a shortcut to access it
  • The Relationship Matrix, where readers can export the matrix contents to a CSV file to be opened in a spreadsheet application
  • The Default Hours tab to review project metrics.

You can download the Enterprise Architect Lite edition (as the Enterprise Architect Viewer) from the Sparx Systems website

Team Review Tools

The Source Code Editor

File Menu

Relationship Matrix Options

Default Hours

http://www.sparxsystems.com/products/ea/downloads.html.

Other Read-Only Options

You can also make your model available to others in a read-only format by:

  • Generating an HTML report on the model, which can be published on the web with read-only access

HTML Reports


Formal Statements [Enterprise Architect User Guide]

Formal Statements

Please take the time to read the following legal statements concerning Sparx Systems Enterprise Architect:

Topic | Link
Software Copyright Notice | Software Copyright Notice
Enterprise Architect End User Licensing Agreement | Enterprise Architect End User Licensing Agreement
Acknowledgement of Trademarks | Acknowledgement of Trademarks

Spark Systems would also like to gratefully acknowledge contributions to the development of Enterprise Architect.


Copyright Notice [Enterprise Architect User Guide]

Copyright Notice

Copyright © 1998 - 2011 Sparx Systems Pty. Ltd. All rights reserved.

The software contains proprietary information of Sparx Systems Pty Ltd. It is provided under a license agreement containing restrictions on use and disclosure and is also protected by copyright law. Reverse engineering of the software is prohibited. Please read the license agreement for full details.

Due to continued product development, this information can change without notice. The information and intellectual property contained herein is confidential between Sparx Systems and the client and remains the exclusive property of Sparx Systems. If you find any problems in the documentation, please report them to us in writing. Sparx Systems does not warrant that this document is error-free. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without the prior written permission of Sparx Systems. Licensed users are granted the right to print a single hardcopy of the user manual per licensed copy of the software, but may not sell, distribute or otherwise dispose of the hardcopy without written consent of Sparx Systems.

Sparx Systems Pty. Ltd.
7 Curtis St,
Creswick, Victoria 3363,
AUSTRALIA

Phone: +61 (3) 5345 1140
Fax: +61 (3) 5345 1104

Support Email: support@sparxsystems.com
Sales Email: sales@sparxsystems.com

Website: www.sparxsystems.com

Scintilla and SciTE

Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> All Rights Reserved.

Permission to use and distribute this (Scintilla) software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation.


End User License Agreement [Enterprise Architect User Guide]

End User License Agreement

Enterprise Architect Modeling Tool Version 9.0

Desktop, Professional, Corporate, Business and Software Engineering, Systems Engineering & Ultimate Editions

Copyright (C) 1998-2011 Sparx Systems Pty Ltd. All Rights Reserved

IMPORTANT- READ CAREFULLY: This End User License Agreement ("EULA") is a legal agreement between YOU as Licensee and SPARX SYSTEMS ("SPARX") for the SOFTWARE PRODUCT identified above. By installing, copying, or otherwise using the SOFTWARE PRODUCT, YOU agree to be bound by the terms of this EULA. If YOU do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place of purchase for a full refund.

The copyright in the SOFTWARE PRODUCT and its documentation is owned by Sparx Systems Pty Ltd A.C.N 085 034 546. Subject to the terms of this EULA, YOU are granted a non-exclusive right for the duration of the EULA to use the SOFTWARE PRODUCT. YOU do not acquire ownership of copyright or other intellectual property rights in any part of the SOFTWARE PRODUCT by virtue of this EULA.

Your use of this software indicates your acceptance of this EULA and warranty.

DEFINITIONS

In this End User License Agreement, unless the contrary intention appears:

  • "ACADEMIC EDITION" means an edition of the SOFTWARE PRODUCT purchased for educational purposes at an academic discount price.
  • "EULA" means this End User License Agreement.
  • "SPARX" means Sparx Systems Pty Ltd A.C.N 085 034 546.
  • "Licensee" means YOU, or the organization (if any) on whose behalf YOU are taking the EULA.
  • "Registered Edition of Enterprise Architect" means the edition of the SOFTWARE PRODUCT which is available for purchase from the web site: http://www.sparxsystems.com/ea_purchase.htm.
  • "SOFTWARE PRODUCT" or "SOFTWARE" means Enterprise Architect, UML Case Tool, Desk Top, Professional, Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions, which includes computer software and associated media and printed materials, and may include online or electronic documentation.
  • "Support Services" means email based support provided by SPARX, including advice on usage of Enterprise Architect, investigation of bugs, fixes, repairs of models if and when appropriate, and general product support.
  • "SPARX support engineers" means employees of SPARX who provide on-line support services.
  • "Trial edition of Enterprise Architect" means the edition of the SOFTWARE PRODUCT which is available free of charge for evaluation purposes for a period of thirty (30) days.
  • "EA LITE" means the LITE version of Enterprise Architect that is distributed free of charge as a read-only viewer of .EAP files.

GRANT OF LICENSE

In accordance with the terms of this EULA YOU are granted the following rights:

  1. To install and use one copy of the SOFTWARE PRODUCT or, in its place, any prior version for the same operating system, on a single computer. As the primary user of the computer on which the SOFTWARE PRODUCT is installed, YOU may make a second copy for your exclusive use on either a home or portable computer.
  2. To store or install a copy of the SOFTWARE PRODUCT on a storage device, such as a network server, used only to install or run the SOFTWARE PRODUCT over an internal network. If YOU want to increase the number of users entitled to concurrently access the SOFTWARE PRODUCT, YOU must notify SPARX and agree to pay an additional fee.
  3. To make copies of the SOFTWARE PRODUCT for backup and archival purposes only.

EVALUATION LICENSE

The Trial version of Enterprise Architect is not free software. Subject to the terms of this agreement, YOU are hereby licensed to use this software for evaluation purposes without charge for a period of thirty (30) days.

Upon expiration of the thirty (30) days, the SOFTWARE PRODUCT must be removed from the computer. Unregistered use of Enterprise Architect after the 30-day evaluation period is in violation of Australian, U.S. and international copyright laws.

SPARX may extend the evaluation period on request and at their discretion.

If YOU choose to use this software after the 30 day evaluation period a license must be purchased (as described at http://www.sparxsystems.com/ea_purchase.htm ). Upon payment of the license fee, YOU will be sent details on where to download the registered edition of Enterprise Architect and will be provided with a suitable software 'key' by email.

EA LITE

Subject to the terms of this Agreement EA LITE may be installed on any machine indefinitely and free of charge. There are no fees or Sparx support services in relation to EA LITE.

ADDITIONAL RIGHTS AND LIMITATIONS

YOU hereby undertake not to sell, rent, lease, translate, adapt, vary, modify, decompile, disassemble, reverse engineer, create derivative works of, modify, sub-license, loan or distribute the SOFTWARE PRODUCT other than as expressly authorized by this EULA.

YOU further undertake not to reproduce or distribute license key-codes except under the express and written permission of SPARX.

If the Software Product purchased is an Academic Edition, YOU ACKNOWLEDGE THAT the license is limited to use in an educational context, either for self-education or use in a registered teaching institution. The Academic Edition may not be used to produce commercial software products or be used in a commercial environment, without the express written permission of SPARX.

ASSIGNMENT

YOU may only assign all your rights and obligations under this EULA to another party if YOU supply to the transferee a copy of this EULA and all other documentation including proof of ownership. Your license is then terminated.

TERMINATION

Without prejudice to any other rights, SPARX may terminate this EULA if YOU fail to comply with the terms and conditions. Upon termination YOU or YOUR representative shall destroy all copies of the SOFTWARE PRODUCT and all of its component parts or otherwise return or dispose of such material in the manner directed by SPARX.

WARRANTIES AND LIABILITY

WARRANTIES

SPARX warrants that the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, and any Support Services provided by SPARX shall be substantially as described in applicable written materials provided to YOU by SPARX, and SPARX support engineers will make commercially reasonable efforts to solve any problems associated with the SOFTWARE PRODUCT.

EXCLUSIONS

To the maximum extent permitted by law, SPARX excludes, for itself and for any supplier of software incorporated in the SOFTWARE PRODUCT, all liability for all claims, expenses, losses, damages and costs made against or incurred or suffered by YOU directly or indirectly (including without limitation lost costs, profits and data) arising out of:

  • YOUR use or misuse of the SOFTWARE PRODUCT
  • YOUR inability to use or obtain access to the SOFTWARE PRODUCT
  • Negligence of SPARX or its employees, contractors or agents, or of any supplier of software incorporated in the SOFTWARE PRODUCT, in connection with the performance of SPARX' obligations under this EULA, or
  • Termination of this EULA by either party for any reason.

LIMITATION

The SOFTWARE PRODUCT and any documentation are provided "AS IS" and all warranties whether express, implied, statutory or otherwise, relating in any way to the subject matter of this EULA or to this EULA generally, including without limitation, warranties as to: quality, fitness; merchantability; correctness; accuracy; reliability; correspondence with any description or sample, meeting your or any other requirements; uninterrupted use; compliance with any relevant legislation and being error or virus free are excluded. Where any legislation implies in this EULA any term, and that legislation avoids or prohibits provisions in a contract excluding or modifying such a term, such term shall be deemed to be included in this EULA. However, the liability of SPARX for any breach of such term shall if permitted by legislation be limited, at SPARX's option to any one or more of the following upon return of the SOFTWARE PRODUCT and a copy of the receipt:

  • If the breach relates to the SOFTWARE PRODUCT:
  • the replacement of the SOFTWARE PRODUCT or the supply of an equivalent SOFTWARE PRODUCT
  • the repair of such SOFTWARE PRODUCT
  • the payment of the cost of replacing the SOFTWARE PRODUCT or of acquiring an equivalent SOFTWARE PRODUCT, or
  • the payment of the cost of having the SOFTWARE PRODUCT repaired.
  • If the breach relates to services in relation to the SOFTWARE PRODUCT:
  • the supplying of the services again, or
  • the payment of the cost of having the services supplied again.

TRADEMARKS

All names of products and companies used in this EULA, the SOFTWARE PRODUCT, or the enclosed documentation may be trademarks of their corresponding owners. Their use in this EULA is intended to be in compliance with the respective guidelines and licenses.

Windows®, Windows 98, Windows NT, Windows ME, Windows XP, Windows Vista, Windows 2000 and Windows 2003 Server are trademarks of Microsoft®.

GOVERNING LAW

This agreement shall be construed in accordance with the laws of the Commonwealth of AUSTRALIA, in the state of Victoria.


Trademarks [Enterprise Architect User Guide]

Trademarks

Sparx Systems acknowledge the following trademarks and registered trademarks, which are used throughout the Enterprise Architect documentation.

Topic | Trademarks | Registered Trademarks
Microsoft Corporation | ActiveX™ Microsoft Office™ Microsoft Word™ VB.NET™ | Access® Active Directory® Excel® IntelliSense® JScript® Microsoft® MS Access® MS Access 2007® MSDE® SQL Server® Visio® Visual Basic® Visual SourceSafe® Visual Studio® Win32® Windows® Windows Vista®
The Object Management Group (OMG) | OMG™ Object Management Group™ The CORBA logo ORB™ Object Request Broker™ The CORBA Academy design OMG Interface Definition Language™ IDL™ CORBAservices™ CORBAfacilities™ CORBAmed™ CORBAnet™ Unified Modeling Language™ MOF™ CWM™ BPMN™ SoaML™ Model Driven Architecture™ MDA™ OMG Model Driven Architecture™ OMG MDA™ | The OMG Object Management Group logo The Information Brokerage® CORBA® CORBA Academy® IIOP® XMI® UML® The UML Cube logo
The Open Group |  | Archimate®
Methodologies Corporation | SOMF™ |
Embarcadero Technologies Inc | InterBase™ | Delphi®
Oracle Corporation | MySQL™ | Oracle® Java®
Python Software Foundation | Python™ |
Linux Mark Institute | Linux™ |
Innobase Oy | InnoDB™ |
Firebird Foundation Incorporated |  | FireBird®
Ingres Corporation | Ingres™ |
IBM | DB2 Informix |
Sybase Inc | Sybase Central™ | Adaptive Server® Adaptive Server® Anywhere Adaptive Server® Everywhere SQL Anywhere® Sybase®
Progress Software Corporation |  | OpenEdge® Progress OpenEdge®


Acknowledgements [Enterprise Architect User Guide]

Acknowledgements

Some parts of this application include code originally written by various authors and modified for use in Enterprise Architect.

Name | Detail | Link
Marquet Mike | Print listview contents | mike.marquet@altavista.net
Davide Pizzolato | CXImage Library © 7-Aug-2001 | ing.davide.pizzolato@libero.it
Neil Hodgson | Scintilla editor © 1998-2003 | neilh@scintilla.org
Others | Many thanks to all those who have made suggestions, reported bugs, offered feedback and helped with the beta-testing of Enterprise Architect Your help has been invaluable |


Order Enterprise Architect [Enterprise Architect User Guide]

Order Enterprise Architect

Enterprise Architect is designed, built and published by Sparx Systems, and available through the Sparx Systems website as either a:

  • Free, 30-day trial version (although you can extend the evaluation period)
  • Registered purchase version that provides the facilities of the edition you require, as unlocked by the license keys that you purchase from Sparx Systems

The trial version of Enterprise Architect is identical to the registered version with the exception that all diagrams are output to files with an embedded watermark. The trial software stops working after the trial period has elapsed.

On purchase of a suitable license or licenses, the registered version is made available for download.

The latest information on pricing and purchasing is available on the Purchase and Pricing page of the Sparx Systems website, and from Sparx Sales.

Purchase Options

  • On-line using a secure credit-card transaction
  • Fax
  • Check or equivalent
  • Bank transfer

Learn More:

  • The Trial Version
  • Editions Available
  • sales@sparxsystems.com
  • Pricing and Purchase Options


Installation [Enterprise Architect User Guide]

Installation

Enterprise Architect is distributed as a single executable setup file (.exe). After you execute this file, Enterprise Architect is immediately available to create projects as .EAP files.

The latest evaluation and registered versions of Enterprise Architect are always available from the Sparx Systems website.

The registered version is available through the registered user area of the web site, which requires a username and password to access. These are provided upon purchase of a license.

Topic

Detail

See also

System Requirements

The system requirements for installing Enterprise Architect are defined on the Enterprise Architect System Requirements page of the Sparx Systems website

Enterprise Architect System Requirements

Windows Vista

Under Windows Vista (with User Account Control turned on) an application starts with only Standard permissions, regardless of what level of authority the current user has

As a result, an installer run normally with an Admin account under Vista only has Standard privileges and either is not able to write to certain critical areas of the registry/file system, or redirects the write requests to a per-user virtualized registry/file system

Sparx Systems recommend that if you are installing on Windows Vista, always run the Enterprise Architect installer with Administrator privileges (right-click on the downloaded installer icon and select the Run as administrator menu option)

Install Enterprise Architect

Run the Enterprise Architect setup program. Generally you can accept all the default options without change

To place Enterprise Architect in a directory other than the default, enter the name of the destination when prompted

You might be prompted to restart your computer when the installation completes; although this is not always necessary (if you already have the components Enterprise Architect requires installed on your computer), you should restart just to be certain

Installation on Linux

If you intend to run Enterprise Architect on Linux, refer to the page Installing Enterprise Architect inside Wine, on the Sparx Systems website

To support the Scripting facility in the Corporate and extended editions of Enterprise Architect, you must also install Internet Explorer 6.0 or later revisions

Installation inside Wine

Using a Third Party DBMS as Model Repository

If you plan to use SQL Server, MySQL, PostgreSQL, Access 2007, Sybase Adaptive Server Anywhere or Oracle 9i, 10g or 11g as a model repository, then you must use the Corporate, Business and Software Engineering, Systems Engineering or Ultimate editions of Enterprise Architect

You also require additional files and supplementary installation processes; please note that installation and maintenance of these database management systems is not covered under the support agreement

Users planning to use SQL Server, MySQL, PostgreSQL, Sybase Adaptive Server Anywhere, Access 2007 or Oracle 9i, 10g or 11g as their model repository can access scripts that create the required data structures for the choice of DBMS, from the Sparx Systems website; to access these scripts, please follow the links at right

Corporate Edition Resources Page

Trial Corporate Edition Resources Page

Notes:

  • Enterprise Architect requires Read/Write access to the program files directory where Enterprise Architect has been installed


Register a Full License [Enterprise Architect User Guide]

Register a Full License

The trial version of Enterprise Architect available for download is an evaluation version only. For the full version you must first purchase one or more licenses.

The license supplied determines which edition (Enterprise Architect Desktop, Professional, Corporate, Business and Software Engineering, System Engineering or Ultimate) is activated after installation.

The Corporate, Business and Software Engineering, System Engineering and Ultimate editions can be activated by either a private license key or a shared (floating) license key. Shared license keys, for a user population that includes temporary users, are checked out of and in to a Sparx Systems key store.

Use To:

  • Obtain and activate the registered version of Enterprise Architect

How To:

Step

Action

See also

1

Purchase one or more licenses

Once you have paid for a licensed version of Enterprise Architect, you receive (via email or other suitable means):

  • a license key or keys
  • a web site address from which to download the full version
  • if you have purchased a Sparx Systems key store, a web site address from which to download the key store

Editions Available

2

Save the license key(s) and download the latest full install package from the address supplied

3

Run the setup program to install the full version

4

Open Enterprise Architect from the Start Menu or desktop icon

The License Management dialog displays

5

Click on the Add Key button

The Add Registration Key dialog displays; register your key

Add License Key

6

Click on the OK button

The full version is now activated on your PC, and Enterprise Architect displays the message:

Registration succeeded! Thank you for purchasing Enterprise Architect <type> Edition

Notes:

  • Private license keys and shared license keys have different formats, so you cannot use one in place of the other.

Learn More:

  • Upgrade an Existing License
  • Register Add-In


Help and Support [Enterprise Architect User Guide]

Help and Support

Enterprise Architect has three main help and information systems to assist you in using the product:

  • Learning Center
  • Enterprise Architect Help
  • The Sparx Systems website.

In addition Sparx Systems recommend that you fully explore the sample project supplied with Enterprise Architect. It assists you in learning to use Enterprise Architect and offers tips on getting the most out of Enterprise Architect's features. Click on the EAExample option on the Enterprise Architect Start Page.

Topic

Detail

See also

Learning Center

The Enterprise Architect Learning Center provides context-sensitive guidance, tools, demonstrations and other online resources to help you understand any area of Enterprise Architect that you are interested in.

The Learning Center automatically displays on the right of the screen when you first open Enterprise Architect, showing the Getting Started topics. You can select other task areas by clicking on the drop-down arrow in the toolbar.

Learning Center

Enterprise Architect Help

Enterprise Architect Help provides comprehensive documentation of Enterprise Architect and covers every aspect and facility of the product. To access Help within Enterprise Architect:

  • Click on the Help icon ( NewHelp ) in the various toolbars
  • Select the Help | Help Contents menu option
  • Click on the Help button on a dialog (for Help specific to that dialog).

Enterprise Architect Help is extensive; if you cannot quickly locate the topic you require in the online contents list, you can use one of two search facilities:

  • Click on the Index tab, type in a keyword or key phrase appropriate to the subject you require help for, and press ( Enter ); double-click on the appropriate index item
  • Click on the Search tab, type in a word or phrase to search for, and click on the List Topics button; double-click on the required topic.

The Enterprise Architect Help is also available separately from the product, in different formats.

Available Help File Formats

Sparx Systems Web Site

The Sparx Systems web site is also extensive, and provides information and announcements concerning the company and its full range of products, as well as tutorials, white papers, templates and solutions.

It also provides a user forum, community site (see below) and support network; Sparx Systems are highly responsive to user feedback and requirements, and the web site enables rapid communication concerning problems, solutions and enhancements.

You can access the web page and user forum within Enterprise Architect from the View | More Project Tools | Internal Web Browser menu option, and through the Online Resources topics in the Learning Center.

Sparx Systems Web Site

Enterprise Architect User Forum

Learning Center

Community Site

The Sparx Systems website also hosts the Sparx Systems Enterprise Architect Community Site. This is a central location for the Enterprise Architect community to publish resources and share experiences.

From this site you can download the latest news, tutorials, resources, best practices, tips, techniques and user-generated content for Enterprise Architect. You can also, as a registered author, contribute content and share your expertise with the wider community.

Sparx Systems Enterprise Architect Community Site

Learn More:

  • Contacting Sparx Support


Available Helpfile Formats [Enterprise Architect User Guide]

Available Helpfile Formats

You can access the latest Enterprise Architect help files from the following locations:

Format | Link
.CHM | www.sparxsystems.com/bin/EA.chm
.CHM inside a .ZIP file: | www.sparxsystems.com/bin/EAHelp.zip
.PDF | www.sparxsystems.com/bin/EAUserGuide.pdf
.HTML | www.sparxsystems.com/EAUserGuide/index.html

Version and release date information for the help files can be found at:

Topic | Link
Help file | www.sparxsystems.com/ea_downloads.htm#Helpfiles,
Help file(registered users). | www.sparxsystems.com/registered/reg_ea_down.htm#Helpfiles


Support [Enterprise Architect User Guide]

Support

Technical support for Enterprise Architect is available to registered users. Responses to support queries are sent by email.

Sparx Systems endeavors to provide a rapid response to all product-related questions or concerns.

  • Registered users can lodge a support request, by visiting: http://www.sparxsystems.com/registered/reg_support.html
  • Trial users can contact Sparx Systems with questions regarding their evaluation at: support@sparxsystems.com
  • An online user forum is also available for your questions and perusal, at http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi


Getting Started [Enterprise Architect User Guide]

Getting Started With UML Modeling

This guide helps you to understand the options available when you start Enterprise Architect, and to quickly gain an understanding of how to use these options to create models.

Topic | Link
After starting Enterprise Architect, use the Quick Start tutorial to immediately create a project | A Quickstart Tutorial
Read about work areas applicable to certain Project Roles | Project Roles
Review the Enterprise Architect User Interface, or workspace | Enterprise Architect User Interface

At various points throughout the Enterprise Architect Help, there are further Quick Start topics and sections to help you use the system immediately to experiment with a feature of Enterprise Architect. Use the Help Index tab and search for Quick Start to locate these topics.

Learn More:

  • Start Enterprise Architect


Basics [Enterprise Architect User Guide]

Basics

When you install Enterprise Architect on your computer, a new program folder called Enterprise Architect is created in your Start menu (unless you changed the default name during installation).

You can start Enterprise Architect from the icon created on your Windows desktop during installation, or alternatively:

  1. Open the Windows Start menu
  2. Locate the Enterprise Architect program folder
  3. Select Enterprise Architect

After a short pause, the Start Page displays. From this page you can:

Topic | Link
Open a project file (.EAP file) | Open a project file
Create a new project (.EAP file) | Create a new project
Connect to a DBMS repository(Corporate and extended editions) | Connect to a DBMS repository

Notes:

  • By default, when you install Enterprise Architect, an empty 'starter' project called EABase.EAP is installed, as well as an example project named EAExample.EAP. We recommend that new users select the EAExample file and explore it in some detail while you become familiar with UML and software engineering using Enterprise Architect
  • Enterprise Architect.EAP files default to use Jet 3.5 as the database engine. This does not support unicode character sets. If you want to use unicode character sets (for example, to provide user interface texts in languages other than your Windows-defined native language), you must either upsize to a DBMS repository or set JET 4.0 as the database engine. Resetting the database engine ensures compatibility with .EAP files that support unicode character sets and that are in turn compatible with versions of MS Access later than Access 97

    If your .EAP project is not in a Jet 4.0 database, you should also download a copy of the Jet 4.0 EABase model from the Sparx Systems website, and do an EAP to EAP transfer of your model into the Jet 4.0 file

Learn More:

  • Start Page
  • A Quick Start Tutorial, to begin a guided exploration of Enterprise Architect immediately
  • Common Tasks, to get an overview of the kind of work you might perform with Enterprise Architect
  • Upsize to a DBMS Repository
  • General Options, to set JET 4.0 as database engine
  • Sparx Systems website for the Jet 4.0 EABase model
  • Perform a Data Transfer


Common Tasks [Enterprise Architect User Guide]

Common Tasks

Enterprise Architect is a powerful modeling tool that can be used by project managers, business analysts, developers and testers alike to build business, real-time and software systems.

The following list outlines some of the common tasks performed by Enterprise Architect and describes some of the tools that you might be required to use.

Topic

Detail

Manage Projects Effectively

Enterprise Architect provides all the tools necessary for the planning, execution and successful completion of a project

  • Create a shared vision of your project, improve communication and help team members agree upon the design of a proposed system
  • Evaluate project risk factors, report any changes or defects and develop strategies to tackle potential problems
  • Help estimate the amount of time and effort required to complete a project and maximize staff utilization
  • Use Auditing, Project Baselines and User Access Controls to better manage change in a collaborative environment

Analyze Strategic Business Needs

A Business Analyst is responsible for gathering requirements, modeling potential solutions and evaluating the business needs of an organization

  • Build a coherent picture of how a business operates through requirements gathering, Use Case analysis and modeling business rules
  • Help achieve business process improvement and implement change using tools such as Strategic Models, Use Case Scenarios, Business Rule Models, Flow Charts, Auditing and the Team Review window

Build and Develop Systems

The developer is responsible for implementing a solution using a range of tools

  • Bring the power and benefits of Enterprise Architect into your favorite Integrated Development Environment
  • Use Enterprise Architect's in-built support for writing code, including syntax highlighting, line numbering, auto completion, bookmarking and automatic indentation
  • Create breakpoints to step through code execution, examine variables and view error messages via the debug output
  • Apply Visual Execution Analysis to identify costly function calls, explain system behavior and establish the sequence of events that occur immediately prior to system failure
  • Use Enterprise Architect's support for round trip engineering and synchronizing source code with a corresponding model
  • In addition to many popular programming languages, create powerful database solutions that automatically generate DDL scripts for more than 10 different Database Management Systems

Test and Investigate

Quality Assurance teams test software to identify defects, verify that it satisfies all requirements and ensure that it produces expected results

  • In addition to the integrated JUnit and NUnit testing capabilities, Enterprise Architect enables you to create and manage test scripts for model elements, covering unit, integration, scenario, system and acceptance tests
  • Visualize the execution of code to better understand how applications work and the sequence of events that leads to program failure


A Quickstart Tutorial [Enterprise Architect User Guide]

A Quickstart Tutorial

Welcome to Enterprise Architect!

This quick-start tutorial is designed to help you get up to speed with Enterprise Architect.

As you read through this tutorial, it is recommended that you have Enterprise Architect open so that you can try out the tasks described. By the end you should be able to begin modeling your own business/software projects with Enterprise Architect.

The tutorial guides you through a number of important basic tasks:

Topic | Link
Creating a new Project | Creating a New Project
Adding Views to your Model | Views
Adding Packages to your Model | Packages
Adding Diagrams | Adding Diagrams
Adding elements to your model packages | Elements
Creating links between model elements | Links
Refining the model | Refining the Model

Throughout the descriptions there are hyperlinks to more detailed information on a range of topics.


Create Project Scenario [Enterprise Architect User Guide]

Create Project Scenario

A project is a single file or repository-based store for one or more Models.

The first step in getting started with Enterprise Architect is to either open an existing project, or create a new one.

In this example we create a new file-based project and add some template-based models to kick-start our modeling.

Step | Action | Result
1 | Start Enterprise Architect | The Open Project dialog displays (If the dialog does not appear, press (Ctrl+O) to invoke it)
2 | Click the New Project button to select a suitable location and name for your new project | The standard Windows file browser dialog displays. File-based Enterprise Architect projects are named with a .EAP extension
3 | Locate a suitable folder for your project and enter a distinctive name Press the Save button to continue | Enterprise Architect creates a new project file and places it in the specified location The project is then opened automatically and the New Model Wizard displays
4 | In the left hand column ensure that Default is selected - and in the right hand side tick the Use Case View check box Click on the OK button | The Model Wizard automatically creates a new Use Case model for you, with an initial diagram, some notes and default elements to help get you started At this stage all your changes have been saved to file and do not require further action

Your new project has now been created, with a simple Use Case View added for you to explore and tailor to your requirements. You can re-open your project at any time by double-clicking on it in a file browser. It should also appear in your Recent Projects list on the Start page.


Add a View To Your Model [Enterprise Architect User Guide]

Add a View To Your Model

A View is a top level package, within a model. It can be categorized by purpose using different icon types, such as Use Case View, Component View or Deployment View. Views are used to contain packages, diagrams and elements - the building blocks of your model.

Use To:

  • Create a new View in your project

How To:

Step

Action

See also

1

Select a model root node in the Project Browser, then either:

  • Click the Add a Package button [image] on the Project Browser toolbar.
  • Select Project | New Package
  • Right-click the model root node, from the context menu select New View
  • Press ( Ctrl + W )

The Create New View dialog displays

Views

2

Enter an appropriate name for the new View

3

Click the appropriate radio button to select an icon for the View

4

Click on the OK button

The Create New View dialog closes

The new View is created as a child of the selected model root node

Learn More:

  • Add a package to your model
  • Create a new diagram
  • Add an element
  • Read more about views

Notes:

  • There are six types of View, which represent conventional ways of categorizing the purpose of a Model View; these Views represent different structural or behavioral aspects of the same model


Add a Package to a Model [Enterprise Architect User Guide]

Add New Packages

A Package is a container of model elements, and is displayed in the Project Browser as a 'folder' icon. A Package is required to hold the model building blocks, such as diagrams, elements and other packages.

So, to begin developing your Model, you must create an initial package for your first diagrams.

Use To:

  • Add new packages to your model

How To:

Step

Action

See also

1

Select a Package or View in the Project Browser, then either:

  • Click the Add a Package button [image] on the Project Browser toolbar.
  • Press ( Ctrl + W )
  • Select Project | New Package
  • Right-click the Package or View and, from the context menu, select Add | Add Package

The New Model Package dialog displays

2

Enter a suitable name for the package

3

Optionally, clear the check mark from Automatically add new diagram

4

Click on the OK button

The New Model Package dialog closes

A new package is created as a child of the selected package or View

Notes:

  • When the Automatically add new Diagram option is selected, Enterprise Architect also creates a default diagram within the new package, to speed your development

Learn More:

  • Creating Diagrams
  • Add Elements
  • Move Components
  • Learn more about the Project Browser


Creating Diagrams [Enterprise Architect User Guide]

Creating a New Diagram

A diagram is a visual representation of the elements of your model, their attributes and characteristics, and how they are connected and/or interact with each other.

Different diagram types show different aspects of the model and the relationships between elements.

Use To:

  • Add new diagrams to your model

How To:

Step

Action

See also

1

Select a package or View in the Project Browser, then either:

  • Click on the Add a Diagram button [image] on the Project Browser toolbar
  • Press ( Ctrl + Insert )
  • Select Project | New Diagram
  • Right-click the package or View and, from the context menu, select Add | Add Diagram

The New Diagram dialog displays

2

Enterprise Architect provides a default diagram name, that is the same name as the parent package

Update the diagram name as required

3

Select a category of diagrams in the left hand pane

The list of available diagram types in the right hand pane is updates according to your selection

4

Select the type of diagram to add from the right hand pane

5

Click on the OK button

The New Diagram dialog closes

A new diagram is created as a child of the currently selected package

The new diagram is opened in the Diagram View, ready for editing

Notes:

  • When you create a package, if you leave the Automatically add new Diagram option selected, the New Diagram dialog displays automatically

Learn More:

  • Add Elements
  • Move Elements
  • Learn more about UML diagrams


Creating New Elements on Diagrams [Enterprise Architect User Guide]

Creating New Elements on Diagrams

Models are constructed from elements, each of which has its own meaning, rules and notation. Generally, when you create a new element in your model, you want to use that element on a diagram. The simplest way to do this is to create the element directly on the diagram.

Use To:

  • Create new elements on diagrams in your model

How To:

Step

Action

See also

1

Ensure that the Diagram Toolbox is visible

To display the Diagram Toolbox, either:

  • Select View | Diagram Toolbox
  • Press ( Alt + 5 )

2

Ensure that the diagram on which the elements are to be created is open in the Diagram View

To open the diagram, double-click on the diagram name in the Project Browser

The diagram opens and the Toolbox is updated to display the categories of elements and relationships that are applicable to that type of diagram

Diagram View

3

Click on the appropriate icon in the Toolbox to select the type of element to create

The element type is highlighted in the Toolbox

4

Click on the diagram at the location where you want to place the element

The new element is created as a child of the package that contains the diagram, and is placed onto the diagram at the cursor position

The element Properties dialog displays

5

Use the Properties dialog to define characteristics of the element as required

Properties Dialog

6

Click on the OK button

The Properties dialog closes

Notes:

  • You can also drag or paste existing elements onto a diagram from the Project Browser
  • If you are creating several elements of one type, after creating the first just press ( Shift+F3 ) or ( Ctrl +Click ) to create the next element of that type

Learn More:

  • Paste From the Project Browser
  • Add connectors
  • The Quick Linker
  • Move elements
  • UML elements


Adding Connectors [Enterprise Architect User Guide]

Add Connectors

Connectors define specific relationships between specific elements, so you usually create them directly on the diagram by dragging the required relationship type from the Diagram Toolbox. As for elements, the Toolbox automatically presents the connector or relationship types appropriate to the type of diagram.

Use To:

  • Define a relationship between two model elements on a diagram

How To:

Step

Action

See also

1

Ensure that the Diagram Toolbox is visible

To display the Diagram Toolbox, either:

  • Select View | Diagram Toolbox or
  • Press ( Alt + 5 )

2

Ensure that the diagram containing the elements to be connected, is open in the Diagram View

To open the diagram, double-click on the diagram name in the Project Browser

The selected diagram opens and the Toolbox is updated to display the categories of elements and relationships that are applicable to that diagram type

Diagram View

Creating Elements on Diagrams

3

Click on the required connector in the Toolbox to select the type of connector to draw

The connector type is highlighted in the Toolbox

4

Click on the source element in the relationship, then drag across to the target element

The selected connector is drawn between the two elements

The connector Properties dialog displays

5

Use the Properties dialog to define the characteristics of the connector as required

Properties Dialog

6

Click on the OK button

The Properties dialog closes

Notes:

  • If you are creating several connectors of one type, after creating the first just click on the appropriate source element and press ( F3 ) to create the next connector of that type
  • As you drag a connector, you can press ( Shift ) to create a bend in the connector; if necessary, you can put several bends in the connector line, pressing ( Shift ) every time you want to change direction
  • To roll back the bends, keep holding the left mouse button down and press ( Backspace ) as many times as is necessary
  • To find out more about the type of connector you have dragged on to a diagram, right-click on the connector and select the UML Help menu option, which displays a Help page on the connector type

Learn More:

  • Quick Linker - Create Connectors
  • Create Connector in Project Browser
  • UML Connections


Modify Properties [Enterprise Architect User Guide]

Modify Properties

When you create an element and connect it to another element, you usually have to define various characteristics of both the element and the connector to identify the purpose and function they represent. You do this using a Properties dialog.

When you create elements, Enterprise Architect automatically names and numbers them by type - for example, Class1, Class2 - so you should at least change the Name field to more easily identify each element. Enterprise Architect does not automatically name connectors, but for many connector types you should provide a name that describes the purpose of the connection.

Use To:

  • Modify the characteristics of a model element or connector

How To:

Step

Action

See also

1

Either:

  • Double-click on an element or connector in the diagram
  • Right-click an element in the Project Browser and, from the context menu, select Properties
  • Right-click a connector in a diagram and, from the context menu, select Properties

The appropriate Properties dialog displays

2

Modify the element or connector characteristics as required

Element Properties Dialog

Connector Properties Dialog

3

Click on the OK button

The Properties dialog closes

The modifications are saved; the Project Browser and diagrams that contain the element are updated as necessary

Notes:

  • Enterprise Architect is initially configured to display the Properties dialog automatically when you create an element or connector, but it is easy (and often convenient) to turn the dialog display off
  • If the default display has been turned off, you can display the Properties dialog by either double-clicking on the element or connector in the diagram or by right-clicking on it in the Project Browser and selecting the Properties menu option

Learn More:

  • Element Properties Dialog
  • Connector Properties Dialog


Moving Elements, Diagrams and Connectors [Enterprise Architect User Guide]

Moving Elements, Diagrams and Connectors

You have created a project containing packages, diagrams and elements, and you have connected the elements. You might have arranged your components in the wrong project structure. How do you change where things are?

Topic | Link
Changing the Project Browser list order - re-arrange the order of items in the Project Browser | Move Elements Within a Package
Moving elements between packages - move diagram, elements and child packages, from one parent package to another | Move Elements Between Packages
Moving elements on a diagram - re-arrange the position of diagram elements | Move Elements in a Diagram
Moving elements between diagrams - cut an element from one diagram and paste it onto another | Move Elements Between Diagrams
Moving connectors on a diagram - re-link a source element to a different target element | Move Connectors on a Diagram

Learn More:

  • Delete Components
  • Arrange Connectors
  • Order Package Contents


Move Elements Within a Package [Enterprise Architect User Guide]

Move Elements Within a Package

In the Project Browser, the contents of a package are listed in the order: diagrams, child packages, elements. Elements are further arranged in order of type.

Within a type, components are initially listed in alphabetical or numerical order. You can change the order in which items are listed within their groups.

Use To:

  • Adjust the order in which items are listed in the Project Browser

How To:

Step | Action | See also
1 | Click on an item in the Project Browser, then click on PBUparrow or PBDownarrow in the toolbar at the top of the window The selected item is moved up or down in the Project Browser accordingly, but remains within its particular group of items |
2 | To revert to listing components in alphabetical order, in the Project Browser right-click on the package and from the context menu select Contents | Reset Sort Order |


Move Elements Between Packages [Enterprise Architect User Guide]

Move Elements Between Packages

When creating the various diagrams, elements and packages that make up your model, at some point you might create an item under the wrong parent package.

In Enterprise Architect it is quite simple to relocate a model item from one parent package to another. Items can be relocated to a higher level package, a lower level package or a different package at the same level.

Use To:

  • Move a diagram from one package to another
  • Move an element from one package to another
  • Move a package from one parent package to another

How To:

Step | Action | See also
1 | In the Project Browser, click and drag the model item to be relocated from its existing position, and drop it onto the new parent package The dragged item and all of its child items are relocated to the target package |

Notes:

  • Moving elements in the Project Browser does not affect the use of elements in diagrams
  • Moving an element or package has no effect on any relationships that the element, package, or elements within the package have
  • Moving a diagram generally does not affect the location of elements in packages
  • However, elements of certain types, such as Initial Node, Decision and Final Node, are used only within one diagram and have no meaning outside that diagram; if you move a diagram containing these elements, they are moved to the new parent package with the diagram

Learn More:

  • Initial Node
  • Decision
  • Final Node


Move Elements in a Diagram [Enterprise Architect User Guide]

Move Elements in a Diagram

To improve the understanding of a diagram or to simply improve the presentation, you might want to adjust the position of the elements on your diagram.

Use To:

  • Adjust the position of the elements on your diagram

How To:

For coarse adjustments:

Step | Action | See also
1 | Click on a diagram element and drag it to its new position |

For fine adjustments:

Step | Action | See also
1 | Click on a diagram element to select it |
2 | While holding down the ( Shift ) key, press the arrow keys to move the selected element one pixel at a time in the direction of the arrow ( Shift + #,$,",! ) |


Move Elements Between Diagrams [Enterprise Architect User Guide]

Move Elements Between Diagrams

If an element is in the wrong diagram, Enterprise Architect offers functionality that simplifies the process of moving the element from one diagram to another.

Use To:

  • Move elements from one diagram to another
  • Copy elements from one diagram to another

How To:

To move elements from one diagram to another, follow the steps below:

Step

Action

See also

1

In the Project Browser, double-click the name of the diagram that contains the element to be moved

The diagram opens in the Diagram View

2

Click on the element in the diagram to select it

3

Either:

  • Click on the Cut button ( [image] ) in the Default Tools toolbar, or
  • Press ( Ctrl + X )

The selected element is copied to the clipboard

However, the element remains visible on the current diagram until the clipboard content is pasted onto a different diagram

The model element itself is not affected in any way

4

In the Project Browser, double-click on the name of the diagram into which the element is to be moved

The diagram opens in the Diagram View

5

Either:

  • Click on the Paste button ( [image] ) in the Default Tools toolbar, or
  • Press ( Ctrl + V ) or ( Shift + Insert )

The element is pasted from the clipboard onto the current diagram and removed from the original (source) diagram

Again, the model element itself is not affected in any way

To copy elements from one diagram to another, follow the steps below:

Step

Action

See also

1

In the Project Browser, double-click the name of the diagram that contains the element to be moved

The diagram opens in the Diagram View

2

Click on the element in the diagram to select it

3

Either:

  • Click on the Copy button ( [image] ) in the Default Tools toolbar, or
  • Press ( Ctrl + C )

The selected element is copied to the clipboard

Neither the current diagram, nor the model element itself are affected in any way

4

In the Project Browser, double-click on the name of the diagram into which the element is to be copied

The diagram opens in the Diagram View

5

Either:

  • Click on the Paste button ( [image] ) in the Default Tools toolbar, or
  • Press ( Ctrl + V ) or ( Shift + Insert )

The element is pasted from the clipboard onto the current diagram

Again, neither the source diagram nor the model element itself are affected in any way

Notes:

  • By selecting more than one element at a time, you can move or copy multiple elements in the same operation
  • You can remove an element from a diagram by selecting it, then pressing the Delete key
  • You can place an element onto an open diagram by locating the element in the Project Browser, then dragging it onto the diagram


Connect a Different Element on a Diagram [Enterprise Architect User Guide]

Connect a Different Element on a Diagram

When creating connectors in your diagrams, at some point you might connect the wrong pair of elements. Enterprise Architect provides a simple method to enable you to move the end of a connector from one element to another.

Use To:

  • Change the source element of a connector from the current element to another
  • Change the target element of a connector from the current element to another

How To:

Step | Action | See also
1 | In the diagram, click on the connector to select it The connector is highlighted with 'handles' at each connector end |
2 | Move the cursor over the 'handle' at the end of the connector to reconnect The cursor changes to a small arrow ( [image] ) pointing upwards to the right |
3 | Click and drag the connector end to the other element to connect to When you release the mouse button, the connector breaks from the original element and reconnects to the new element |

Notes:

  • You can also tidy up a connection by dragging the end of the connector to a better position on the edge of the element, or move both ends at once by dragging the middle of the connector


Delete Elements [Enterprise Architect User Guide]

Delete Elements

You can delete the elements of a model from a diagram or from the Project Browser.

Topic | Link
Remove elements from a diagram: this is essentially 'hiding' the element in that particular view of the model | Remove Elements from a Diagram
Delete elements from a model - the element, its properties and any child elements or diagrams it has are all deleted; the element is removed from all diagrams on which it appears | Delete Elements from your Model

Learn More:

  • Delete Connectors


Remove Elements From a Diagram [Enterprise Architect User Guide]

Remove Elements From a Diagram

Removing an element from a diagram does not delete the element from the model and therefore does not alter the structure of the underlying model. When you remove an element from a diagram, you are essentially 'hiding' the element in that particular view of the model.

Use To:

  • Remove one or more elements from a diagram

How To:

To remove elements from a diagram, follow the steps below:

Step

Action

See Also

1

Open the diagram that is to be modified

Either:

  • Double-click on the diagram name in the Project Browser, or
  • Make an already open diagram the 'active' diagram, by clicking on its tab in the Diagram View

2

Either:

  • Press ( Ctrl+A ) to select all of the elements in the diagram, or
  • Click on an element in the diagram to select it (and use ( Ctrl + Click ) to add further elements to your selection, or to remove elements from the selection)

The selected elements are highlighted in the diagram

3

Either:

  • Press ( Delete ), or
  • Press ( Ctrl + D ), or
  • Right-click a selected element and from the context menu select Delete <element name> or Delete Selected Elements.

The selected elements are removed from the diagram.

Notes:

  • You can 'undo' the removal of a diagram element, by pressing ( Ctrl + Z ), or by clicking the Undo button [image] , in the Default Tools toolbar


Delete Elements From Your Model [Enterprise Architect User Guide]

Delete Elements From Your Model

You can delete elements from your model, working either from the Project Browser or from a diagram.

When you delete an element from your model, the element, its properties and any child elements or diagrams it contains are all deleted. The deleted element is removed from all diagrams on which it appears and all relationships that it was involved in are also deleted from the model.

Use To:

  • Delete one or more packages, elements or diagrams from your model

How To:

To delete one or more items from your model using the Project Browser, follow the steps below:

Step

Action

See Also

1

In the Project Browser, click on an item to select it

To select additional items, or to remove items from the selection, use ( Ctrl + Click ) or ( Shift + Click )

The selected items are highlighted in the Project Browser

2

Either:

  • Press ( Ctrl + Delete ) or
  • Right-click on one of the selected elements, then select the Delete selected item(s) context menu option

A confirmation dialog is displayed

3

Click on the Yes button

The selected items are deleted from your model

To delete one or more items from your model using a diagram, follow the steps below:

Step

Action

See Also

1

To open the diagram containing the items to be deleted from your model, either:

  • Double-click on the diagram name in the Project Browser, or
  • Make an already open diagram the 'active' diagram, by clicking on its tab in the Diagram View

2

Either:

  • Press ( Ctrl+A ) to select all of the elements in the diagram, or
  • Click on an element in the diagram to select it, then use ( Ctrl + Click ) to add or remove specific elements to and from the selection

The selected elements are highlighted in the diagram

3

Press ( Ctrl+Delete )

A confirmation dialog is displayed

4

Click on the Yes button

The selected elements are removed from the model

Notes:

  • Deleting a package completely removes the package and all its contents - diagrams, child packages and elements - from the model
  • Deleting an element completely removes the element and its properties, connectors, child elements and child diagrams from the model, and from every diagram that contains it
  • Deleting a diagram completely removes the diagram from the model, but not the diagram's component elements; they remain in the parent package


Delete Connectors [Enterprise Architect User Guide]

Delete Connectors

It is possible to hide a connector on a diagram, or to delete it entirely from the model, removing the relationship between the previously connected elements.

Displaying all of the connectors on a complex diagram can make the diagram somewhat confused, so it can be useful to hide some of the connectors, to clarify a specific aspect of a more complex picture.

Use To:

  • Hide a connector on a diagram
  • Delete a relationship between two elements in your model

How To:

To hide or remove a connector between two elements, follow the steps below:

Step

Action

See also

1

Open the diagram containing the connector of interest

Either:

  • Double-click the diagram name in the Project Browser, or
  • Make an already open diagram the 'active' diagram, by clicking on its tab in the Diagram View

2

Click on the connector in the diagram to select it

The selected connector is highlighted in the diagram

3

Either:

  • Press ( Ctrl + Delete )
  • Right-click on the connector and, from the context menu, select Delete Connector
  • Press ( Delete )

If you press ( Ctrl + Delete ), a dialog displays prompting you to confirm that you want to delete the connector (and the relationship it describes) from the model

Otherwise, the Remove Connector dialog displays

4

On the Remove Connector dialog, choose one of the options:

  • Hide the connector
  • Delete the connector from the model

Hide the connector obscures the connector on the current diagram; you cannot see it but the relationship between the two elements still exists and is shown on other diagrams containing the two elements together, and on all reports of connectors between the elements

Delete the Connector from Model removes the relationship that exists between the two elements; the connector is removed from the current diagram, from all other diagrams on which it is shown, and from all reports on connectors between the two elements

Hiding the Connector

Relationships

5

Optionally, tick the checkbox Don't ask again

Selecting this option prevents the Remove Connector dialog from being displayed next time you select the Delete Connector command; the command uses the setting you last used on the dialog

Make sure that you have selected the right option to use as your default

6

Click on the OK button

The connector disappears from the diagram

If you selected Delete the connector from the model, the relationship represented by the connector is also deleted from your model

Notes:

  • You cannot select multiple connectors - it is only possible to select one connector at a time
  • If you select the Don't ask again checkbox on the Remove Connector dialog, you can reset this option on the Links page of the Options dialog (Tools | Options | Links)
  • Selecting the Hide the connector option in the Remove Connector dialog, has the same effect as hiding the connector on the Links tab of the source element Properties dialog, or using the Visibility | Hide Connector context menu option

Learn More:

  • To identify and reveal hidden connectors, see the Links topic


Save Changes [Enterprise Architect User Guide]

Save Changes

Throughout much of your work in Enterprise Architect, any changes you make are automatically saved when you close the dialog (data entry window) on which you made the changes. In some cases the dialog contains a Save or Apply button, which enables you to save your changes and then keep working on the dialog.

If there is no specific dialog, such as when you create a diagram, you can save your work by:

  • Clicking on the Save icon in the Diagram toolbar ( TBSave )
  • Pressing the ( Ctrl + S ) keyboard keys, or
  • Selecting the Diagram | Save menu option

Often, Enterprise Architect does not let you close a screen without confirming that you want to save or discard your changes.

You can also save your diagram changes automatically, by selecting the Auto Save Changes checkbox on the Diagram Behavior page of the Options dialog.

Learn More:

  • So far you have been using the Project Browser and Diagram View to develop your project; at this point you should find out a bit more about the other facilities of the Enterprise Architect User Interface or Application Workspace
  • When you have finished exploring the User Interface topics, go to the Summary of Typical Tasks to identify areas of Enterprise Architect that provide particular support for your job role
  • Explore other options for managing the way your diagrams display and function, on the Diagram Behavior page


Create Requirements [Enterprise Architect User Guide]

Create Requirements

The following example illustrates how to create a requirement, name that element and provide appropriate notes.

Use To:

  • Create a new Requirement element on a Requirements diagram.

How To:

The following images illustrate how to create a requirement, name that element and provide appropriate notes.

To access the Properties dialog, press (Alt + Enter).


Requirement Trace Connector [Enterprise Architect User Guide]

Requirement Trace Connector

Use the Quick Linker to create an appropriate connector between two Requirement elements.


Typical Project Roles [Enterprise Architect User Guide]

Typical Project Roles

Enterprise Architect performs a number of tasks that are suited to a variety of professions. This topic describes some common working practices with Enterprise Architect for a range of project roles. There are tools for the roles of:

Topic | Link
Business Analyst, to create high-level models of business processes | Business Analyst
Software Architect, to map functional requirements, perform real time modeling of objects, design the Deployment model and detail the deliverable components | Software Architect
Software Engineer, to map Use Cases onto Class diagrams, detail the interactions between Classes, define the system deployment and define software packages | Software Engineer
Developer, to perform round trip code engineering, including reverse engineering of existing code and generation of code from Class elements | Developer
Project Manager, to assign resources to elements, measure risk and effort, estimate project sizes, and manage element status, change control and maintenance | Project Manager
Tester, to create test scripts against elements in the modeling environment | Tester
Implementation Manager, to track and assign maintenance-related items to elements within Enterprise Architect, to rapidly capture and keep records of maintenance tasks such as issues, changes, defects and tasks, and to trace the maintenance of the items and processes involved in system deployment | Implementation Manager
Technology Developer, to create customized additions to the functionality already present within Enterprise Architect | Technology Developer
Database Developer, to develop databases, including modeling database structures, importing database structures from an existing database and generating DDL for rapidly creating databases from a model | Database Developer

You can review a summary of the typical tasks supported for each role, or click on the appropriate role title to explore how Enterprise Architect can assist you in carrying out that role within a model driven project.

Learn More:

  • Summary of Typical Tasks


Summary of Typical Tasks [Enterprise Architect User Guide]

Summary of Typical Tasks

Throughout a design and development project there are many different tasks to be performed, which could be carried out either by one person or - more probably - by members of a team with different responsibilities. In either case, Enterprise Architect supports most - if not all - of the responsibilities you might have on your project.

Therefore, the next topics to explore depend on the work you normally do on a project.

The descriptions below cover a number of job roles that Enterprise Architect supports. For those that most resemble your role on a project, follow the job title hyperlink to display a description of how that role might use Enterprise Architect, then follow links within those topics to explore some of the Enterprise Architect features of importance to the role.

Job Roles:

Role

Responsibilities

See also

Business Analyst

For modeling:

  • Requirements
  • High-level business processes
  • Business activities
  • Work flows
  • System behavior

Business Analyst

Database Developer
  • Developing databases
  • Modeling database structures
  • Creating logical data models
  • Generating schema
  • Reverse engineering databases

Database Developer

Software Architect
  • Mapping functional requirements of the system
  • Mapping objects in real time
  • Mapping the deployment of objects
  • Defining deliverable components

Software Architect

Tester
  • Developing test cases
  • Importing requirements, constraints and scenarios
  • Creating Quality Test documentation
  • Tracking element defects and changes

Tester

Software Engineer
  • Mapping Use Cases into detailed Classes
  • Defining the interaction between Classes
  • Defining system deployment
  • Defining software packages and the software architecture

Software Engineer

Project Manager
  • Providing project estimates
  • Resource Management
  • Risk Management
  • Maintenance Management

Project Manager

Developer
  • Forward, reverse and round-trip engineering
  • Visualizing the system states
  • Visualizing package arrangements
  • Mapping the flow of code

Developer

Implementation Manager
  • Modeling the tasks in rolling-out a project, including network and hardware deployment
  • Assigning and tracking maintenance items on elements (issues, changes, defects and tasks)

Implementation Manager

Technology Developer

For creating or customizing:

  • UML Profiles
  • UML Patterns
  • Code Templates
  • Tagged Value Types
  • MDG Technologies
  • Add-Ins

Technology Developer

Most of these roles work with specific types of diagram, so you might want to learn more about diagram types in general and specific types of diagram in particular.

Several types of project team member might want to generate documentation on their work and reports on how the project is developing and changing. Enterprise Architect enables you to generate project documentation in either RTF or HTML format.

Notes:

  • The Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect have a user security feature that can be applied or turned off. If security is turned on, you require the appropriate access permissions to use many of the Enterprise Architect facilities listed above

Learn More:

  • List of Available Permissions
  • UML Diagrams
  • Report Generation


Business Analysts [Enterprise Architect User Guide]

Business Analysts

A Business Analyst can use Enterprise Architect to create high-level models of business processes. These include business requirements, activities, work flow, and the display of system behavior.

Using Enterprise Architect, a Business Analyst can describe the procedures that govern what a particular business does. Such a model is intended to deliver a high-level overview of a proposed system.

Topics:

Topic

Detail

See also

Model High Level Business Processes

With Enterprise Architect the Business Analyst can model high level processes of the business with Analysis diagrams

Analysis diagrams are a subset of UML 2.3 Activity diagrams and are less formal than other diagram types, but they provide a useful means for expressing essential business characteristics and requirements

Analysis Diagram

Example Analysis Diagram

Model Requirements

Gathering requirements is typically the first step in developing a solution, be it for developing a software application or for detailing a business process; it is an important step in the implementation of a project

Enterprise Architect enables you to define the Requirement elements, connect Requirements to the model elements for implementation, connect Requirements together into a hierarchy, report on Requirements, and move Requirements out of model element responsibilities

Requirements Management

Model Business Activities

The Business Analyst can use Activity diagrams to model the behavior of a system and the way in which these behaviors are related to the overall flow of the system

Activity diagrams do not model the exact internal behavior of the system but show instead the general processes and pathways at a high level

Activity Diagram

Model Work Flow

To visualize the cooperation between elements involved in the work flow, the Business Analyst can use an Interaction Overview diagram, which provides an overview of sub activities that are involved in a system

Interaction Overview Diagram

Display System Behavior

In displaying the behavior of a system as a Use Case diagram, Enterprise Architect gives the Business Analyst an easily understood tool for mapping the functional requirements and behavior of a system

Use Case Diagram

Learn More:

  • Business Modeling


Software Architects [Enterprise Architect User Guide]

Software Architects

Software Architects can use Enterprise Architect to map functional requirements with Use Cases, perform real time modeling of objects using Interaction diagrams (Sequence, Timing, Communication or Interaction Overview), design the Deployment model and detail the deliverable components using Component diagrams.

Topics:

Topic

Detail

See also

Map Functional Requirements of the System

With Enterprise Architect the Software Architect can take the high level business processes that have been modeled by the Business Analyst and create detailed Use Cases

Use Cases describe the proposed functionality of a system and are only used to detail a single unit of discrete work

Use Cases

Map Objects in Real Time

The Software Architect can use Interaction diagrams (Sequence and Communication diagrams) to model the dynamic design of the system

Sequence diagrams are used to detail the messages that are passed between objects and the lifetimes of the objects

Communication diagrams are similar to Sequence diagrams, but are used instead to display the way in which the object interacts with other objects

Sequence Diagram

Example Sequence Diagram

Timing Diagram

Communication Diagram

Interaction Overview Diagram

Map Deployment of Objects

The Software Architect can use Deployment diagrams to provide a static view of the run-time configuration of processing nodes and the components that run on the nodes

Deployment diagrams can be used to show the connections between hardware, software and any middleware that is used on a system

Deployment Diagram

Detail Deliverable Components

Component diagrams enable the Software Architect to model the physical aspects of a system

Components can be executables, libraries, data files or another physical resource that is part of a system

The component model can be developed from scratch from the Class model or can be brought in from existing projects and from third-party vendors.

Component Diagram

Learn More:

  • Analysis Diagrams
  • Modeling Fundamentals
  • XMI Import and Export
  • XML Technologies


Software Engineers [Enterprise Architect User Guide]

Software Engineers

Software Engineers using Enterprise Architect can map Use Cases onto Class diagrams, detail the interactions between Classes, define the system deployment with Deployment diagrams and define software packages with Package diagrams.

Topics:

Topic

Detail

See also

Map Use Cases into Detailed Classes

In Enterprise Architect the Software Engineer can study the Use Cases developed by the Software Architect, and with that information create Classes that fulfill the objectives defined in the Use Cases

A Class is one of the standard UML constructs that is used to detail the pattern from which objects are produced at run time; to record the relationships between Use Cases and Classes, the Software Engineer can create diagrams linking the elements with Realize connectors, and/or map the Realize connectors in the Relationship Matrix

Example of a Use Case Diagram2

Use Cases

Example Use Case Diagram

Class Diagram

Realization

Relationship Matrix

Detail Interaction Between Classes

Interaction diagrams (Sequence and Communication diagrams) enable the Software Engineer to model the dynamic design of the system

Sequence diagrams are used to detail the messages passed between objects and the lifetimes of the objects

Communication diagrams are similar to Sequence diagrams, but are used instead to display the way in which objects interact with other objects

Sequence

Communication

Define System Deployment

Deployment diagrams can be used to provide a static view of the run-time configuration of processing nodes and the components that run on the nodes

Deployment diagrams can be used to show the connections between hardware, software and any middleware that is used on a system, to explain the connections and relationships of the components

Deployment

Define Software Packages

The Software Engineer can use Package diagrams to detail the software architecture

Package diagrams are used to organize diagrams and elements into manageable groups, declaring the dependencies

Package

Learn More:

  • Modeling Fundamentals


Developers [Enterprise Architect User Guide]

Developers

Developers can use Enterprise Architect to perform round trip code engineering, which includes reverse engineering of existing code and generation of code from Class elements.

Topics:

Topic

Detail

See also

Round Trip Engineering

Enterprise Architect gives the developer unparalleled flexibility, with the ability to round trip software from existing source code to UML 2.3 models and back again

Round trip engineering involves both forward and reverse engineering of code; keeping the model and code synchronized is an important aspect of this

Code Engineering

Synchronization

Estimation

Reverse Engineering

Enterprise Architect enables developers to reverse engineer code from a number of supported languages and view the existing code as Class diagrams, which illustrate the static design view of the system

Class diagrams consist of Classes and interfaces and the relationships between them; the Classes defined in UML Class diagrams can have direct counterparts in the implementation of a programming language

Example of a Class Diagram Example of a Class Diagram

Reverse Engineering

Class Diagram

Class Element

Resources

Forward Engineering

As well as the ability to reverse engineer code, Enterprise Architect offers the developer the option of forward engineering code (code generation)

This enables the developer to make changes to their model with Enterprise Architect and have these changes implemented in the source code

Code Engineering

Risk

Risk Types

Determine the System State

To visualize the state of the system the developer can use State Machine diagrams to describe how elements move between states, classifying their behavior according to transition triggers and constraining guards

State Machine diagrams are used to capture system changes over time, typically being associated with particular Classes (often a Class can have one or more State Machine diagrams used to fully describe its potential states)

State Machine

Visualize Package Arrangement

Package diagrams are used to help design the architecture of the system; they are used to organize diagrams and elements into manageable groups, and to declare their dependencies

Package

Follow the Flow of Code

Activity diagrams are used to enable a better understanding of the flow of code

Activity diagrams illustrate the dynamic nature of the system, which enables modeling of the flow of control between Activities and represents the changes in state of the system

Activity

Notes:

  • State Machine, Package and Activity diagrams can be used by the developer to better understand the interaction between code elements and the arrangement of the code

Learn More:

  • Model Transformations - MDA
  • Visual Execution Analysis


Project Managers [Enterprise Architect User Guide]

Project Managers

Enterprise Architect provides support for the management of projects. Project Managers can use Enterprise Architect to assign resources to elements, measure risk and effort, and estimate project sizes. Enterprise Architect also helps them manage element status, change control and maintenance.

Topics:

Topic

Detail

See also

Provide Project Estimates

With Enterprise Architect the Project Manager has access to a comprehensive project estimation tool that calculates effort from Use Case and Actor objects, coupled with project configurations defining the technical and environmental complexity of the work environment

Estimation

Resource Management

Managing the allocation of resources in the design and development of system components is an important and difficult task; Enterprise Architect enables the Project Manager or Development Manager to assign resources directly to model elements and track progress over time

Resources

Risk Management

The Project Management window can be used to assign Risk to an element within a project; the risk types enable the Project Manager to name the risk, define the type of risk, and give it a weighting

Risk

Risk Types

Maintenance

Enterprise Architect enables the Project Manager to track and assign maintenance-related items to elements within Enterprise Architect; this enables rapid capture and record keeping for items such as issues, changes, defects, and tasks

A Project Manager can also create and maintain a project glossary of processes, procedures, terms and descriptions

Issues

Changes

Defects

Tasks

Project Glossary

Learn More:

  • Projects Management
  • Element Status
  • Maintenance


Testers [Enterprise Architect User Guide]

Testers

Enterprise Architect provides support for design testing by enabling you to create test scripts against elements in the modeling environment.

Topics:

Topic

Detail

See also

Test Cases

With Enterprise Architect, Quality Assurance personnel can set a series of tests for each model element

The test types include Unit testing, Acceptance testing, System testing and Scenario testing

Import requirements, constraints and scenarios

To help ensure that testing maintains integrity with the entire business process, Enterprise Architect enables the tester to import requirements, constraints and scenarios defined in earlier iterations of the development life cycle

Requirements indicate contractual obligations that elements must perform within the model

Constraints are conditions that must be met in order to pass the testing process; constraints can be:

  • Pre-conditions (states which must be true before an event is processed)
  • Post Conditions (events that must occur after the event is processed) or
  • Invariant constraints (which must remain true through the duration of the event)

Scenarios are textual descriptions of an object's action over time and can be used to describe the way a test works

Requirements

Constraints

Create quality test documentation

Enterprise Architect provides the facility to generate high quality test documentation in the industry-standard .RTF file format

Element defect changes

Defect tracking enables you to allocate defect reports to any element within the Enterprise Architect model; this enables all who are involved in the project to quickly view the status of defects, to see which defects have to be addressed and which have been dealt with

Element Defects

Learn More:

  • Introduction to Testing


Implementation Managers [Enterprise Architect User Guide]

Implementation Managers

Enterprise Architect provides support for the management of project implementation. Enterprise Architect enables you to track and assign maintenance-related items to elements within Enterprise Architect. This enables you to rapidly capture and keep records of maintenance tasks such as issues, changes, defects and tasks. By providing a centralized facility for each element involved in the deployment process Enterprise Architect offers a powerful solution for tracing the maintenance of the items and processes involved in system deployment.

Topics:

Topic

Detail

See also

Deployment Diagram

Using Deployment diagrams in Enterprise Architect, you can model the roll out of a project, including network deployment and workstation deployment

Users involved in project deployment can add maintenance tasks to the diagram elements

Deployment diagrams provide a static view of the run-time configuration of nodes on the network or of workstations, and the components that run on the nodes or are used in the workstations

Deployment Diagram

Example Deployment Diagram

Learn More:

  • Project Maintenance


Technology Developers [Enterprise Architect User Guide]

Technology Developers

Technology Developers are Enterprise Architect users who create customized additions to the functionality already present within Enterprise Architect.

Additions include UML Profiles, UML Patterns, Code Templates, Tagged Value Types, Scripts, Custom Queries, Transformations, MDG Technologies and Enterprise Architect Add-Ins. By creating these extensions the Technology Developer can customize the Enterprise Architect modeling process to specific tasks and speed up development.

Topics:

Topic

Detail

See Also

UML Profiles

By creating UML Profiles the technology developer can create a customized extension for building UML models that are specific to a particular domain

Profiles are stored as XML files and can be imported into any model as required

UML Profiles

UML Patterns

Patterns are sets of collaborating Objects and Classes that provide a generic template for repeatable solutions to modeling problems

As patterns are discovered in any new project, the basic pattern template can be created

Patterns can be re-used with the appropriate variable names modified for any future project

Patterns

Code Templates

Code templates are used to customize the output of source code generated by Enterprise Architect; this enables the generation of code languages not specifically supported by Enterprise Architect and enables you to define the way Enterprise Architect generates source code to comply with your own company style guidelines

Code Templates

Tagged Value Types

Tagged Values are used in Enterprise Architect to extend the information relating to an element in addition to the information directly supported by the UML language

A Tagged Value, strictly, is the value of a property of a modeling item, the property being called a tag; for example: a Class element called Person might have a tag called Age with the Tagged Value of 42

More loosely, the combination of tag and value can be referred to as a Tagged Value

A Tagged Value type is a group of parameters that define and/or limit the possible values of a tag and, in many instances, how a specific value is assigned to the tag; for example, the tag Age might have a Tagged Value Type of Integer, so the user simply types in a numeric value

Alternatively, the type could be Spin, with lower and upper limits of, say, 20 and 120, so the user sets a value by clicking on arrows in the field to increment or decrement the value within the limits of 20 and 120

Typically, Tagged Values are used during the code generation process, or by other tools to pass on information that is used to operate on elements in particular ways

Tagged Values

Tagged Value Type

MDG Technologies

MDG Technologies can be used to create a logical collection of resources that can contain UML Profiles, Patterns, Code Templates, Image files and Tagged Value types that are accessed through a technology file

MDG Technologies

Enterprise Architect Add-Ins

Add-Ins enable you to build your own functionality into Enterprise Architect, creating your own mini programs that can extend the capabilities of Enterprise Architect, defining your own menus, and creating your own Custom Views

Enterprise Architect Add-Ins

Learn More:

  • Extending UML
  • MDG Technology SDK


Database Developers [Enterprise Architect User Guide]

Database Developers

Enterprise Architect supports a range of features for the development of databases, including modeling database structures, importing database structures from an existing database and generating DDL for rapidly creating databases from a model.

Topic

Detail

See Also

Create Logical Data Models

With Enterprise Architect the Database developer can build database diagrams using the built-in UML Data Modeling Profile

This supports the definition of Primary and Foreign keys, cardinality, validation, triggers, constraints and indexes

Logical Data Model

Generate Schema

By using Enterprise Architect's DDL generation function the Database Administrator can create a DDL script for creation of the database table structure from the model

Enterprise Architect currently supports:

  • JET-based databases
  • DB2
  • InterBase
  • Informix
  • Ingres
  • MySQL
  • SQL Server
  • PostgreSQL
  • Sybase Adaptive Server Anywhere and Adaptive Server Enterprise, and
  • Oracle 9i, 10g and 11g

Schema

Reverse Engineer Database

Using an ODBC data connection the Database Administrator can import a database structure from an existing database to create a model of the database

Generating the model directly from the database enables the DBA to quickly document their work and create a diagrammatic account of a complex database through the graphical benefits of UML

Reverse Engineering

Example

Example Data Model Diagram

Learn More:

  • Data Models
  • Physical Data Model


User Interface Guide [Enterprise Architect User Guide]

User Interface Guide

This section describes the Enterprise Architect Application Workspace, which provides a powerful and flexible analysis, modeling, design and construction environment. The workspace is built from familiar Windows components, such as toolbars, docking windows, dialogs and menus. Together these elements provide a rich set of tools for working with diagrams, models, UML, source code, executing applications (debugging and visualization), rich text documents, collaborative tools, extension technologies and much more.

Topics:

Topic | Link
The Enterprise Architect workspace, the interface through which you create and display your models; the main workspace component is the central Diagram View, which is where you create model diagrams, view reports, scroll through lists of model elements, access the internet and even edit and debug source code | The Start Page Diagram View The Web Browser
The Main Menu, which provides access both to high-level functions related to the project life cycle, and to project and system administration functions; throughout Enterprise Architect you can also access functions and operations using context menus | The Main Menu Project Browser Context Menus Diagram Context Menu
The windows that are used to enter and display information on your project and models; you can rearrange windows to adapt the screen space to your work habits | Standard Windows
Toolbars are small sets of buttons that provide quick access to perform common operations both on your project as a whole and on the individual modeling units | Standard Toolbars
The Enterprise Architect Diagram Toolbox provides all the components and connectors that you use to create models using whatever diagrams are appropriate; the Toolbox automatically matches the kind of diagram you have open, and whichever technology is currently active in your model | The Diagram Toolbox
The key combinations that you can use throughout Enterprise Architect to quickly initiate a wide range of actions | Keyboard Shortcuts
The customization tools that enable you to tailor the menus, toolbars and function keys that you use in Enterprise Architect, to set the visual style of the application, and to customize the workspace layout | Customization Visual Styles Manage Workspace Layout
The navigation and search tools, which enable you to search for, track and locate information in your project, and filter the information so that you can explore particular views of your project rather than the entire contents | Navigate, Search and Trace The Project Browser

Learn More:

  • A Demonstration of Enterprise Architect in use


Start Page [Enterprise Architect User Guide]

The Start Page

The Start Page provides some useful navigation tools and jumping off points when you first open Enterprise Architect - including the recent files list, commands to create or copy projects, connect to repository servers and useful Help topics to get you started. Links to online resources and to the Sparx Systems Enterprise Architect Community website can also help you get up to speed and explore the possibilities of Enterprise Architect.

If you have no projects of your own to open yet, open the EAExample project or use the QuickStart Tutorial to create a project to explore.

Actions:

Action

Usage

See Also

Search

Locate an object in Enterprise Architect; type the name of the object in this field and click on the ( ... ) button

Enterprise Architect displays the results of the search on the Model Search screen

Click on an item in the search results to highlight it in the Project Browser

Model Search

Project Browser

Open a Project File

Display the Select Enterprise Architect Project to Open dialog, which you use to open an existing project (where you have more project files than can be listed in the Recent panel)

Open a Project

Create a New Project

Save a new project and open the Model Wizard dialog

Create a New Project

Model Wizard dialog

Copy a Base Project

Select a different Base Project to generate a new project from

Copy a Base Project

Connect to Server

Specify a Data Source name to connect to; the supported repositories are listed on the right

This feature is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions

Connect to Server

MySQL

SQL Server

Oracle 9i, 10g and 11g

PostgreSQL

MSDE

Adaptive Server Anywhere

Access 2007

Progress OpenEdge

Getting Started

Open the Learning Center, to display useful topics and guides for various areas of work in Enterprise Architect

Learning Center

Configure Options

Display the Help on the Options dialog, which enables you to define how Enterprise Architect displays and processes information.

Options dialog

Online Resources & Tutorials

Open the Resources page of the Sparx Systems website, which provides access to a wide range of Enterprise Architect and UML tutorials, demonstrations, examples, Add-Ins and advice

The Web Browser

Enterprise Architect Community

Access the Sparx Systems Enterprise Architect Community Site, which contains a range of articles, discussions, tools and resources provided by both Sparx Systems and the Enterprise Architect user community

You must register to use the facilities of the site; you can also register as an author and submit material yourself, for others to read and use

Sparx Systems Enterprise Architect Community Site

Recent

Select from a list of hyperlinks to the most recently used Enterprise Architect projects (both .EAP files and DBMS connections)

If necessary, you can remove the hyperlink to a project from this list

Remove Recent Projects

Notes:

  • If your model has a default diagram set, that diagram opens immediately, hiding the Start Page; you can still access the Start Page from the diagram tabs below the diagram
  • If you have set a shortcut view profile, that overrides the default diagram setting
  • You can also hide the Start Page, and show it again, by de-selecting and selecting the Window | Show Start Page option; the setting persists though shut down and restart, until you specifically change the option again

Learn More:

  • Quickstart Tutorial
  • Set the Default Diagram
  • Diagram Tabs


Remove Recent Projects [Enterprise Architect User Guide]

Remove Recent Projects

Removing the hyperlink to a project from the Start Page only removes the link to the project and does not remove the project from the file system or repository.

Access: File | Open Project > Open Enterprise Architect Project > Recent Projects: Remove Selection from List ( Ctrl+O )

How to:

To remove a project hyperlink from the Recent list on the Start Page, follow the steps below:

Step | Action | See Also
1 | On the Open Enterprise Architect Project dialog, in the Recent Projects panel, click on the project to remove |
2 | Click on the Remove Selection from List button |


Learning Center [Enterprise Architect User Guide]

Learning Center

The Learning Center window provides quick access to a range of context-specific Enterprise Architect help topics, online resources and facilities in a number of specific work areas in Enterprise Architect, such as Getting Started, Modeling or Testing.

These topic areas can include topics specific to any MDG Technologies being used with Enterprise Architect.

Access: View | Learning Center (Ctrl + Shift + 9)
(Also, when you first open Enterprise Architect, the Learning Center automatically displays on the right of the screen)

Uses:

  • Initiate a task or process within a specific work area
  • Display topics from Enterprise Architect Help that describe either procedures or facilities to achieve objectives in a work area
  • Display web pages or documents that provide conceptual information or examples within a work area
  • Run selected reports or data collation tools
  • Run demonstrations of functions within a work area

Actions:

To display information listed in the Learning Center, click on the required item. The types of item are indicated by the list titles and by the following icons:

Icon | Action
NewHelp | Open appropriate topics from the Enterprise Architect Help file
TasksURLIcon | Open web pages or documents on the Sparx Systems web site
TasksManIcon | Begin Enterprise Architect tasks appropriate to the Learning Center topic area; you must be in an appropriate functional area of Enterprise Architect in order for these tasks to function, such as in an open diagram
TasksExternalIcon | Begin Add-In tasks appropriate to the Learning Center topic area; you must be in an appropriate functional area in order for these tasks to function
TasksViewIcon | Open report facilities to provide information or data collation tools
TasksMovieIcon | Start demonstrations of Enterprise Architect functions in action

The selected information, web page or demonstration displays on a Browser tab in the main view, or the appropriate task or report window opens.

To switch between the topic areas, either:

  • Click on the drop-down arrow at the right of the Learning Center toolbar and select the required area from the list, or
  • Click on the left or right arrow buttons in the toolbar

The 'Home' icon returns you to the Getting Started topic area.


Main Menu [Enterprise Architect User Guide]

Main Menu

The Enterprise Architect Main Menu, at the top of the Enterprise Architect workspace, opens a range of subordinate menus that provide mouse-driven access to many high-level functions related to the project life cycle, as well as administration functions.

Each subordinate menu is described in the following table:

Usage | See Also
File - provides options to create, open, close and save projects, and also to perform print tasks | File
Edit - provides a range of functions to apply to diagram elements for the currently open diagram or view | Edit
View - enables you to display each of the windows or toolbars, and to set the visual style of your Enterprise Architect workspace | View
Project - provides access to tasks related to the management of your project, such as adding to the project structure, importing and exporting data, generating documentation, version control and security | Project
Diagram - enables you to configure diagram properties and options and to save diagram images to file | Diagram
Element - provides options to configure and access element features and details and control element layout, and to generate documentation and work on source code for the element | Element
Tools - provides access to tools related to code engineering, model management, spell checking, customization of features and setting operational options | Tools
Analyzer - provides access to a range of functions to perform build, debug and profiling operations on your model code | Analyzer
Add-Ins - enables you to connect to, display information on, work with and manage your Add-Ins | Add-Ins
Settings - enables you to configure various settings for your overall project, such as stereotypes, Tagged Values, cardinality values, datatypes, language macros, local directories, image management | Settings
Window - provides various functions for managing open system windows. | Window
Help - provides access to the Enterprise Architect help files, the Read Me file, the Enterprise Architect End User License Agreement, the Enterprise Architect Example model and various features on the Sparx Systems website; it also enables you to manage your license keys | Help

Additionally, if you right-click on the Toolbar area just under the menu bar, a composite context menu displays providing options to display the toolbars and all significant windows and views.


File [Enterprise Architect User Guide]

File

The File menu provides options to create, open, close and save projects, and also to perform print tasks.

Access: File

Option | Usage | Shortcut | See also
New Project | Create a new Enterprise Architect project | Ctrl + N | File Based Repositories
Open Project | Open a project | Ctrl + O | Open a project
Reload Current | Reload the current project (use in a multi-user environment to refresh the Project Browser) | Ctrl + Shift + F11 | Refresh View of Shared Project
Close Project | Close the current project |  |
Save Project Copy | Save the current model with a new name |  | Copy Existing Project
Save Project Shortcut | Create a desktop shortcut to the current model (This option is also active in the 'Lite', read-only edition of Enterprise Architect) |  | Project Shortcuts The Read-Only 'Lite' Edition
Print Setup | Configure your printer's settings |  |
Page Setup | Configure the page settings to print the current diagram |  | Set Diagram Page Size
Print Preview | Preview how the currently displayed diagram prints |  | Print Preview
Print | Print the currently displayed diagram Enterprise Architect provides facilities to change the scale of the printed diagram (the number of pages it takes up) and to print or omit page headers and footers on the diagram | Ctrl + P | Scale Image To Page Size Diagram Tab
Recent Files List | Select from a list of the most recently opened projects |  |
Exit | Exit Enterprise Architect |  |


Edit [Enterprise Architect User Guide]

Edit

The Edit menu provides a range of functions to apply to diagram elements for the currently open diagram or view.

Access: Edit

Option

Usage

Shortcut

See also

Model Search

Display the Model Search window, to search for particular phrases or words

Ctrl + Alt + A

Model Search

File Search

Display the File Search window, to search for text in code files and scripts

Find In Files

Copy

  1. Copy the selected elements to the MS Windows clipboard. (To paste the selected elements use the Paste Element(s) option, below)
  2. Copy an image of the selected elements to the clipboard. If no elements are selected, the entire diagram is copied

The image can be saved as a bitmap or a metafile; you set the format on the Options dialog

Ctrl + C

General (page of the Options dialog)

Project Clipboard

Offers two sub-options:

  • Add to Project clipboard - Add the current element to the Enterprise Architect clipboard
  • Clear Project Clipboard - Clear any elements from the Enterprise Architect clipboard

Ctrl + Space

---

Paste Element(s)

Display the Paste Elements submenu, which enables you to paste elements on the clipboard into the current diagram.

Paste Elements Submenu

Paste Image From Clipboard

Paste the element in the Enterprise Architect Clipboard into the same diagram or a different diagram, as a metafile (that is, a definition of the element) as many times as is necessary

If you paste the element into a different diagram, its classifier identifies the source diagram for the element

Ctrl + Shift + Insert

Redo

Re-apply the last undone action

Ctrl + Y

Redo Last Action

Undo

Undo the last action performed; note that some actions cannot be undone

Ctrl + Z

Undo Last Action

Select All

Select all elements concurrently on the current diagram

Select By Type

Specify a particular type of element to select on the diagram

Clear Selection

Deselect all elements

Bookmark Selected

Bookmark the selected element(s). If the selected element is already bookmarked, this option removes the bookmark

Shift + Space

Manage Bookmarks

Clear All Bookmarks

Clear bookmarks from any bookmarked elements in the current diagram

Manage Bookmarks

Delete Selected Element(s)

Delete the selected elements from the diagram

Ctrl + D


Paste Elements Submenu [Enterprise Architect User Guide]

Paste Elements Submenu

You can paste an element from the Enterprise Architect Clipboard or the MS Windows clipboard into a diagram, either as a hyperlink to the original element or as a new element. The Enterprise Architect clipboard takes precedence, so you must clear that clipboard before you can paste from the MS Windows clipboard.

Access: Edit | Paste Element(s)

Option

Usage

Shortcut

See also

as Link

Paste the element in the buffer as a link (that is, a reference) to the element

If there are images in the MS Windows clipboard and none in the Enterprise Architect clipboard, you can:

  • Paste an image from the MS Windows clipboard into a new element as the appearance of the new element, or
  • Paste an image from the MS Windows clipboard into the diagram as a new boundary's appearance

Shift + Insert

Paste from Project Browser

as New

Paste the element in the buffer as a completely new element

Ctrl + Shift + V


View [Enterprise Architect User Guide]

View

The View menu enables you to display and/or focus on each of the windows or toolbars, and to set the visual style of your Enterprise Architect workspace.

Access: View

Option | Usage | Shortcut | See also
Workspace Layouts | Show the Workspace Layout dialog for changing the content and layout of the Enterprise Architect workspace |  | Manage Workspace Layout
Learning Center | Show the Learning Center, providing context-specific help topics, online resources and facilities in a number of specific work areas in Enterprise Architect | Ctrl + Shift + 9 | Learning Center
Project Browser | Display the Project Browser, for browsing and exploring your model; this displays the hierarchical arrangement of packages, elements and features within the model | Alt + 0 | The Project Browser
Package Browser | Display the elements of the current package in the Package Browser, as a context-sensitive, editable table | Ctrl + Alt + R | Package Browser
Model Views | Show the Model Views window, through which you can create filtered views of selected areas or aspects of your model | Ctrl + Shift + 5 | Model Views
More Project Tools | Display a submenu containing options for the Resources and Project Information windows, and the internal Web Browser |  | View Submenus
Personal Information | Display the Personal Information window, which enables you to email project team members and report on the work and tasks assigned to you |  | Personal Information
Team Review | Show the Team Review window, the portal for a discussion forum within your development team community | Ctrl + Alt + U | Team Review Tools
Task Allocations | Show the Project Task Allocation window, through which you manage work tasks allocated within the project and run reports on the components associated with the tasks |  | Project Task Allocation
Project Calendar | Display the Calendar, to monitor work across the project in terms of the resources involved, the tasks being performed, the events occurring and the elements being worked on |  | Project Calendar
Diagram Toolbox | Show the Diagram Toolbox, a panel of icons for creating elements and connectors on a diagram; there are pages of icons for each UML, Extended and MDG Technology diagram type | Alt + 5 | Diagram Toolbox
Diagram Filters | Display the Diagram Filters window, for selecting the elements to show or hide on a diagram |  | Diagram Filters
Diagram Layout | Display the Layout Tools window, for reformatting your diagram in one of a range of layouts |  | Layout Diagrams
Pan and Zoom | Display the Pan & Zoom window for panning across a diagram to display sections at greater magnification | Ctrl + Shift + N | The Pan & Zoom Window
Element Properties | Show the Properties window for the selected element, which provides an editable table of the common properties of the selected element | Alt + 1 | Properties Window
Relationships | List a selected element's connectors on the Relationships window | Ctrl + Shift + 2 | The Relationships Window
Traceability | Show the Traceability window, for tracing the relationships of an element through the model | Ctrl + Shift + 4 | The Traceability Window
More Element Tools | Display a submenu containing options for the Scenarios & Requirements, Element Browser, Project Management, Maintenance, Testing and Source Code windows |  | View Submenus
Relationship Matrix | Display the Relationship Matrix, to cross reference elements to each other by connector type |  | Relationship Matrix
Gap Analysis Matrix | Display the Gap Analysis Matrix to analyze model artifacts for potential gaps in the solution |  | Gap Analysis Matrix
Notes | Show the Notes window, to create and review the explanatory text on a diagram, element, feature or connector | Ctrl + Shift + 1 | Notes
Tagged Values | Show the Tagged Values window, to add further properties to a modeling object beyond those supported by UML | Ctrl + Shift + 6 | Tagged Values
System Output | Show the Output window | Ctrl + Shift + 8 | The System Output Window
Scripting | Show the Scripting window |  | Scripting
Toolbars | Show or hide individual toolbars |  | View Submenus
Visual Style | Set the Visual Style and a number of other display options |  | View Submenus


View Submenus [Enterprise Architect User Guide]

View Submenus

The More Project Tools Sub-Menu:

Select the windows to be visible and deselect those to be hidden. You can select from:

Option | Usage | Shortcut | See also
Project Resources | Show or hide the Resources window | Alt+6 | Resources
Project Information | Show or hide the Project Information window | Alt+2 | The Project Information Window
Internal Web Browser | Open the web browser page at the site you have specified on the Options dialog, in the Web Home field | Ctrl+Alt+W | Internal Web Browser Options

The More Element Tools Submenu:

Select the windows to be visible and deselect those to be hidden. You can select from:

Option | Usage | Shortcut | See also
Scenarios & Requirements | Display the Scenarios, internal Constraints and Requirements for the selected element, as tabs of the main work space. | Ctrl+Shift+3 | Scenarios, Internal Constraints and Requirements
Element Browser | Explore the components of the selected element, in the Element Browser window. | Alt+9 | Element Browser
Project Management | Show or hide the Project Management window | Ctrl+Shift+7 | Project Management
Maintenance | Show or hide the Maintenance window | Alt+4 | Maintenance
Testing | Show or hide the Testing window | Alt+3 | Testing
Source Code | Show or hide the Source Code window. | Alt+7 | The Source Code Viewer

The Toolbars Sub-Menu:

Select the toolbars to be visible and deselect those to be hidden. You can select from:

Topic | Usage | Link
Default Tools | Show or hide the Default Tools toolbar | Default Tools
Project | Show or hide the Project toolbar | Project
Code Generation | Show or hide the Code Generation toolbar | Code Generation
UML Elements | Show or hide the UML Elements toolbar | UML Elements
Diagram | Show or hide the Diagram toolbar | Diagram
Current Element | Show or hide the Current Element toolbar | Current Element
Current Connector | Show or hide the Current Connector toolbar | Current Connector
Workspace Layouts | Show or hide the Workspace Layouts toolbar | Workspace Layouts
Debug & Record | Show or hide the Debug & Record toolbar | Debug & Record
Status Bar | Show or hide the Status Bar | Status Bar

The Visual Style Sub-Menu:

Option | Usage | Shortcut | See also
Select Visual Style | Select different visual styles or themes for the Enterprise Architect user interface |  | Visual Styles
Animate Autohide Windows | Animate windows that have been automatically hidden |  | Automatically Hidden
Show Toolbar Customize Button | Toggle the down-arrow on the end of each toolbar that enables you to customize the toolbar buttons, as shown below: |  |
Hide Diagram Caption Bar | Hide or redisplay the diagram caption bar at the top or bottom of a diagram |  | Caption Bar


Project [Enterprise Architect User Guide]

Project

The Project menu gives access to tasks related to the management of your project, such as adding to the project structure, importing and exporting data, generating documentation, version control and security.

Access: Project

Action | Usage | Shortcut | See also
New Model | Display the Model Wizard, to add models to your project |  | Model Wizard
New Package | Create a new package | Ctrl + W | Create a new package
New Diagram | Create a new diagram in the current package | Ctrl + Insert | Create a new diagram
Documentation | Display the Documentation Submenu |  | Documentation Submenu
Model Validation | Display the Model Validation Submenu |  | Model Validation Submenu
Baselines | Store a model branch as a snapshot or baseline Available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions | Ctrl + Alt + B | Baseline
Audit View | Display the Audit View, which shows the information that has been recorded by auditing |  | Audit View
Model Import/Export | Display the Import/Export Submenu |  | Import/Export Submenu
Version Control | Display the Version Control Submenu |  | Version Control Submenu
Security | Display the Security Submenu |  | Security Submenu
Use Case Metrics | Set Use Case Metrics to assist in estimating project size |  | Use Case Metrics
Project Statistics | View some basic project statistics |  |


Documentation Submenu [Enterprise Architect User Guide]

Documentation Submenu

Access: Project | Documentation

Action | Usage | Shortcut | See also
Rich Text Format (RTF) Report | Generate a report for the currently selected package in Rich Text Format | F8 | RTF Documents
HTML Report | Generate a report for the currently selected package in HTML format | Shift + F8 | HTML Reports
Diagrams Only Report | Generate an RTF report containing only diagrams | Ctrl + Shift + F8 | Diagrams Only Report
Testing Report | Generate an RTF report of the model's existing tests |  | Test Documentation
Issues | Generate an RTF report of the model's issues |  | Project Issues
Glossary | Generate an RTF report of the model's Glossary |  | Generate a (Glossary) Report
Implementation Details | Show a list of the elements in the package (selected in the Project Browser) that require implementers, together with any source elements in Realize (Implements) relationships with those elements |  | Implementation Report
Dependency Details | Show a list of any elements in the package (selected from the Project Browser) that are dependent on another element for their specification |  | Dependency Report
Testing Details | Show the testing details for the elements in a package, for tests that meet specific criteria |  | Testing Details Report


Model Validation Submenu [Enterprise Architect User Guide]

Model Validation Submenu

Access: Project | Model Validation

Action | Usage | Shortcut | See also
Validate Selected | Validate a selected element, diagram or package from the Project Browser | Ctrl + Alt + V | Model Validation
Cancel Validation | Cancel the validation process |  |
Configure | Configure the Validation rules from the list of available rules |  | Configure Model Validation


Import/Export Submenu [Enterprise Architect User Guide]

Import/Export Submenu

To perform import and export to XMI and CSV.

Access: Project | Model Import/Export

Action | Usage | Shortcut | See also
Import Package from XMI | Import a package from an XMI (XML based) file | Ctrl + Alt + I | Import From XMI
Export Package to XMI | Export the currently selected package to an XMI (XML based) file | Ctrl + Alt + E | Export To XMI
Batch XMI Export | Export a group of controlled packages in one action |  | Batch XMI Export
Batch XMI Import | Run a batch import of multiple packages |  | Batch XMI Import
CSV Import/Export | Import or Export information on Enterprise Architect elements in CSV format | Ctrl + Alt + C | CSV Import CSV Export
CSV Import/Export Specifications | Set up CSV import Export Specifications |  | CSV Specifications
Export Reference Data | Export reference data to XML files for convenient model updating |  | Export Reference Data
Import Reference Data | Import reference data from XML files for convenient model updating |  | Import Reference Data


Version Control Submenu [Enterprise Architect User Guide]

Version Control Submenu

Access: Project | Version Control

Action | Usage | Shortcut | See also
Configure Current Package | Specify whether this package (and its children) is controlled and, if so, which file it is controlled through | Ctrl + Alt + P | Configure Controlled Package
Version Control Settings | Specify the options required to connect to a Source Code Control (SCC) provider |  | Version Control Settings Dialog
Validate Package Configurations | Validate the version control configuration of each package in the model |  | Validate Package Configurations
Resynch Statuses of All Packages | Resynchronize the status of all version controlled packages within your project with the status of the version control provider |  | Resynchronize the Status of Version Controlled Packages
Work Offline | Toggle between 'offline' version control and online version control |  | Offline Version Control


Security Submenu [Enterprise Architect User Guide]

Security Submenu

To configure security settings for your project.

Access: Project | Security

Action | Usage | Shortcut | See also
Manage Users | Add, modify and remove users, including maintaining permissions. |  | Maintain Users
Manage Groups | Add, modify and remove security groups, including maintaining permissions. |  | Maintain Groups
Manage Locks | View and manage element locks. |  | View and Manage Locks
Require User Lock to Edit | Toggle the security policy in force. |  | Security Policy
Manage My Locks | View and delete your own locks. | Ctrl + Shift + L | Manage Your Own Locks
Login as Another User | Switch the login to a different user ID. |  |
Change Password | Change current security password. |  | Change Password
Encrypt Password | Add encryption to your password (prior to Enterprise Architect Release 7.1). |  | Password Encryption
Enable Security | Enable or disable user security to limit access to update functions in the model. |  | Enable Security

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions


Diagram [Enterprise Architect User Guide]

Diagram

The Diagram menu enables you to configure diagram properties and options and to save diagram images to file.

Action

Usage

Shortcut

See also

Properties

View and edit the <type> Diagram: <name> dialog for the current diagram

F5

Find in Project Browser

Locate the current diagram in the Project Browser window

Shift + Alt + G

Layout Diagram

Automatically layout the current diagram (not available for Behavioral diagrams)

Layout a Diagram Automatically

Switch to

Change the presentation of the diagram to the Diagram List format or the Gantt Chart format

Diagram List

Advanced

Display the diagram Advanced menu

Diagram Advanced Menu

Save

Save the current position of all diagram elements

Ctrl + S

Save as Image

Save the diagram as a bitmap file (.BMP), Graphics Interchange Format file (.GIF) or Windows Metafile (.WMF)

Ctrl + T

Copy Image to Clipboard

Copy an image of the current diagram to the clipboard. The image can be in metafile or bitmap format; you set the format on the Options dialog

Ctrl + B

General (page of Options dialog)

Swimlanes and Matrix

Add, modify and delete swimlanes or the swimlanes matrix for the current diagram

Swimlanes

Swimlanes Matrix

Repeat Last Element

Create an instance of the same type as the last element created

Shift + F3

Repeat Last Connector

Create an instance of the same type as the last connector created

F3

Property Note

Display the properties note for the current diagram on screen

Insert Diagram Properties Note

Show Grid

Show or hide the diagram grid

Snap To Grid

Position elements on the diagram grid; there are two options:

  • Standard Grid - constrains elements to the grid when they are added to diagrams
  • Smart Placement - places elements even distances away from other elements and spaces elements evenly

If neither of these options are enabled, the elements can be placed freely on the diagram

Zoom

Change the zoom factor on the current diagram

Pan and Zoom a Diagram


Diagram Advanced Menu [Enterprise Architect User Guide]

Diagram Advanced Menu

The Diagram Advanced menu enables you to perform a number of very useful operations, such as hiding connectors on the diagram or creating a UML Pattern from the diagram.

Action

Usage

Shortcut

See also

Lock Diagram

Prevent the diagram from being edited, or release the locked diagram for editing

This does not apply in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions, if security is enabled

Lock Model Elements

Make Model Default

Make the current diagram the default diagram opened when the current model is re-opened (unless you set a User Default diagram, which overrides the model default; see below)

This option is also overridden by a project shortcut, which defines displays to present on opening the project

To cancel a Model Default diagram, either:

  • Create a dummy diagram, set it as the Model Default and delete it, or
  • Delete the original diagram (if it is no longer relevant)

Set the Default Diagram

Project Shortcuts

Make User Default

(Use in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled)

Make the current diagram the default diagram opened when you re-open this model

The User Default diagram overrides the Model Default diagram (see Make Model Default, above); this option is itself overridden by a project shortcut, which defines displays to present on opening the project

To cancel a User Default diagram, either:

  • Create a dummy diagram, set it as the User Default and delete it, or
  • Delete the original diagram (if it is no longer relevant)

This still blocks the Model Default diagram, whilst Security is enabled; to re-establish the Model Default diagram, set it as the User Default

Project Shortcuts

Visible Relations

Hide or show individual connectors for the current diagram

Ctrl + Shift + I

Relationship Visibility

Sequence Messages

Change the order of the communication messages in the current diagram

Message (Communication Diagrams)

Change Type

Change the type of the current diagram

Change Diagram Type

Save UML Pattern

Save the current diagram as a UML pattern

Create a Pattern


Element [Enterprise Architect User Guide]

Element

The Element menu enables you to configure and access element features and details and control element layout, and to generate documentation and work on source code for the element

Action | Usage | Shortcut | See also
Properties | View the Properties dialog of the selected element | Alt + Enter | Properties Dialog
Linked Document | Link the element to a rich text document | Ctrl + Alt + D | Link the element
Advanced | Display the element Advanced submenu |  | Advanced Submenu
Find in Project Browser | Find the currently selected element in the Project Browser If no element is selected, find the current diagram in the Project Browser | Alt + G |
Find in Diagrams | Display all occurrences of the currently selected element in any diagram | Ctrl + U |
Attributes | View and edit the attributes for the selected element | F9 | Element attributes
Operations | View and edit the operations (methods) for the selected element | F10 | Operations
Feature Visibility | Select which features and characteristics of the selected element are visible on a diagram | Ctrl + Shift + Y | Visible
Inline Features | Display the element Inline Features submenu |  | Inline Features Submenu
Source Code Engineering | Display the element Source Code Engineering submenu |  | Source Code Engineering Submenu
Open Source in External Editor | Open the source code of the selected Class in the default external editor for that language Source code must have been generated, and the selected element must be a Class | F12 | The Source Code Viewer
Appearance | Display the element Appearance submenu |  | Appearance Submenu
Alignment | Display the element Position submenus |  | Position Submenus
Make Same
Z Order
Size
Move
Space Evenly


Advanced Submenu [Enterprise Architect User Guide]

Advanced Submenu

The Advanced sub-menu provides various options to choose from to customize the appearance of model elements. Select the Element | Advanced menu option to display this submenu.

Action | Usage | Shortcut | See also
Add Tagged Value | Add a Tagged Value to the currently selected element | Ctrl + Shift + T | Quick Add - Tagged Value To Elements
Custom References | Show model element cross references | Ctrl + J | Set Up Cross References
Rich Text Format (RTF) Report | Generate a report for the currently selected package in rich text format |  | RTF Documents
Set Parents and Interfaces | Manually set the element's parents or an interface that it realizes | Ctrl + I | Set Element Parent
Embedded Elements | Attach elements to the currently selected element | Ctrl + Shift + B | Embedded Elements Window
Overrides & Implementations | Automatically override methods from parent Classes and from realized interfaces | Ctrl + Shift + O | Override Parent Operations
Change Type | Change the element type of the selected element |  | Change Element Type


Inline Features Submenu [Enterprise Architect User Guide]

Inline Features Menu

Access: Element | Inline Features

Action | Usage | Shortcut | See also
Edit Selected | Type over or delete the text of the highlighted feature. | F2 |
View Properties | Open the dialog containing details of the selected element feature, or the element if no feature is selected. |  |
Insert New After Selected | Insert a new item in the element. |  |
Create Linked Note | Add a Note element linked to the selected item, reflecting the content of that item. |  |
Add Attribute | Add an attribute to the current element. | Ctrl + Shift + F9 | Add an attribute
Add Operation | Add an operation to the element. | Ctrl + Shift + F10 | Add an operation
Add Other | Insert other features such as Maintenance and Testing items. | Ctrl + F11 |
Delete Selected from Model | Delete the selected item from the model. | Ctrl + Shift+ Delete |

Active keys in this mode include:

Key | Action
Enter | Save current changes.
Ctrl+Enter | Save current changes and open a new slot to add a new item.
Esc | Cancel editing.
Shift+F10 | Display the context menu for in-place editing.


Source Code Engineering Submenu [Enterprise Architect User Guide]

Source Code Engineering Submenu

To forward and reverse engineer code using the language of your choice, select the Element | Source Code Engineering menu option.

Action | Usage | Shortcut | See also
Generate Current Element | Generate source code for the currently selected element. | F11 | Generate source code
Synchronize Current Element | Synchronize the selected Class with the source code. | F7 |
Batch Generate Selected Element(s) | Batch generate source code for the currently selected element(s). | Shift + F11 |
Batch Synchronize Selected Element(s) | Batch synchronize the currently selected element(s) with source code. | Ctrl + R |
Open Source Directory | Open the directory containing the source for this element. | Ctrl + Alt + Y |


Appearance Submenu [Enterprise Architect User Guide]

Appearance Submenu

The Appearance sub-menu provides various options to choose from to customize the appearance of model elements.

Action | Usage | Shortcut | See also
Default Appearance | Set border, font and background color and border thickness for the selected element, as its default appearance. | Ctrl + Shift + E | Default appearance
Autosize | Auto-size a group of elements in a diagram to a best fit. | Alt + Z |
Set Font | Change the font of the text displayed on the element in a diagram. |  | Text font
Alternate Image | Select an alternative image for the selected element. | Ctrl + Shift + W |
Apply Image From Clipboard | Insert the image currently held on the clipboard. |  |


Position Submenus [Enterprise Architect User Guide]

Position Submenus

These Element menu submenus enable you to size and position elements on the diagram, relative to each other.

The Alignment Sub-Menu:

Use the Alignment sub-menu to align the selected element(s) to each other.

Action | Usage | Shortcut | See also
Left | Align left edges of elements | Ctrl + Alt + Left |
Right | Align right edges of elements | Ctrl + Alt + Right |
Top | Align top edges of elements | Ctrl + Alt + Up |
Bottom | Align bottom edges of elements | Ctrl + Alt + Down |
Centers | Align centers of elements, horizontally or vertically |  |

The Make Same Sub-Menu:

Use the Make Same sub-menu to make the selected elements the same width, the same height or both.

In Use Case diagrams, these options are blocked if the Allow Elongated Use Cases option is turned off on the Options dialog Objects page.

Action | Usage | Shortcut | See also
Width | Make all selected elements the same width |  | Objects
Height | Make all selected elements the same height |
Both | Make all selected elements the same height and width |

The Z Order Sub-Menu:

Use the Z Order sub-menu to move the selected element(s) back, forward, to the front of all other elements or behind all other elements.

Action | Usage | Shortcut | See also
Forward | Move selected element forward one position in the Z order |  | Z Order Elements
Back | Move selected element back one position in the Z order |
To Bottom | Send selected element behind all other elements |
To Top | Bring selected element in front of all other elements |

The Size Sub-Menu

Use the Size sub-menu to make the selected element(s) wider, narrower, taller or shorter by one increment.

Action | Usage | Shortcut | See also
Wider | Make all selected elements wider | Ctrl + " |
Narrower | Make all selected elements narrower | Ctrl + ! |
Shorter | Make all selected elements shorter | Ctrl + # |
Taller | Make all selected elements taller | Ctrl + $ |

The Move Sub-Menu

Use the Move sub-menu to move the selected element(s) left, right, up or down by one increment.

Action | Usage | Shortcut | See also
Right | Move all selected elements to the right | Shift + " |
Left | Move all selected elements to the left | Shift + ! |
Up | Move all selected elements upwards | Shift + # |
Down | Move all selected elements downwards | Shift + $ |

The Space Evenly Sub-Menu

Use the Space Evenly sub-menu to distribute the selected elements evenly.

Action | Usage | Shortcut | See also
Across | Space elements evenly, horizontally | Alt + - |
Down | Space elements evenly, vertically | Alt + = |


Tools [Enterprise Architect User Guide]

Tools

The Tools menu provides access to various tools including those related to code engineering, model management, spell checking, customization of features and setting operational options.

Action | Usage | Shortcut | See also
Open Source File | Open any type of external source file (code, XML, DDL) for editing | Ctrl + Alt + O | The Source Code Viewer
Source Code Engineering | Display the Source Code Engineering submenu |  | Source Code Engineering
Database Engineering | Display the Database Engineering submenu |  | Database Engineering
Web Services | Display the Web Services submenu |  | Web Services
XML Schema | Display the XML Schema submenu |  | XML Schema
Model Transformation (MDA) | Display the Model Transformation submenu |  | Model Transformation
Spelling Tools | Configure and run the spelling checker |  | Configure and Run
Data Management | Manage your project's data |  | Data Management Submenu
MDG Technology Import | Import an MDG Technology file to APPDATA (Not available in the Desktop edition) |  | Import a file
Generate MDG Technology File | Display the MDG Technology Wizard (Not available in the Desktop edition) |  | MDG Technology Wizard
Wordpad | Open Wordpad |  |
Windows Explorer | Open Windows Explorer (different options might be listed, to open other applications) |  |
Customize | Customize the operation of Enterprise Architect |  | The Customize Dialog
Options | Customize your general settings through the Options dialog | Ctrl + F9 | Options dialog


Source Code Engineering Submenu [Enterprise Architect User Guide]

Source Code Engineering Submenu

To forward and reverse engineer code using the language of your choice select the Tools | Source Code Engineering menu option (Professional, Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions).

Action | Usage | Shortcut | See also
Generate Package Source Code | Generate source code for the currently selected package | Ctrl + Alt + K | Generate source code
Synchronize Package Contents | Synchronize the selected package with the source code | Ctrl + Alt + M |
Import Source Directory | Import and reverse engineer an entire directory structure | Ctrl + Shift + U | Import an directory structure
Import Binary Module | Import a binary module |  | Import a binary module
Import ActionScript Files | Import code written in ActionScript with the file extension .AS |  | ActionScript code
Import C Files | Import code written in ANSI C with the file extension .C or .H |  | ANSI C source code
Import C# Files | Import code written in the C# programming language with the file extension .CS |  | C# source code
Import C++ Files | Import code written in the C++ programming language with the file extension .H, .HPP or .HH |  | C++ source code
Import Delphi Files | Import code written in the Delphi programming language with the file extension .PAS |  | Delphi source code
Import Java Files | Import code written in the Java programming language with the file extension .JAVA |  | Java source code
Import PHP Files | Import code written in PHP with the file extensions .INC, .PHP, .PHP4 |  | PHP source code
Import Python Files | Import code written in Python with the file extension .PY |  | Python source code
Import Visual Basic Files | Import code written in the Visual Basic programming language with the file extension .FRM, .CLS, .BAS or .CTL |  | Visual Basic source code
Import VB.NET Files | Import code written in the VB.NET programming language with the file extension .VB |  | VB.NET source code


Database Engineering Submenu [Enterprise Architect User Guide]

Database Engineering Submenu

Access: Tools | Database Engineering

Action | Usage | Shortcut | See also
Import DB Schema from ODBC | Import a database schema from an ODBC data source |  | Import a database schema from an ODBC
Generate Package DDL | Generate a Package DDL script to create the tables in the currently selected package |  | Generate a Package DDL


Web Services Submenu [Enterprise Architect User Guide]

Web Services Submenu

Access: Tools | Web Services

Action | Usage | Shortcut | See also
Import WSDL | Reverse engineer a Web Service Definition Language (WSDL) file as a UML Class model |  | Reverse engineer
Generate WSDL | Forward engineer a UML Class model to a WSDL file |  | Forward engineer


XML Schema Submenu [Enterprise Architect User Guide]

XML Schema Submenu

Access: Tools | XML Schema

Action | Usage | Shortcut | See also
Import XML Schema | Reverse engineer a W3C XML Schema (XSD) file as a UML Class model |  | Reverse engineer
Generate XML Schema | Forward engineer a UML Class model to a W3C XML Schema (XSD) file |  | Forward engineer


Model Transformation (MDA) Submenu [Enterprise Architect User Guide]

Model Transformation (MDA) Submenu

Access: Tools | Transformations

Command | Action | Shortcut | See also
Transform Selected Elements | Perform an MDA-style transformation on the currently selected elements | Ctrl + H | Selected elements
Transform Current Package | Perform an MDA-style transformation on the currently selected package | Ctrl + Shift + H | Selected package


Spelling Tools [Enterprise Architect User Guide]

Spelling Tools

Access: Tools | Spelling Tools

Action | Usage | Shortcut | See also
Spell Check Project | Spell check the whole project | Ctrl + F7 | Spell check
Spell Check Current Package | Spell check the current package, selected in the Project Browse | Ctrl + Shift + F7 | Spell check
Spelling Options | Specify a range of options to configure how the spell checker operates |  | Configure options


Data Management Submenu [Enterprise Architect User Guide]

Data Management Submenu

Use the options on the Data Management submenu to manage your project's data.

Action | Usage | Shortcut | See also
Project Transfer | Move a complete project from one repository to another You cannot move a project from a source .EAP file of a version earlier than 3.5.0 |  | Perform a Project Data Transfer
Reset IDs | Reset the table auto increment column values |  | Reset Table Auto Increment or Identity Columns
Project Compare | Compare the total project sizes of two projects |  | Compare Projects
Project Integrity Check | Check the data integrity of a project | Shift + F9 | Check Project Data integrity
Run Patch | Execute an SQL Patch |  | Execute an SQL Patch
Manage .EAP File | Repair, compact or replicate your .EAP file |  | Repair, compact or replicate


Manage .EAP File Submenu [Enterprise Architect User Guide]

Manage .EAP File Submenu

Use the options on this submenu to repair, compact or replicate your .EAP file.

Action | Usage | See also
Repair .EAP File | Repair an Enterprise Architect project If a project has not been closed properly, in rare cases it might not open correctly; this option attempts to repair such projects All users must be logged off the project while it is being repaired | Repair a project
Compact .EAP File | Compact an Enterprise Architect project Eventually projects might benefit from compacting to conserve space Ensure everyone is logged off the target project, then select this option to compact the project. | Compact a project
Make Design Master | Make a design master project; this is the master project for creating replicas | Make a design master project
Create New Replica | Create a new replica from the Design Master | New replica Design Master
Synchronize Replicas | Copy changes from one replica set member to another | Copy changes
Remove Replication | Remove all replication features if you no longer require a model to be replicable | Remove all replication features
Resolve Replication Conflicts | Resolve any conflicts caused when multiple users have changed the same element between synchronization points | Resolve any conflicts


Analyzer [Enterprise Architect User Guide]

Analyzer

The Analyzer menu enables you to perform build, debug and profiling operations on your model code.

Action | Usage | Shortcut | See also
Execution Analyzer | Display the Package Scripts window, which enables you to create and export Package Build Scripts. |  |
Build | Build the application for your current script, and execute the Build command in the Build Scripts dialog. | Ctrl + Shift + F12 | Build the application
Debug | Display the Debug menu, which provides a set of debugging commands. |  | Debug menu
Record | Display the Record menu, which provides various options for recording a debug session. |  | Record menu
Profile | Display the Profiler window, which enables you to report on runtime aspects such as what functions are most-frequently called in an application, which tasks are taking longer than expected, and which tasks are taking the longest time to execute. |  | Profiler window
Test | Display the Test submenu, which provides access to the Testpoint Manager and executing a Test script |  | Test submenu
Simulation | Display the Simulation window, which enables you to simulate the debugging of an application during the design of that application |  |
Breakpoints & Markers | Display the Breakpoints & Markers window, which you use to manage breakpoints and markers for debugging |  | Manage breakpoints and markers
Call Stack | View the currently-running threads in a debugging session, on the Call Stack |  | Capture Current Work Environment
Locals | View the local variables and their values for the current local thread, on the Locals window |  | Locals window
Watches | Evaluate data items that are not available as local variables - such as data items with static Class member items, on the Watches window |  | Watches window
More Analyzer Windows | Display the More Analyzer Windows submenu, which provides access to the Package Build Scripts dialog, the Workbench window, the Modules window and the Memory Viewer window |  | More Analyzer Windows submenu
Run | Execute the Run command you configured in the Build Scripts dialog | Ctrl + Alt + N | Add Run Command
Deploy | Execute the Deploy command you configured in the Build Scripts dialog | Ctrl + Shift + Alt + F12 | Deploy command


Debug Menu [Enterprise Architect User Guide]

Debug Menu

The Debug menu provides a range of options for running a debug session.

Action | Usage | Shortcut | See also
Debugger | Display the Debug window, which enables you to control debugging and shows output from a debug session | Alt + 8 |
Debug Run | Start or resume the debugger If no debug session is in progress, the active Analyzer Script is used to determine which application to run or whether the debugger should attach to an already running process | F6 |
Debug Pause | Suspend execution of process being debugged |  |
Step Into | Step into the current function | Shift + F6 | Step Into Function Calls
Step Over | Step over the current function | Alt + F6 | Step Over Lines of Code
Step Out | Step out of the current function | Ctrl + F6 | Step Out of Functions
Debug Stop | Stop the current debug session | Ctrl + Alt + F6 | Start & Stop Debugger
Generate Sequence Diagram From Stack | Create a Sequence diagram from the Stack Trace History |  | Create Sequence Diagram Of Call Stack


Record Menu [Enterprise Architect User Guide]

Record Menu

The Record menu provides various options for recording a debug session.

Action

Usage

Shortcut

See also

Recorder

Display the Record & Analyze window, which enables you to review the information recorded during a debug session

The Recording History

Recorder Toolbar

Start Debug Recording

Enabled when the program is at a breakpoint

Enter manual record mode; each time you step into a function, the call is captured

When you step out, the return is captured

Stop Debug Recording

Enabled when recording is in progress

Stops recording

Auto Record Thread

Enabled when the program is at a breakpoint

The thread that is halted is recorded, and the program resumes execution; whenever the thread makes a function call or a function call exits, this information is captured to the History window

The Stack Trace History, Stack tab and Source Code Editor dynamically update to reflect the current execution sequence for the thread; Stack Trace Recording ends when the thread ends or when you click on the Stop button

Show/Hide Execution

Display the executing code while the recording is in progress; this slows recording down considerably, and is not used when recording is being controlled by recording markers

The Call Stack is updated in realtime, even while recording is in progress

Watching this window while recording can give a quick picture of what is going on, even without producing a Sequence diagram

View the Call Stack

Generate Sequence Diagram from Recording History

Create a Sequence diagram from the Record & Analyse window

Generating Sequence Diagrams


Test Menu [Enterprise Architect User Guide]

Test Menu

This submenu provides access to the Testpoint Manager and enables you to run test scripts.

Action | Usage | Shortcut | See also
Testpoint Manager | Display the Testpoints window to execute test scripts and monitor or control the output |  | The Testpoints Window
Run Test Script | Execute the Test command you configured in the Build Scripts dialog | Ctrl + Alt + T | Add Testing Command


More Analyzer Windows [Enterprise Architect User Guide]

More Analyzer Windows

The More Analyzer Windows menu provides access to additional analysis tools.

Command | Action | Shortcut | See also
Analyzer Scripts | Create and configure Package Build compiler scripts. | Shift + F12 | Managing Analyzer scripts
Workbench | Display the Workbench window, which enables you to create your own workbench variables and invoke methods on them. |  | Object Workbench Create workbench variables Invoke methods
Modules | Review details of the loaded modules, on the Modules window. |  | Show Loaded Modules
Memory Viewer | Review a process memory debugging session, using the Memory Viewer window. |  | Inspect Process Memory


Addins [Enterprise Architect User Guide]

Addins

The Add-Ins menu enables you to connect to, display information on, work with and manage your Add-Ins.

Action | Usage | Shortcut | See also
<Add-In Name(s)> | Access the facilities of the selected Add-In, through an Add-In submenu (below). For example, if you have TOGAF enabled on your system, you might click on the TOGAF menu option and display a submenu of options available to the TOGAF user in Enterprise Architect. |  |
Add-In Windows | Display a window, or list of windows, provided by any Add-Ins you have installed and enabled. If no windows are provided, displays an empty, docked Add-Ins window. |  |
Manage Add-Ins | Display the Manage Add-Ins dialog, which you use to enable or disable Add-Ins for use. Any technology loaded by an Add-In is automatically enabled; if you do not want to use it, you can disable it on the dialog. |  | Manage Add-Ins dialog

Add-In Submenu

Action | Usage | Shortcut | See also
<Add-In specific options> | List options to perform various functions specific to the Add-In. For example, the MDG Technology For Zachman Framework, as an Add-In, has the options Open Example Model and Insert New Framework Model. |  |
Help | Display the Help subsystem for the Add-In. |  |
About | Display information on the Add-In installation, such as version, registration details and copyright statement. |  |


Settings [Enterprise Architect User Guide]

Settings

The Settings menu enables you to configure various settings for your overall project, such as stereotypes, Tagged Values, cardinality values, datatypes, language macros, local directories, image management.

Action

Usage

Shortcut

See also

UML Types

Configure stereotypes, Tagged Value Types and the cardinality list for your project.

Stereotypes, Tagged Value Types,cardinality list

Project Types

Display the Project Types submenu.

Project Types

Namespace Roots

Locate and delete model namespaces.

Model namespaces

Project Template Package

Configure or change the default element template directory.

Auto Names and Counters

Configure automatic naming for elements.

Configure automatic naming

MDG Technologies

Display the MDG Technologies dialog, which enables you to activate and use MDG Technology files.

MDG Technologies

Code Generation Templates

Modify code generation templates using the Code Templates Editor.

Ctrl + Shift + P

Code Templates Editor

Local Directories and Paths

Configure local directories and paths.

Local directories and paths

Code Datatypes

Add, modify and delete programming languages datatypes.

Programming languages datatypes

Preprocessor Macros

Add and delete preprocessor macros.

Preprocessor macros

Database Datatypes

Add, modify and delete database datatypes.

Database datatypes

Transformation Templates

Modify transformation templates using the Transformation Templates Editor.

Ctrl + Alt + H

Transformation Templates Editor

Images

Open the Image Manager.

Image Manager

Colors

Configure the custom colors for the project. There are two options:

  • Get Project Custom Colors - get the custom colors
  • Set Project Custom Colors - set the custom colors.

Custom colors are as used in the Appearance dialog.

Appearance dialog


Project Types Submenu [Enterprise Architect User Guide]

Project Types Submenu

The Project Types submenu enables you to create and manage project variables and definitions for use across the project.

Action | Usage | Shortcut | See also
People | Display the People dialog, which enables you to configure the authors, clients, resources and roles for your project. |  | People dialog
General Types | Display the General Types dialog, which enables you to configure requirements, status types, constraints and scenarios for your project |  | General Types dialog
Project Indicators | Define the project indicators (risks, efforts and metrics) used in Resource Management |  | Risks Efforts Metrics
Maintenance | Display the Maintenance dialog, which enables you to track problem types and test types |  | Maintenance
Estimation Factors | Display the Estimation factors dialog, which enables you to configure estimation factor types (Technical Complexity Factors, Environmental Complexity Factors, and Default Hour Rate) for your project |  | Estimation factor Technical Complexity Factors Environmental Complexity Factors Default Hour Rate


Window [Enterprise Architect User Guide]

Window

The Window menu provides access to various actions related to configuring open windows.

Action

Usage

Shortcut

See also

Full Screen

Reset the display to full screen so that only the work area and main menu are shown - no toolbars or windows

To return to your normal working display, either click on the Full Screen option again or click on the Close Full Screen pop-up menu option

You can also restore individual menus and toolbars using the View menu options

Save All Modified

Save all modified data

Reload Current View

Refresh the current view

Refresh the current view

Set Focus to Current View

Make the current view the active one, so that key strokes immediately act on that view

Ctrl + Shift + 0

Close Current View

Close the current view

Close All Except Current

Close all except the currently selected view

Close All

Close all opened windows in the main tab view

Autohide Active Window

Autohide the window that currently has focus

Ctrl + Shift + F4

Autohide windows

Autohide All Docked Windows

Autohide all windows that are docked

Autohide windows

Close Active Window

Close the window that currently has focus

Ctrl + F4

Show Start Page

Show or hide the Start Page

The setting of this option persists through shut down and restart, until you specifically change the option again

Start Page

Always on Top

Force the main Enterprise Architect window to be on top of all other windows


Help [Enterprise Architect User Guide]

Help

The Help menu provides access to the Enterprise Architect help files, the Read Me file, the Enterprise Architect End User License Agreement and various features on the Sparx Systems website.

Action | Usage | Shortcut | See also
About EA | View information about Enterprise Architect, including your registration details |  |
Help Contents | Display the Enterprise Architect Help, starting at the introductory page |  |
On-Line Resources | Display the Online Resources submenu; see below |  |
Open Example Model | Open the EA.Example model provided with the Enterprise Architect installer |  |
Register and Manage License Key(s) | Configure and manage the license keys used to register the name and keys for Enterprise Architect and its Add-Ins |  | License Management
View License Agreement | View the Enterprise Architect End User License Agreement |  |
Ordering Information | View information on how to purchase Enterprise Architect |  | Order Enterprise Architect
Read Me | View the Readme.txt file, which details the changes and enhancements in Enterprise Architect, build by build |  |
Keyboard Accelerator Map | View the keyboard accelerator map You can customize your keyboard shortcuts, if required |  | Customize your keyboard shortcuts
EA on the Web | Visit the Sparx Systems website |  | Sparx Systems website

The On-Line Resources Sub-Menu

Access help and resources on-line at the Sparx Systems website.

Action | Usage | Shortcut | See also
User Forum and News | Visit the Enterprise Architect user forum. |  | User forum
Request-a-Feature | Request a feature you would like to see in Enterprise Architect. |  | Request a feature
Bug Report Page | Report the details of a bug you have found in Enterprise Architect. |  | Report the details of a bug
Latest Version Details | Display the Announcements folder of the user forum, providing details of the latest Enterprise Architect build. |  | Details of the latest Enterprise Architect build
Automation Interface | Access the Enterprise Architect Automation Interface pages on the Sparx Systems website. |  | Automation Interface
Introducing UML | Access the Sparx Systems online UML tutorials. |  | UML tutorials
Pricing and Purchase Options | Purchase or upgrade Enterprise Architect over the internet. |  | Purchase or upgrade Enterprise Architect


Standard Windows [Enterprise Architect User Guide]

Standard Windows

There are many dockable windows available to use in Enterprise Architect. These can be accessed either:

  • Through the View menu, or
  • Through the context menu accessed by right-clicking on the main menu

Having displayed a window, you can also reduce it to a tab off to one side, or autohide it.

The dockable windows available include:

Topic | Link
Project Browser | Project Browser
Properties | Properties
Project Information | The Project Information Window
Testing | Testing
Maintenance | Maintenance
Toolbox | Toolbox
Resources | Resources
Source Code Viewer | Source Code Viewer
Scripting window | Scripting window
Debug | Debug
Learning Center | Learning Center
Notes | Notes
Traceability | Traceability
Tagged Values | Tagged Values
Project Management | Project Management
Model Views | Model Views
Element Browser | Element Browser
Relationships | Relationships
Scenarios & Requirements | Scenarios & Requirements
Pan & Zoom | Pan & Zoom
Layout Tools | Layout Tools
Team Review | Team Review
Diagram Filters. | Diagram Filters.

Learn More:

  • Docking Windows
  • Autohide Windows

Notes:

  • On the Testing, Maintenance and Project Management windows, any descriptive, history, input or results text for a selected item is also displayed in the Notes window; you cannot edit this text in the Notes window


Dock Windows [Enterprise Architect User Guide]

Dock Windows

A number of Enterprise Architect windows can be freely positioned on the screen, or docked against any edge of the application workspace. These windows are collectively called dockable windows.

Drag the window around the application workspace until you find a comfortable way of working. The examples below describe a few ways you can rearrange the windows to suit your work habits.

Floating Windows

To float a window anywhere on the screen, just drag the window by its title bar to the required position.

Dock a Window Against an Edge

The navigation compass enables you to dock windows against an edge of the application workspace. You drag the window over one of the points of the compass to dock it into a tabbed location. The window does not overlap any other window, so if you are docking several windows you could cover the workspace; however, you can avoid this by combining them in a single tabbed frame.

To dock a window against an edge, follow the steps below

Step | Action | See also
1 | Click on the item to move and start dragging it towards the required position. This activates the navigation compass. navicompass |
2 | Drag the window onto a compass point. The screen display shades the area where the window is to be placed. |
3 | Release the mouse button over the compass point to confirm the position; this docks the window. |

In the example below, when the mouse button is released the Model Views window is docked into the shaded area.

Dock Required Windows into One Frame

You can also dock all of the windows you are using into a single frame, by either:

  • Dragging the title bar of each window up to the title bar of the first docked window, or
  • Dragging each window over the 'tabbed frame' icon in the middle of the compass, when another window is already docked.

You can do this with all dockable windows.

To separate a window from a combined frame, click on the window tab at the bottom of the frame and drag it away.

Learn More:

  • Dockable Windows


Autohide Windows [Enterprise Architect User Guide]

Autohide Windows

Autohide Using the Toggle Button

  • You can automatically hide browser frames by clicking on the AutoHideButton button, located in the top right corner of the frame.
  • To turn off the autohide for a particular set of windows within a frame, click on the AutoHideTurnOffButton button.

Use Automatically Hidden Windows

When you automatically hide a set of windows in a frame, the tabs contract to the outside of the application workspace.

Hover the cursor over a window symbol to expand both the tab and the associated window.

You can also use the View | Visual Style | Animate Autohide Windows menu option to animate windows that have been automatically hidden.


Standard Toolbars [Enterprise Architect User Guide]

Standard Toolbars

Enterprise Architect provides a set of toolbars containing convenient shortcuts to a wide range of common functions that you can perform on your project as a whole through to the individual modeling units. You can also customize the toolbars by deleting and reordering the default button set.

The toolbars are initially displayed in the toolbar banner at the top of the workspace, but you can display them at the foot of the workspace, drag and dock them within the workspace, or float them over the application; this is useful when you are using a certain set of functions a lot in a particular area.

You can also dock toolbars to the edge of the Enterprise Architect workspace by dragging them by the title bar and placing them against the appropriate edge.

The toolbars available include:

Topic | Link
Default Tools Toolbar | Default Tools Toolbar
Project Toolbar | Project Toolbar
Code Generation Toolbar | Code Generation Toolbar
UML Elements Toolbar | UML Elements Toolbar
Diagram Toolbar | Diagram Toolbar
Current Element Toolbar | Current Element Toolbar
Current Connector Toolbar | Current Connector Toolbar
Format Toolbar | Format Toolbar
Workspace Layouts Toolbar | Workspace Layouts Toolbar
Status Bar | Status Bar
Notes Toolbar | Notes Toolbar

Each toolbar has a drop-down arrow at the right-hand end, toolbar arrow , which can be enabled or hidden from the Visual Style Sub-Menu. If you click on this drop-down arrow, the Add or Remove Buttons option displays. Select this option to show a context menu listing the toolbars that are currently displayed, and an option to customize both your own toolbars and the system-provided toolbars.

You can select one of the toolbars identified on the context menu to list the icons available through that toolbar. Click on the icons as necessary to hide or show them in the toolbar.

Learn More:

  • Customize Commands
  • The Visual Style Sub-menu
  • The Customize Window


Default Tools Toolbar [Enterprise Architect User Guide]

Default Tools Toolbar

The Default Tools toolbar provides instant access to the most commonly used tools in Enterprise Architect including saving, printing and technology selection.

Access: View | Toolbars | Default Tools

Use To:

  • Create new projects and open existing projects
  • Save changes to the current diagram
  • Edit, cut, copy and paste diagram objects
  • Print preview, configure print settings and print the current diagram
  • Open the Package Browser
  • Define, manage and run Model Searches
  • Select the working Technology for toolbox and element creation
  • Access Enterprise Architect Help

Reference:

Action | Usage | Shortcut | See also
New Project | Create a new Enterprise Architect project (as EAP file) | Ctrl + N | New Enterprise Architect Project
Open Project | Open an existing project | Ctrl + O | Open a project
Save Diagram | Save the current diagram | Ctrl + S |
Cut | Cut selected element(s) from diagram and copy to Enterprise Architect clipboard | Ctrl + X |
Copy | Copy selected element(s) from diagram to Enterprise Architect clipboard | Ctrl + Space ( Ctrl + C ) |
Paste | Paste from Enterprise Architect clipboard as reference on current diagram | Shift + Insert ( Ctrl + V ) |
Undo | Undo last action | Ctrl + Z | Undo last action
Redo | Redo last undone action | Ctrl + Y | Redo last action
Print Preview | Display the current diagram as it will appear when printed |  |
Page Setup | Configure print settings for the current diagram |  |
Print | Print the current diagram | Ctrl + P |
Package Browser | Displays current package as a list of editable elements |  | Package Browser
Open Model Search | Model Search window - define, manage and run model searches | Ctrl + Alt + A | Use model search
Technology List | Sets the active technology for the Toolbox and the diagram space bar context element menu |  | Manage MDG Technologies
Help Contents | Access the Enterprise Architect Help | F1 | Help Menu

Notes:

  • The Cut and Copy buttons are only enabled when an item is selected on the current diagram
  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Default Tools menu option


Project Toolbar [Enterprise Architect User Guide]

Project Toolbar

The Project toolbar provides tools for performing routine tasks such as creating packages, diagrams and elements, searching the model and generating documentation.

Access: View | Toolbars | Project

Use to:

  • Reload current project
  • Create new diagrams, packages and elements
  • Perform model searches
  • Generate documentation
  • Examine project issues
  • Review glossary terms
  • Set project options

Reference:

Action | Usage | Shortcut | See also
Reload Project | Reload the current project | Ctrl + Shift + F11 | Reload current project
New Diagram | Create a new diagram in currently selected package | Ctrl + Insert |
New Package | Create a new package within the currently selected package | Ctrl + W↑↑ ↑↑ |
New Element | Create a new model element under the currently selected package or element | Ctrl + M |
Search Browser | Run a simple search within the project browser | Ctrl + Shift + F |
Search Model | Search the entire project using pre-defined and customized searches | Ctrl + F | Model Search
RTF Reports | Define and generate RTF project reports | F8 |
Project Issues | Review project issues |  |
Project Glossary | Define glossary terms |  |
Set Options | Configure display and behaviour options |  |

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Project menu option


Code Generation Toolbar [Enterprise Architect User Guide]

Code Generation Toolbar

The Code Generation toolbar can import, generate, synchronize and open source code. Convenient menus are provided to set the default language and default database type for each Project.

Access: View | Toolbars | Code Generation

Use to:

  • Set the default language
  • Set the default database type
  • Import Classes and Interfaces from source files
  • Generate code for a single selected Class
  • Batch generate code for one or more selected Classes
  • Synchronize selected Classes with source code
  • View code in default editor

Reference:

Action | Usage | Shortcut | See also
Set Default Language | Set the language for all newly created elements |  |
Set Default Database Type | Set the database type for all newly created database elements |  |
Import | Choose files to import for reverse engineering source code into the current diagram. Use the drop-down menu to override the project's default language for a particular import. |  |
Generate Source Code | Generate Source code for the currently selected element | F11 |
Batch Generate Source Code | Generate Source code for multiple selected elements | Shift + F11 |
Synchronize Element with Source Code | Synchronize selected element with its associated source code | F7 |
Open Source Code | Open the source code of the selected Class in the default external editor for that language Source code must have been generated, and the selected element must be a Class | F12 | The Source Code Viewer

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Code Generation menu option


UML Elements Toolbar [Enterprise Architect User Guide]

UML Elements Toolbar

The UML Elements toolbar can quickly and easily insert UML elements onto a diagram, including Notes, text, hyperlinks and diagram specific UML elements.

Access: View | Toolbars | UML Elements

Use to:

  • Insert a variety of elements onto the current diagram

Reference:

Action | Usage | Shortcut | See also
New Element | Add a new element to the current diagram. Displays a list of elements matching the content of the current Toolbox pages, with an Other option to list other elements | Space bar | Creating Objects
New Boundary | Add a simple boundary element to the current diagram |  | System Boundary
New Note | Add a new Note element to the current diagram |  | Note
New Text Element | Add a simple text element to the current diagram |  | Text element
Diagram Note Element | Add a diagram properties note to the current diagram |  | Diagram note
Diagram Legend | Add a diagram legend element to the current diagram |  | Diagram Legend
New Hyperlink | Add a hyperlink element (web page, file, help topic) to the current diagram |  | Hyperlink
New Note Link | Create a note link connection from an element to a note in the current diagram |  | Note link

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions


Diagram Toolbar [Enterprise Architect User Guide]

Diagram Toolbar

The Diagram toolbar provides tools to lay out and improve the appearance of diagrams, including zoom controls to better manage large diagrams and quickly identify key areas of interest. The Diagram toolbar can be docked to any main window edge or floated freely in a convenient location for quick access.

Access: View | Toolbars | Diagram Tools

Use to:

  • Layout diagrams
  • Set element Z-Order
  • Navigate between current open diagrams
  • Zoom in and out
  • Access properties and delete elements

Reference:

Action | Usage | Shortcut | See also
Align Left | Align selected elements to the left | Ctrl + Alt + ← |
Align Right | Align selected elements to the right | Ctrl + Alt + → |
Align Top | Align selected elements to the top | Ctrl + Alt + Up Arrow |
Align Bottom | Align selected elements to the bottom | Ctrl + Alt + ↓ |
Z Order Top | Bring selected element to top of Z order |  | Diagram Context Menu
Z Order Bottom | Move selected element to bottom of Z order |  | Diagram Context Menu
Previous diagram | Go to previous diagram | Alt + ← |
Next Diagram | Go to next diagram | Alt + → |
Default Diagram | Go to default diagram |  |
Zoom In | Zoom In |  |
Zoom Out | Zoom Out |  |
Zoom to fit diagram | Zoom to fit diagram |  |
Zoom to fit page | Zoom to fit page |  |
Zoom to 100% | Zoom to 100% |  |
Diagram Auto-layout | Auto-layout diagram (not for Behavioral diagrams) in the Digraph layout |  | Digraph layout
Diagram Properties | Show diagram properties | F5 |
Paste Appearance | Paste appearance as copied into the Painter from an element's Appearance context menu |  | Appearance context menu
Delete | Delete selected element(s) | Ctrl + D |

Notes:

  • Any actions that result in a change in diagram content and appearance (including Zoom) are saved as changes to the diagram
  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Diagram menu option


Current Element Toolbar [Enterprise Architect User Guide]

Current Element Toolbar

The Current Element toolbar performs common operations on a selected element such as viewing properties, operations, attributes. It is also capable of specifying the visibility of element features and compartments and locking an element.

Access: View | Toolbars | Current Element

Use to:

  • View and modify element properties
  • Set an element's parent or implement interfaces
  • View and modify Operations
  • View and modify Attributes
  • Specify the visibility of element features and compartments
  • Specify the run state of an element (or, for Parts, property value)
  • View use of element in other structures such as diagrams
  • Locate the element in the Project Browser window
  • View the cross reference list for this element
  • Lock or unlock the current element
  • Add a Tagged Value to the current element

Reference:

Action | Usage | Shortcut | See also
Edit Properties | View and edit properties of the selected element | Alt + Enter |
Set Parent | Set the current element's parent or implement interfaces | Ctrl + I |
Operations | Create and edit operations for the selected element | F10 |
Attributes | Create and edit attributes for the selected element | F9 |
Show Features | Specify which compartments and information to display for the selected element in the current diagram | Ctrl + Shift + Y |
Set Run State | Set the element run state or attribute initializers | Ctrl + Shift + R |
Find Element Usage | Find all diagrams in which the selected element is used. | Ctrl + U |
Find in Project Browser | Find the selected element in the Project Browser | Alt + G |
Configure References | Set and view custom references to other elements and diagrams | Ctrl + J |
Lock Element | Apply or release a lock on the selected element |  | Lock Model Elements
Add Tagged Value | Add a tagged value tot he selected element | Ctrl + Shift + T |

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Current Element menu option


Current Connector Toolbar [Enterprise Architect User Guide]

Current Connector Toolbar

The Current Connector toolbar can easily modify the properties and style of a connector, show and hide labels/connectors and pin each end.

Access: View | Toolbars | Current Connector

Use to:

  • View and modify properties for the current connector
  • Set the connector line style
  • Attach a note to the currently selected connector
  • Set the visibility for labels of the connector
  • Set the visible or hidden relations in the current diagram
  • Reverse the direction of the currently selected connector
  • Pin the start and/or connector ends to a position on the target element (drop menu)

Reference:

Action | Usage | Shortcut | See also
Edit Properties | View and edit properties of the selected connector | Enter |
Set Style | Set the connector line style - choose from list |  |
Attach Note | Attach a note or constraint to one or more connectors in the current diagram |  |
Show Labels | Set label visibility for the selected connector |  |
Show Relationships | Show and hide specific relationships within the current diagram | Ctrl + Shift + I |
Reverse Direction | Reverse the direction of the selected connector |  |
Pin Connector Ends | Pin end points of the selected connector |  |

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Current Connector menu option


Workspace Layouts [Enterprise Architect User Guide]

Workspace Layouts

The Workspace Layouts toolbar provides tools for quickly switching between pre-defined workspace layouts. It also provides tools for laying out your workspace then saving the resulting layout. The Workspace Layouts toolbar can be docked to any main window edge or floated freely in a convenient location for quick access.

Access: View | Toolbars | Workspace Layouts

Use to:

  • Save the current workspace layout
  • Manage workspace layouts
  • Apply a selected workspace layout
  • Switch to Views, such as Element List, Model Search and Relationship Matrix
  • Activate or select main windows, such as Project Browser, Team Review, Element Properties and Execution Analyzer
  • Toggle visibility of toolbars

Reference:

Action

Usage

Shortcut

See also

Save As

Save the current workspace layout to file

Manage Layouts

Opens the Workspace Layouts dialog

Select Layout

Select and apply a saved workspace layout

Views

From a drop-down menu, choose one of several views to display

  • Element list
  • Model Search
  • Relationship Matrix
  • Auditing
  • Web Browser

Windows

Choose from a drop-down menu, one of many main windows to display or select. Windows include;

  • Project Browser
  • Team Review
  • Element Properties
  • Execution Analyzer

Toolbars

Toggle visibility of toolbars

Fullscreen

Hide all docked windows and view the current view in full screen

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Workspace Layouts menu option


Debug & Record Toolbar [Enterprise Architect User Guide]

Debug & Record Toolbar

The Debug & Record toolbar provides tools for debugging program source code. The Debug & Record toolbar can be docked to any main window edge or floated freely in a convenient location for quick access.

Access: View | Toolbars | Debug & Record

Use to:

  • Attach to running processes
  • Run, pause or terminate program execution
  • Step over, step into or step out of program statements
  • Record program execution

Reference:

Action

Usage

Shortcut

See also

Drop-down Command List

Show drop-down menu containing commands for running and managing Analyzer scripts

Attach to Process

Attach to a running process

Debug

Begin or continue execution of the current program

F6

Pause-Resume

Pause or resume program execution

Step Over

Step over the next statement

Alt + F6

Step In

Step into the next statement

Shift + F6

Step Out

Step out of the current method

Ctrl + F6

Debug Stop

Terminate execution of the current program

Ctrl + Alt + F6

Manual Record

Manually step record the current thread

Recording Sequence Diagrams

Auto Record

Auto record an execution trace for the current thread

Step Through

Step through

This button is available when manually recording steps; it attempts to step into a function on the line of code

If a function call is made, the function call is captured and the debugger steps back out of the function to either the same line or the next

Alt + ;

Stop Recording

End recording of program execution

Notes:

  • You can move this toolbar to any dockable position and it retains that position in subsequent sessions
  • You can hide or show the toolbar by clicking on the View | Toolbars | Diagram menu option


Status Bar [Enterprise Architect User Guide]

Status Bar

The Status bar displays at the bottom of the Enterprise Architect workspace. It provides feedback on current operations and other status information, and enables you to manipulate the scale of a diagram.

Access: View | Toolbars | Status Bar

Use to:

  • Identify the type and name of the currently selected element in a diagram (or the status of a Model Search)
  • Identify the name of the currently-selected feature, if one is selected
  • View the current coordinates of the top left corner of the selected element, and its width and height
  • Adjust the scale of the current diagram by up to 50%, through use of a zoom slider
  • Check the status of ( Caps Lock ), ( Num Lock ), ( Scrl Lock ) and the WAN Optimizer (bold indicates 'in use', pale indicates 'off')
  • Check, by the presence of a triangle in the bottom right corner, that the screen is not maximized; you can drag the screen corner to increase the size of the window

Reference:

Action | Usage | Shortcut | See also
Right-click on Status Bar | Configure the status bar; open a context menu that enables you to hide or show the element name, element coordinates, zoom slider or status indicators |  |
Zoom Out | Zoom out on the current diagram |  |
Adjust Zoom | Adjust the scale of the current diagram by moving the slider |  |
Zoom In | Zoom in on the current diagram |  |

Notes:

  • This facility has no impact on other users who might view the diagram
  • The facility has the same function as the Scale view by field on the Diagram Appearance page of the Options dialog; changes in the 'zoomed' display scale of a diagram update this field and are applied to any other diagrams that you open
  • The facility also has no impact any other diagram Zoom facility in Enterprise Architect
  • You can hide or show the toolbar by clicking on the View | Toolbars | Status Bar menu option


Customization [Enterprise Architect User Guide]

Customization

You can configure various settings using the Options dialog, which you display by selecting the Tools | Options menu option. In addition, there are several options to change the overall look and feel of Enterprise Architect in the View | Visual Style submenu. Those settings and options are explored in this topic.

On occasion, you might want to use Enterprise Architect for two distinct types of operation at the same time. You can do this by adding the following command line argument when you run Enterprise Architect:

/regkey:<regkeyname>

This stores registry settings - such as window layouts - to a different path in the registry.

Learn More:

  • Workspace Layouts
  • Local Options
  • Visual Styles


The Customize Dialog [Enterprise Architect User Guide]

The Customize Dialog

The Customize dialog enables you to customize Enterprise Architect:

Access:

  • Select the Tools | Customize option, or
  • At the far right of any toolbar, click on the drop-down arrow and on the Add or Remove buttons option, then select the Customize option.

Topic | Link
Commands | Commands
Toolbars | Toolbars
Tools | Tools
Keyboard Keystrokes | Keyboard Keystrokes
Menus | Menus
Options. | Options

If a documented toolbar icon, keyboard combination or menu option does not appear to be available, select the appropriate tab and click on the Reset or Reset All button. This restores the toolbar, menu or key settings to the defaults.

However: Be aware that this also removes any customized icons, options or combinations you might have set, because it is possible that the customization itself has displaced or affected the default setting.


Customize Commands [Enterprise Architect User Guide]

Customize Commands

The Customize dialog Commands tab provides access to many of Enterprise Architect's functions, enabling you to place them into a toolbar.

To add a command to a toolbar, click on the category in the Categories: panel and select the command from the list for that category in the Commands: panel. Drag the command on top of the toolbar to add it to.

If you right-click on the command icon in the toolbar while the Customize dialog is open, a context-sensitive menu displays. This menu offers options for deleting commands from a toolbar, and for changing the appearance of commands.

To remove a command from the toolbar, right-click on the command graphic or text and select the Delete menu option.

To change the appearance of a command graphic, right-click on the command graphic or text and select the Button Appearance context menu option. The Button Appearance dialog displays, which you can use to add graphical icons to commands that do not have them by default.

Some commands do not come with a convenient icon, which results in an empty toolbar button. Either avoid placing these commands on toolbars or use the context-sensitive menu to select an appropriate icon for the command.

Read the Create a New Toolbar and Populate it with Commands procedure of the Customize Toolbars topic.


Customize Toolbars [Enterprise Architect User Guide]

Customize Toolbars

The Toolbars tab on the Customize dialog enables you to:

  • Hide or show toolbars by selecting the appropriate checkbox
  • Rename toolbars
  • Create new toolbars
  • Delete toolbars
  • Modify toolbar contents by dragging commands onto a visible toolbar from the Commands tab or from another toolbar
  • Reset a toolbar (or all toolbars) to the default contents and position, and
  • Display text labels under the toolbar icons (perhaps temporarily, just to check what the icons do).

Create a New Toolbar and Populate it with Commands:

To create a new toolbar and populate it with commands, follow the steps below:

Step

Action

See also

1

Select the Tools | Customize menu option

The Customize dialog displays

2

Click on the Toolbars tab

3

Click on the New button

The Toolbar Name dialog displays

4

In the Toolbar Name field, type a name for your new toolbar and click on the OK button

Your new toolbar is created

5

To add commands from another toolbar to your new toolbar, see step 8

To add menu commands to your toolbar, click on the Commands tab

This forces the new toolbar behind the Customize dialog, so you might have to drag the Customize dialog to the side to find your new toolbar

6

Find the command to add to your toolbar in the Commands list

The Categories list on the left represents the Enterprise Architect menu structure and the Commands list updates each time you click on a different category

7

Drag the selected command from the list into the new toolbar

If you selected the Show text labels checkbox, your toolbar should now look like this:

CreateNewToolbar-Step5

If you did not select the Show text labels checkbox, your toolbar should look like this:

CreateNewToolbar-Step5-NoText

8

If the command you require is on another toolbar, display that toolbar and drag it to position it near your new toolbar

Press (Ctrl) and drag the required icon for the command from the existing toolbar onto your new toolbar

Notes:

  • You can select the Show text labels checkbox to display textual descriptions of toolbar items
  • You can add as many commands to your toolbar as required; your new toolbar behaves the same way as other toolbars - you can position it next to the other toolbars at the top of the application workspace, dock it to the side of the workspace or close it
  • On the Customize dialog, you can customize all the listed toolbars except for the Format Tool toolbar (which is actually tied to displayed diagrams)

Learn More:

  • Customize Commands


Custom Tools [Enterprise Architect User Guide]

Custom Tools

The Tools tab on the Customize dialog provides a means of extending the power of the Enterprise Architect desktop.

From this toolbar you can configure custom tools and make them accessible from the Main Menu. You can create menu options that hyperlink to different applications, compilers, batch scripts, automation scripts, URLs or documentation.

How to:

To add and configure custom tools, follow the steps below

Step | Action | See also
1 | Select the Tools | Customize menu option The Customize dialog displays |
2 | Click on the Tools tab |
3 | Click on the New icon (left of the red X ) A blank field displays in the Menu contents list |
4 | Type in the name of the tool as it should appear in the menu |
5 | In the Command field, type the name of the tool .exe file to use; the tool must be a valid filename |
6 | Add any arguments required by the tool, and specify an initial directory if required | Opening External Tools Passing Parameters to External Applications
7 | Close the Customize dialog Your tool should have now been added to the Tools menu |


Open External Tools [Enterprise Architect User Guide]

Open External Tools

When configuring custom tools in Enterprise Architect, you can specify a file to be opened by the external application.

Select the Tools | Customize menu option. The Customize dialog displays; click on the Tools tab. Now you can:

  • Specify a custom tool (application) using the Command field
  • Define a file to open or parameters to pass to this application, using the Arguments field.

Example 1

This example opens the file c:\Temp\Customer Account.cls using Wordpad. If you save from within Wordpad the initial directory is c:\Temp.

If there are any spaces in the paths in the Command, Arguments or Initial Directory fields, you must enclose the whole path in double quotes. For example:

"c:\Temp\Customer Account.cls" must have quotes but c:\Temp\CustomerAccount.cls does not have to have quotes.

Example 2

This example opens the file c:\Temp\Customer Account.cls using VB. As VB is not installed with the operating system, the whole file path for VB must be included in the Command field; you can select this using the ( ... ) (Browse) button to locate the VB executable. If you save from within VB the initial directory is c:\Temp.


Pass Parameters to Applications [Enterprise Architect User Guide]

Pass Parameters to Applications

When configuring custom tools in Enterprise Architect, you can pass parameters to the application.

Select the Tools | Customize menu option. The Customize dialog displays; click on the Tools tab. Now you can:

  • Specify a custom tool (application) using the Command field
  • Define a file to open or parameters to pass to this application using the Arguments field

The available parameters for passing information to external applications are:

Parameter | Description | Notes
$f | Project Name | For example, C:\projects\EAexample.eap.
$F | Calling Application (Enterprise Architect) | Enterprise Architect.
$p | Current Package ID | For example, 144.
$P | Package GUID | GUID for accessing this package.
$d | Diagram ID | ID for accessing associated diagram.
$D | Diagram GUID | GUID for accessing associated diagram.
$e | Comma separated list of element IDs | All elements selected in the current diagram.
$E | Comma separated list of element GUIDs | All elements selected in the current diagram.

Learn More:

  • Custom Tools
  • Opening External Tools

For more information on using the Automation Interface, visit www.sparxsystems.com/AutIntVB.htm.


Customize Keyboard [Enterprise Architect User Guide]

Customize Keyboard

The Keyboard tab on the Customize dialog enables you to configure shortcuts used to access main menu options. This is convenient for creating additional shortcut keys or for changing the current configuration to match your work habits or other applications.

Access: Tools | Customize

How To:

To modify a keyboard shortcut, follow the steps below:

Step

Action

See also

1

Select the Customize menu option

The Customize dialog displays

2

Click on the Keyboard tab

In the Category field click on the drop-down arrow and select the menu containing the command to modify

3

In the Command field, click on the drop-down arrow and select the command

The current shortcut key (if any) for the command is displayed in the Current Keys field

4

Move the cursor to the Press New Shortcut Key field and press the required shortcut key(s) for this command

Press the actual keys to use; for example, to use ( F5 ) press the ( F5 ) key, don't type F then 5

The Assign button might be disabled if the selected keyboard shortcut is already used for another command; if this occurs the already existing command is shown and you must select a different shortcut key

5

Once you have selected an available shortcut, click on the Assign button to apply the change

6

Adding a keyboard shortcut to a command that already has a keyboard shortcut creates multiple shortcuts for a single command

You can remove the previous shortcut by selecting it and clicking on the Remove button

Notes:

  • Modified shortcut keys are stored in the registry, so they only affect the current user
  • You can revert to the default shortcut keys at any time, by clicking on the Reset All button


Customize Menu [Enterprise Architect User Guide]

Customize Menu

The Menu tab on the Customize dialog enables you to customize the appearance of your menus.

Option

Description

See also

Application Frame Menus

Currently the Show Menus For feature is disabled as Enterprise Architect is not an MDI application

Context Menus

Currently this feature is disabled

Menu Animations

The following menu animations can be selected from the Menu animations drop-down list:

  • None
  • Unfold
  • Slide
  • Fade
  • [Default]

Menu Shadows

Menu shadows can be toggled on or off by selecting or clearing the Menu shadows checkbox

Remove Menu Options

Some menu options might not be of relevance to you

If you prefer not to display such options, follow the steps below

  1. Whilst the Menu tab of the Customize dialog is displayed, click on the appropriate chain of options in the main menu bar to display the option to delete
  2. Right-click on the option and select the Delete option from the context menu

Notes:

  • When you perform a major upgrade of Enterprise Architect (such as from release 8.0 to 9.0) the menus are reset and deleted options are replaced.


Customize Options [Enterprise Architect User Guide]

Customize Options

The Options tab on the Customize dialog enables you to customize the appearance of toolbar items.

You can toggle the following options by selecting or clearing the checkboxes:

  • Show Screen Tips on toolbars
  • Show shortcut keys in Screen Tips
  • Use Large Icons.


Visual Styles [Enterprise Architect User Guide]

Visual Styles

You can configure the overall look and feel of Enterprise Architect to suit your working environment. Options include various Microsoft Office and Visual Studio styles, or themes.

Access: View | Visual Style | Select Visual Style

How to:

To reset the appearance of Enterprise Architect, follow the steps below:

Step | Action | See also
1 | Select the Select Visual Style menu option The Application Look dialog displays |
2 | Select the required style from the list If you select the Microsoft Office 2007 or Microsoft Office 2010 radio buttons, you can also select from a number of base-color options |
3 | To try out styles, click on the Apply button To set the style and resume work, click on the OK button |

Notes:

  • You can also enable customization of toolbars and menus, and animate auto-hidden windows

Learn More:

  • Customize Menu
  • Autohide Windows


Manage Workspace Layout [Enterprise Architect User Guide]

Manage Workspace Layout

The Manage Workspace Layouts icon displays the Workspace Layout dialog, which lists the currently-available user-defined and system layouts.

In the Existing Workspace Layout panel at the bottom of the dialog, the Based On: field identifies the defined layout that the current workspace layout was derived from - you might have moved or closed windows since applying that layout. The highlighted (Copy of existing Workspace Layout) at the top of the Workspace Layout dialog is a capture of the workspace layout immediately before you opened the dialog.

Action

Description

See also

Change Layout

You can now change the layout in the Existing Workspace Layout panel to:

  • The original layout (as identified by the Based On: field), discarding any changes you might have made
  • The Copy of existing Workspace Layout, preparatory to saving the changes in a new named layout
  • One of the other named layouts.

To change the layout in use, either:

  • Double-click on the required layout name
  • Click on the layout name and click on the Apply button or OK button, or
  • Right-click on the layout name and select the Apply context menu option.

When the layout in use changes, the layout name in the toolbar Workplace Layout Selection field also changes.

Copy Layout

To copy a layout, either:

  • Change the layout in use to the required layout and click on the Save As button, or
  • Right-click on the layout name and select the Save As context menu option.

The Save Custom Workspace Layout dialog displays.

In the Custom Workspace Layout Name field, type a name for the layout. Again, by selecting an existing name you can change an existing layout to something different. Click on the Save button.

If you already have tailored windows or views that you want to include in your selected layout, select the Include active custom views checkbox.

Delete Layout

To delete a workspace layout, right-click on the layout name and select the Delete context menu option. Enterprise Architect prompts you to confirm or cancel the deletion.

Workspace Layout Selection

Enterprise Architect provides a number of layouts of windows and toolbars to suit particular areas of work, such as Requirements Management, Code Engineering and Debugging. As described above, you can also add your own layouts to the drop-down list; these custom layout names have a preceding asterisk in the drop-down list for the field (the system-provided layouts are not marked with an asterisk).

To switch to another layout, click on the drop-down arrow and click on the required layout.


Other Windows [Enterprise Architect User Guide]

Other Windows

Most of the windows in Enterprise Architect have a specific, task oriented purpose. Two windows have broader functions.

Window | Detail | See also
System Output Window | Displays data that Enterprise Architect generates during each of a range of processes | The System Output Window
Web Browser | Enables you to search for and use internet facilities within your Enterprise Architect work area. | The Web Browser


The Output Window [Enterprise Architect User Guide]

The System Output Window

The System Output window is used to display information generated by internal Enterprise Architect processes, or by Add-Ins and other third-party tools. This window can provide useful information during long-running processes and batch operations. Many validation processes within Enterprise Architect write out their results to this window.

Access:

  • View | System Output ( Ctrl+Shift+6 )
  • Element Context Menu
  • Notes Window Context Menu

Use to:

  • Validate information
  • Progress information during launch of external processes
  • Command line output from Build and Test
  • Parse errors generated during import of various types of files
  • Auditing Information *
  • Re-docking the Model Search results into the Output window

How to:

Right-click on an item and select context menu options to:

  • Copy the selected item to the clipboard
  • Copy all items to the clipboard
  • Save the output to an external file
  • Clear the output from the window
  • Rollback selected Get All Latest updates to a version controlled package

Drag selected items/text out of the System Output window and onto a diagram to quickly create a named element.

Double-click on model validation errors or parsing errors to display the source of the error.

Switch between tabs to view different categories of information from different tools.

Notes:

  • The System Output window can also used by Add-Ins, if they are configured to do so.
  • * (Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect) The Audit History tab of the Output window shows a history of changes to any element or connector selected from the Audit View, the Package Browser, the Diagram List, the Project Browser or the current diagram (Auditing must be turned on)


The Web Browser [Enterprise Architect User Guide]

The Web Browser

The Web Browser displays as a tab of the central work area, like the Start Page, Model Search, Package Browser and Diagram View. It provides access within Enterprise Architect to internet facilities such as email, websites and search engines.

To access the Web Browser:

  • Press ( Ctrl+Alt+W ) , or
  • Select the View | More Project Tools | Internal Web Browser menu option.

The Web Browser opens at the default home web site; you define the default home website, search engine and email exchange address on the General page of the Options dialog.

To access the:

  • Email exchange server, click on the 'envelope' icon in the toolbar; the email login window displays
  • Web search engine (such as Google), click on the 'spyglass' icon in the toolbar; the search engine screen displays
  • Home web site, after displaying other web pages, click on the 'house' icon in the toolbar.

To go directly to another website or email server (your internet security permitting), in the Address field type or select the website http address and click on the Go button.


Keyboard Shortcuts [Enterprise Architect User Guide]

Keyboard Shortcuts

The table below lists the default keyboard shortcut functions within Enterprise Architect.

Notes:

  • You can also display the key combinations on the Help Keyboard dialog (Help | Keyboard Accelerator Map; click on the drop-down arrow in the Category field and select the appropriate category)
  • There are some additional shortcuts using the keyboard and mouse in combination; see the Keyboard-Mouse Shortcuts topic
  • If necessary, you can change these keyboard shortcuts using the Keyboard tab of the Customize dialog
Action | Shortcut | Category
Create a new Enterprise Architect project | Ctrl + N | File
Open an Enterprise Architect project | Ctrl + O | File
Open Source File | Ctrl + Alt + O | File
Reload the current project | Ctrl + Shift + F11 | File
Print the active diagram | Ctrl + P | File
Undo Change | Ctrl + Z | Edit
Redo Change | Ctrl + Y | Edit
Add a single element to the clipboard list | Ctrl + Space | Edit
Paste element as metafile from clipboard | Ctrl + Shift + Insert | Edit
Paste element as new | Ctrl + Shift + V | Edit
Paste element(s) from the clipboard | Shift + Insert | Edit
Bookmark current element with red marker | Shift + Space | Edit
Delete selected element(s) in diagram | Delete or Ctrl + D | Edit
Delete selected element(s) from model (through diagram OR Project Browser) | Ctrl + Delete | Edit
Search for items in the project | Ctrl + F | Edit
Set focus to current window | Ctrl + Shift + 0 | Window
Autohide the current window | Ctrl + Shift + F4 | Window
Hide the current window | Ctrl + F4 | Window
View Project Browser | Alt + 0 | View
View Properties window | Alt + 1 | View
View Project Information window | Alt + 2 | View
View Testing window | Alt + 3 | View
View Maintenance window | Alt + 4 | View
Display Toolbox | Alt + 5 | View
View Resources window | Alt + 6 | View
View Source Code window | Alt + 7 | View
View Debug Workbench | Alt + 8 | View
View Notes window | Ctrl + Shift + 1 | View
View Element Relationships window | Ctrl + Shift + 2 | View
View Rules and Scenarios (Requirements and Constraints) window | Ctrl + Shift + 3 | View
View Traceability window | Ctrl + Shift + 4 | View
View Tagged Values window | Ctrl + Shift + 6 | View
View Project Management window | Ctrl + Shift + 7 | View
View Output window | Ctrl + Shift + 8 | View
View Learning Center | Alt + F1 | View
View Pan & Zoom Window | Ctrl + Shift + N | View
View Model Search | Ctrl + Alt + A | View
View Package Browser (or Diagram List) | Ctrl + Alt + R | View
Open Team Review | Ctrl + Alt + U | View
Display Web Browser | Ctrl + Alt + W | View
View Element Browser | Alt + 9 | View
Add new package to project | Ctrl + W | Project
Add new diagram to package | Ctrl + Insert | Project
Add new element to package | Ctrl + M | Project
Create RTF documentation | F8 | Project
Generate HTML Report | Shift + F8 | Project
Generate Diagrams-only Report | Ctrl + Shift + F8 | Project
Generate package source code | Ctrl + Alt + K | Project
Synchronize package contents | Ctrl + Alt + M | Project
Import source directory | Ctrl + Shift + U | Project
Manage Analyzer Scripts on Execution Analyzer window | Shift + F12 | Project
Build | Ctrl + Shift + F12 | Project
Test | Ctrl + Alt + T | Project
Run | Ctrl + Alt + N | Project
Deploy | Ctrl + Shift + Alt + F12 | Project
Debug Run | F6 | Project
Step Into | Shift + F6 | Project
Step Over | Alt + F6 | Project
Step Out | Ctrl + F6 | Project
Debug Stop | Ctrl + Alt + F6 | Project
Transform selected elements | Ctrl + H or Ctrl + Alt + F | Project
Transform current package | Ctrl + Shift + H | Project
Validate Selected | Ctrl + Alt + V | Project
Manage locks applied by current user | Ctrl + Shift + L | Project
Configure package control | Ctrl + Alt + P | Project
Import package from XMI | Ctrl + Alt + I | Project
Export package to XMI | Ctrl + Alt + E | Project
Import and export to CSV files | Ctrl + Alt + C | Project
Manage Baselines | Ctrl + Alt + B | Project
Diagram properties | F5 | Diagram
Save | Ctrl + S | Diagram
Save image to file | Ctrl + T | Diagram
Save image to clipboard | Ctrl + B | Diagram
Visible Relations | Ctrl + Shift + I | Diagram
Locate in Project Browser | Shift + Alt + G | Diagram
Repeat last element | Shift + F3 or Ctrl + click | Diagram
Repeat last connector | F3 | Diagram
Element Properties | Alt + Enter | Element
Add Tagged Value | Ctrl + Shift + T | Element
Linked Document | Ctrl + Alt + D | Element
Display Attribute Properties dialog | F9 | Element
Display Operation Properties dialog | F10 | Element
Space elements evenly horizontally | Alt + - | Element
Space elements evenly vertically | Alt + = | Element
Add attribute | Ctrl + Shift + F9 | Element
Add operation | Ctrl + Shift + F10 | Element
Add other type | Ctrl + F11 | Element
Auto-size selected elements | Alt + Z | Element
Generate code from element | Ctrl + G or F11 | Element
Move element by increments | Shift + á , â , à , ß | Element
Resize selected element | Ctrl + á , â , ß , à | Element
Align bottom edges of selected elements | Ctrl + Alt + Down | Element
Align top edges of selected elements | Ctrl + Alt + Up | Element
Align selected elements on left boundaries | Ctrl + Alt + Left | Element
Align selected elements on right boundaries | Ctrl + Alt + Right | Element
Configure element default appearance | Ctrl + Shift + E or F4 | Element
Edit selected | F2 | Element
Manage embedded elements | Ctrl + Shift + B | Element
Insert new feature after current selection | Insert | Element
Locate in browser | Alt + G | Element
New element | Ctrl + M | Element
View source code in default editor | Ctrl + E or F12 | Element
Operation | F10 | Element
Override inherited features | Ctrl + Shift + O | Element
Configure element properties | Alt + Enter | Element
Select alternative image | Ctrl + Shift + W | Element
Specify which element features are visible on a diagram | Ctrl + Shift + Y | Element
Set element parent or implement interface(s) | Ctrl + I | Element
Set references to other elements and diagrams | Ctrl + J | Element
Create Workbench Instance | Ctrl + Shift + J | Element
Locate diagrams where element is used | Ctrl + U | Element
View Properties dialog | Enter | Element
Check project data integrity | Shift + F9 | Tools
Configure system options | Ctrl + F9 | Tools
Spell check current package | Ctrl + Shift + F7 | Tools
Spell check model | Ctrl + F7 | Tools
Spell check Notes text | F7 | Object notes
Edit code generation templates | Ctrl + Shift + P | Settings
Edit transformation templates | Ctrl + Alt + H | Settings
Make text bullet list item | Ctrl + . (full stop) | Object notes
Make text numbered list item | Ctrl + 1 | Object notes
Make text bold | Ctrl + B | Object notes
Make text italic | Ctrl + I | Object notes
Make text underlined | Ctrl + U | Object notes
Insert date and time in Notes text | F5 | Object notes
Select line of text in Notes text | F8 | Object notes
Copy text | Ctrl + C | Everywhere
Paste text | Ctrl + V | Everywhere
Cut text, or element in diagram | Ctrl + X | Everywhere


Keyboard-Mouse Shortcuts [Enterprise Architect User Guide]

Keyboard-Mouse Shortcuts

The following table lists certain operations you can perform quickly using a combination of keyboard keys and the computer mouse.

Action | Shortcut
Create element of same type as last created on diagram | Ctrl + click
Display element Properties dialog for element in scenario Context References tab | Ctrl + click
Select a number of individual objects for an operation | Ctrl + click each object
Select a range of objects for an operation | Shift + click the first and last object in the range
Move elements along horizontal axis or vertical axis | Shift + hold left mouse button and drag
Create bend in and change direction of connector line | Shift + hold left mouse button and drag
Move elements in any direction, including diagonally | Alt + hold left mouse button and drag
Zoom in or zoom out of diagram | Ctrl + mouse scroll wheel
Pan diagram horizontally or vertically | Ctrl +Shift + hold left mouse button and drag


Projects and Teams [Enterprise Architect User Guide]

Projects and Teams

Enterprise Architect helps you to create projects for development under a range of work conditions, from single user/local access through to multiple-role teams working in a distributed environment. You both protect and manage the model data itself, and communicate information on the data in the form of documentation and reports, using facilities such as those listed below.

Topics:

Topic | Link
Creating a project in a simple, file-based repository (.EAP file ) | File-Based Repositories
Creating the project in one of a range of DBMS repositories - these provide for larger models with more concurrently connected users (Corporate and extended editions) | Server-Based Repositories
Tools for enabling team or multiple-user development in the project | Team Development
Tools for managing change within the model | Change Management
A variety of tools for managing modeling and project activities | Project Management
Maintaining the integrity of the project data | Project Maintenance
Sharing the reference data used across the project, between models and between projects | Sharing Reference Data Reference Data
Enabling each user to configure their personal preferences for how project tools display and behave on their workstation | Local Options
You can have recorded discussion and communication of decisions using the Team Review | Team Review Tools
Managing work and resources allocated to tasks | Project Task Allocation
Communicating and collaborating on model development through the Model Mail facilities | Personal Information
Tracking important project events, resource issues and allocations through the Project Calendar | Project Calendar
Documenting your model through RTF or HTML reports, which you can tailor to your purposes | Reporting


Introduction [Enterprise Architect User Guide]

Introduction

An Enterprise Architect project is stored in a data repository. In Enterprise Architect Desktop and Professional editions, you work with a single file having a .EAP extension. In Enterprise Architect Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions you can also use a suitable DBMS database for project files.

Topics:

Topic

Detail

See also

Project Files

.EAP Files

In Enterprise Architect Desktop and Professional editions, a single file with a .EAP extension is used to store projects. A .EAP file is a Microsoft JET database, so you can also open it using MS Access 97, 2000 or 2003, or any other reporting tool that can work with JET databases.

DBMS Repositories

In Enterprise Architect Corporate Business and Software Engineering, Systems Engineering and Ultimate editions, you can use a suitable DBMS database for project files. DBMS project files have the same logical structure as .EAP files, but must be connected to using ADO/ODBC. See Connect to a Data Repository, below

File Based Repositories

Server Based Repositories

Creating Project Files

On creating a new project, the Model Wizard enables you to create a model containing various Model Packages.

You can also add Model Packages to a project from the Project Browser by:

  • Right-clicking on an existing model and selecting the New Model or Add a New Model using Wizard context menu options
  • Right-clicking on a package and selecting the Add | Add a New Model using Wizard context menu option
  • Clicking on an existing model, pressing ( Insert ) and selecting the New Model or Add a New Model using Wizard context menu options
  • Clicking on a package, pressing ( Insert ) and selecting the Add a New Model using Wizard context menu option

File Based Repositories

Model Wizard

Opening Existing Projects

There are various ways to open a project in Enterprise Architect. New users are advised to explore the EAExample file supplied with Enterprise Architect.

Open a project

Connect to a Data Repository

Enterprise Architect enables you to connect to any of the following data repositories:

  • MS Access 97, 2000 and 2003 (in all editions - .EAP files are stored in Microsoft JET databases)
  • Access 2007
  • SQL Server 2000, 2005 and 2008
  • MySQL
  • Oracle 9i, 10g or 11g
  • PostgreSQL
  • MSDE
  • Adaptive Server Anywhere
  • Progress OpenEdge

To create a new data repository, you must first create a new database with the DBMS management software, then run supplied scripts to create the logical structure. You should then use Enterprise Architect data transfer functions to move a project from a .EAP or DBMS model into the new project.

Connect to a Data Repository


Projects Defined [Enterprise Architect User Guide]

Projects Defined

An Enterprise Architect Project is a repository for storing, manipulating and managing one or more Models. A single repository can contain many models, and a repository can be either file based or hosted in a larger DBMS system.

Guide:

Topic

Detail

See also

Project

A project can contain a single model, or a number of models, each of which defines a particular system or process. A model contains the diagrams, elements, relationships and associated metadata that define the structure and function of the system or process. These components are organized into a hierarchy of packages, which help to group and manage related components.

Open a Project

Model Shortcuts

Project Management

Team Development

Model Package

Different aspects of the process or system - or their development - are defined by Model Packages, which you generate from templates specifically structured to support the aspects that the Model Packages represent, such as requirements or deployment. You can generate these templated packages at any level of the hierarchy, but as they are created with their own content they are more useful at the top levels.

Model Wizard

Model Templates

View

The top-level packages in a model can also be Views, which represent partitions of the model that you define yourself. You can start with standard Views such as Class or Component, or create whatever partitions are appropriate to your model.

Views

Example Project Structure

Each View or Model Package contains packages. Use Case Model Package contains:

  • Actors and
  • Primary Use Cases.

It also contains the diagram Use Case Diagram, which could be an overview of the package structure or function. Each package itself can contain one or more diagrams, one or more packages, and several elements. The Primary Use Cases package contains the:

  • Primary UCDiagram
  • Customer Setup package
  • Use Case 1 element
  • Use Case 2 element

Each subordinate package also contains diagrams, elements and (if necessary) further packages. The elements are related by connectors created in the diagrams, and each element and connector has properties, attributes, operations and extensions defined in the respective Properties dialogs.

Storage

A project can be a .EAP file in an MS Access database or (in the Enterprise Architect Corporate, Business and Software Engineering, System Engineering and Ultimate editions) a structure of files in a database management system such as MySQL or Oracle.

File Based Repositories

Server Based Repositories


Open a Project [Enterprise Architect User Guide]

Open a Project

An Enterprise Architect project is used for storing and managing the components of one or more UML models. The Desktop and Professional versions of Enterprise Architect use an MS JET database as the model repository. If you are using the Corporate edition (or above), you can also use DBMSs such as Oracle and MySQL to host the model repository.

Access: File | Open Project

Use to:

  • Create a new Enterprise Architect project file (the model repository is created as an MS Jet database file)
  • Browse for an existing project file to open
  • Specify connection details for opening a project hosted on a DBMS
  • Select a recent project to open
  • Remove items from the list of recent projects

Reference:

Field

Usage

See also

New Project...

Create a new project, as an EAP file

File Based Repositories

Browse for Project

Open a file browser dialog, to select an existing EAP file; the EAP file can be a project file or a shortcut to a project hosted on a DBMS

Model Shortcuts

Connect to Server

Specify connection details for opening an Enterprise Architect project that is hosted on a DBMS

If you double-click on the option, the Windows Data Link Properties dialog displays; start to define the connection to the project's server-based repository

If you click on the drop-down arrow and select the Connection Wizard option, the Data Link Properties dialog again displays

If you click on the drop-down arrow and select the Connection String option, the Connection String dialog displays; type in or paste the connection string and click on the OK button to connect directly to the project

Server-Based Repositories

Recent Projects

A list of the ten most recently opened projects

This list is also displayed:

  • On the Start Page, under the Recent heading
  • As a drop-down menu under the Open Project button on the Default Tools toolbar
  • As part of the File menu

On the Open Enterprise Architect Project dialog, each project name is shown with its access path

You can edit the access path by right-clicking on it and selecting the Edit Connection String context menu option; make the changes on the Connection String dialog

Remove Selection from List

Remove the currently selected project from the Recent Projects list

Show this Dialog at Startup

Select whether or not to show the Open Enterprise Architect Project dialog upon starting Enterprise Architect

Open

Open the currently selected project in the Recent Project list

Cancel

Close this dialog without any further action

Help

Display this Help topic

Notes:

  • Use of a DBMS for hosting the model repository is only available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect
  • Enterprise Architect supports the following DBMS products for hosting model repositories; SQL Server, MySQL, Oracle 9i, 10g or 11g, Postgre SQL, ASA, MSDE Server and Progress OpenEdge

Learn More:

  • Projects Defined
  • File Based Repositories
  • DBMS Repositories
  • Team Development


Project Shortcuts [Enterprise Architect User Guide]

Project Shortcuts

Enterprise Architect enables you to create a desktop shortcut (or proxy file) to a real Enterprise Architect project (DBMS or file-based). Each shortcut is a file containing the connection string for the model.

However, the shortcut also defines views that Enterprise Architect should open when it opens the model, as outlined below.

Topics:

View

Detail

See also

Diagrams

Define one or more specific diagram(s) to be loaded on Open

Model Search

Open the Model Search with a specific text string and search type

For searches operating on the current tree selection, a diagram in the target package must be opened first.

If you use a custom SQL search, the SQL must include ea_guid AS CLASSGUID and the object type

You cannot define more than one Model Search to open

Model Search

The Relationship Matrix with a saved profile

Open the Relationship Matrix with a saved profile

You cannot define more than one Relationship Matrix profile to open

Relationship Matrix

The default Team Review

Open the default Team Review document

You cannot define more than one Team Review to open

Team Review Tools

An example shortcut

You might create a shortcut to open, in sequence:

  • A Development module
  • The Model Search for a simple search on the term Issue
  • The module Issues diagram
  • The module Changes diagram

Enterprise Architect opens the appropriate windows in the sequence in which you list the options, displaying the last view in the list

In this example, the project opens with the Enterprise Architect work area showing the two diagram tabs and the Model Search tab, and with the Changes diagram displayed in the Diagram View

Notes:

  • If specified, the shortcut views override any default diagram defined for the model or current user
  • A shortcut does not affect the original Enterprise Architect .exe file or icon, or any other shortcut you might have defined; you can use all of these independently
  • When you use a shortcut to access a project that you have recently opened in Enterprise Architect, the Recent list on the Enterprise Architect Start Page has two entries for the project - one created when you opened the project in Enterprise Architect and one created when you used the desktop shortcut
  • If you are using a database repository other than MS Access 97, 2000 or 2003, you can configure the shortcut to encrypt the password used to set up the connection between Enterprise Architect and the repository; the Enterprise Architect user does not have the real password, thereby preventing them from accessing the repository using other tools such as Query Analyzer or SQLPlus

Learn More:

  • Create Project Shortcut
  • Capture Current Work Environment
  • Encrypt Repository Password
  • Default Diagram
  • Creating Search Filters


Create Project Shortcut [Enterprise Architect User Guide]

Create Project Shortcut

You can create a shortcut to an Enterprise Architect project (either a DBMS project or file based project). The shortcut can specify additional windows and diagrams to open up automatically every time the shortcut is run.

Shortcuts are stored with a .EAP extension, but are actually small text files that tell Enterprise Architect what project to open and what initial views and windows to display.

Access: File | Save Project Shortcut

Use To:

  • Specify a working environment in advance, for other users

How to:

To create a project shortcut, follow the steps below:

Step

Action

See also

1

Open Enterprise Architect

2

Open the required project

3

Select the Save Project Shortcut menu option

The Save Project Shortcut dialog displays

4

Click on the ( ... ) (Browse) button at the end of the Target File field

The Save Project As dialog displays

5

Browse for the appropriate file location and, in the File name field, type an appropriate filename

All shortcuts are .EAP files, regardless of whether the model itself is a .EAP file or a DBMS model

6

Click on the Save button to return to the Save Project Shortcut dialog

7

Click on the Add Other button and select the required option to define:

  • A diagram to open
  • A Relationship Matrix profile to open
  • The Team Review
  • A Model Search to perform

8

The appropriate browser or dialog displays to define the view to display; enter the details and click on the OK button

The view is added to the Actions when model is opened field; the entry is automatically selected, with a tick in the checkbox

9

Repeat steps 7 and 8 for as many additional views as you require

10

Review the items in the Actions when model is opened field

  • If you decide not to have an item in the shortcut, deselect its checkbox
  • If you want to clear all selected items, click on the Include None button

Unselected entries are deleted when you save the shortcut

11

If you decide to change the sequence and/or make a different view display first in the Diagram View:

  • Click on the appropriate entry
  • Click on the 'Up Hand' or 'Down Hand' buttons

12

Click on the OK button to save the shortcut

Notes:

  • When you subsequently open the Save Project Shortcut dialog, it lists the currently-opened views in the order in which they were opened; you can add further views or remove them from the shortcut

Learn More:

  • Capture Current Work Environment
  • Encrypt Repository Password


Capture Current Work Environment [Enterprise Architect User Guide]

Capture Current Work Environment

You can capture the current Enterprise Architect work environment in your shortcut.

Access: File | Save Project Shortcut

Use To:

  • Capture the current Enterprise Architect work environment, to access the model at exactly the same point in exactly the same environment when you resume work

How to:

To capture your current work environment, follow the steps below:

Step

Action

See also

1

Open Enterprise Architect

2

Open the required project and work in it

3

At the point at which you decide to capture your work environment in a shortcut, ensure that:

  • You have opened all diagrams you require
  • If necessary, you have opened the Team Review, Model Search (with appropriate search term and type) and/or Relationship Matrix (at the appropriate profile)
  • The view you want to resume work on is the last one opened

4

Select the Save Project Shortcut menu option

The Save Project Shortcut dialog displays, showing a list of actions derived from the views you currently have open

5

If you accessed Enterprise Architect via a shortcut, the Target File field displays the file location of that shortcut

Otherwise, click on the ( ... ) (Browse) button at the end of the Target File field

The Save Project As dialog displays

6

Browse for the appropriate file location and, in the File name field, type an appropriate filename

All shortcuts are .EAP files, regardless of whether the model itself is a .EAP file or a DBMS model

7

Click on the Save button to return to the Save Project Shortcut dialog

8

In the Actions when model is opened field, click on the Include All button

9

Click on the OK button to save the shortcut

Learn More:

  • Encrypt Repository Password


Encrypt Repository Password [Enterprise Architect User Guide]

Encrypt Repository Password

If your model is developed on a DBMS repository, the Save Project Shortcut dialog has an Encrypt Connection String check box.

You can create the shortcut actions and, if necessary, select the checkbox to encrypt the database connection string.

You distribute the shortcut file to the database users who are to access the model. The users then have an encrypted string that prevents them from directly accessing the database using other tools.

Learn More:

  • Create Project Shortcut


File Based Repositories [Enterprise Architect User Guide]

File Based Repositories

In the Desktop and Professional editions of Enterprise Architect, you create Enterprise Architect projects as .eap files. If you prefer, you can also create your projects as .eap files in the Corporate and suite editions of Enterprise Architect.

A default project file (EABase.EAP) is supplied in the Enterprise Architect installer and is automatically stored in your Enterprise Architect installation directory; you can copy this as the base for your own projects. You can also create your own base projects, and copy existing operational projects.

Topic

Detail

See also

Create .EAP Project Files

Select one of:

  • File | New Project option
  • New Project option on the Open Enterprise Architect Project dialog
  • Create a New Project option on the Start Page

All of these options display the New Project dialog; select a directory and enter a file name for your project

Once the project has been saved, the Select Model(s) dialog displays, which makes a selection of Model Packages available; select the Model Packages to include

Enterprise Architect adds a model containing the selected Model Packages to the Project Browser

Model Wizard

Default EABase.EAP Installation directories

The default installation directories, depending on which version you have installed, are:

  • Registered version: C:\Program Files\Sparx Systems\EA
  • Trial version: C:\Program Files\Sparx Systems\EA Trial
  • Lite version: C:\Program Files\Sparx Systems\EA Lite

Having copied the base project as a template for your own project, you can rename it

Copy a Base Project

Rename a Project

Configure Project

Having created your project, you can set a range of project parameters to define defaults, tailor the project to particular coding languages, and ensure consistent development and use of the project

The Settings Menu

Defaults and User Settings

Create Custom Templates

You can customize any Enterprise Architect project as a template project with company standards, tutorials, frameworks and any other common piece of modeling already in-built; with careful planning you can save yourself many hours of work at project start-up

Incorporate Model Templates

Copy Existing Project

A Base project contains templates and reference data to enable you to develop your own project quickly

You can also copy an operational .EAP project file to enable separate development by team members, or to create an evaluation or distribution version of the project

Copy Existing Projects

Notes:

  • You can also add Model Packages to a project using the New Model From Pattern icon in the Project Browser toolbar


Copy a Base Project [Enterprise Architect User Guide]

Copy a Base Project

You can copy an existing project as a new project. When using an existing project as the template for a new one, it is important to use this method, rather than simply copying the file using Windows Explorer. This process resets all the unique identifiers for packages and elements, so that your new project is truly unique - otherwise it is simply an exact copy of the source project.

Access: Start Page: Copy a Base Project

Use to:

  • Create a project already largely set up, from a template project containing company standards, tutorials, frameworks and any other common piece of modeling
  • Ensure all unique ID's ( GUIDS ) in a model are reset when starting a new model from an existing master

How to:

Step

Action

See also

1

On the Enterprise Architect Start Page, click on the Copy a Base Project option

The Create New Enterprise Architect Project dialog displays

Start Page

2

In the Model Project field, select the project that is the base template

The field defaults to EABase.eap, the default base project provided in the Enterprise Architect installer, but you can click on the Browse button and locate any other custom project file to use

Incorporate Model Templates

3

In the New Project field, click on the Browse button and select the file path for saving your project

If this is to be a shared project, store the file on a shared network resource such as a Network Server or Workgroup Server

4

To replace all GUIDs from the source model with fresh GUIDs in the new model, select the Reset New Project GUIDs checkbox

However, if the new project is based on one that is already under version control, we recommended that you deselect this checkbox to prevent duplication of packages when the Get Latest facility is used

Package Version Control Menu

5

Click on the Create Project button to create your project


Copy Existing Project [Enterprise Architect User Guide]

Copy Existing Project

You can copy an operational .EAP project file to a new file location under a new name.

Access: File | Save Project Copy

Use to:

  • Provide separate copies for individual team members
  • Create an evaluation or distribution version of the project

How to:

To create a copy of a project, follow the steps below:

Step | Action | See also
1 | Select the Save Project Copy menu option The Save Enterprise Architect Project Copy dialog displays |
2 | In the Target Project field, type the new project filename You can either type in the file path as well, or click on the Browse button and browse for the required file path |
3 | If this copy is to be used for a different project, select the Reset New Project GUIDs checkbox This ensures that all components of the new project have different IDs to their counterparts in the source project |
4 | Click on the Save As button to save the new project |


Server Based Repositories [Enterprise Architect User Guide]

Server Based Repositories

If you purchase the Corporate, Business and Software Engineering, Systems Engineering or Ultimate editions, you can upsize the .eap templates (such as EABase.eap) or any existing .eap project to a DBMS data repository.

A DBMS repository enables you to support larger models with more concurrently connected users.

Topic

Detail

See also

Supported DBMSs
  • SQL Server 2000, 2005 or 2008
  • MySQL 4 or 5
  • PostgreSQL 7, 8 or 9
  • Adaptive Server Anywhere 8 or 9, or SQL Anywhere 10, 11 or 12
  • Access 2007
  • Progress OpenEdge
  • MSDE or
  • Oracle 9i, 10g or 11g

Upsize Project to DBMS Repository

To upsize the Enterprise Architect models (either existing or template) to use your selected DBMS:

  1. Install the DBMS software; how you do this is explained in your DBMS documentation and beyond the scope of the Enterprise Architect documentation
  2. Create a repository and run a script supplied by Sparx Systems to create the required tables
  3. Set up an ODBC driver to enable connection to the repository(not all DBMSs require this)
  4. Open Enterprise Architect and perform a Project Integrity Check on the project .eap file (existing or template); this ensures the data is clean before uploading
  5. In Enterprise Architect, open the Project Transfer dialog, connect to the .EAP file and the repository, and transfer the project data from the .EAP file to the DBMS repository

You cannot move a model from a source .EAP file of a version earlier than 3.5.0.

Create a Repository

Sparx Systems Scripts

Set Up an ODBC Driver

Check Project Data Integrity

Connect to a Data Repository

Perform a Project Data Transfer


Create a Repository [Enterprise Architect User Guide]

Create a Repository

A repository hosted in a DBMS system requires some initial setup and configuration, and the actual steps required differ depending on the DBMS chosen. In general you must setup your database management system, configure a new database and then populate that database using the scripts provided by Sparx Systems. As a final step, you populate the new repository using a project transfer of the base model.

For more information and the steps involved for specific systems, follow the links below:

Topic | Link
MySQL | Create a MySQL Data Repository
Access | Create An Access Data Repository
SQL Server | Create a SQL Server Data Repository
Oracle | Create an Oracle Data Repository
PostgreSQL | Create a PostgreSQL Data Repository
Adaptive Server Anywhere | Create an Adaptive Server Anywhere Data Repository
MSDE Server | Create an MSDE Server Data Repository
Progress OpenEdge | Create a Progress OpenEdge Data Repository

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page


Access 2007 Repository [Enterprise Architect User Guide]

Access 2007 Repository

The process of creating an Access 2007 repository is very simple. Using Access 2007, open the .EAP file and allow Access to convert it to a .ACCDB file. This forms the Access 2007 repository.

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • If you do not have Access 2007, you can download the Access Database Engine from the Microsoft downloads site
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic


MySQL Repository [Enterprise Architect User Guide]

MySQL Repository

Creating a MySQL database is beyond the scope of this User Guide - refer to your MySQL documentation for assistance.

Having created your MySQL database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect.

You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

Third Party Tools:

If you are unfamiliar with MySQL and DBMS systems in general, you might want to consider a suitable front end tool. MySQL Administrator is one such tool, providing a convenient graphical user interface to enable the creation of databases, execution of scripts, backups and restores.

You might, therefore:

  1. Run MySQL Administrator and create a new database
  2. Run MySQL Query Browser, and open and execute the MySQL repository script

After creating a MySQL data repository in Enterprise Architect, you must set up the MySQL ODBC drivers.

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page
  • MySQL Workbench (including MySQL Administrator) download site
  • MySQL ODBC Driver


SQL Server Repository [Enterprise Architect User Guide]

SQL Server Repository

Before creating a SQL Server data repository, you must have SQL Server and MDAC 2.6 or higher installed, and access permission to create a new database. Creating a SQL Server database is beyond the scope of this User Guide - refer to your SQL Server documentation for assistance.

Having created your SQL Server database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

How to:

If you are unfamiliar with SQL Server and DBMS systems in general, you might want to consider a suitable front end tool, such as SQL Enterprise Manager. The following example shows how to create the repository in SQL Enterprise Manager.

Step | Action
1 | In SQL Enterprise Manager, locate the server on which to create your new Enterprise Architect model; for example: DBSERVER02\SQLEXPRESS
2 | Right-click and choose the New Database context menu option
3 | Enter a suitable name for the database. Set any file options as required Ensure that the database collation is set to the alphabet you use, such as Latin or Cyrillic, and case-insensitive
4 | Click on the database to select it, then select the New Query menu option
5 | In the Query window, use the Open File dialog to locate the supplied Enterprise Architect SQL Server Model script file
6 | Click on the Open button. In the drop-down menu, check that you have selected the correct database to run the script in
7 | Click on the Execute button; SQL Server executes the script, which creates the base model for an Enterprise Architect project

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page


Oracle Data Repository [Enterprise Architect User Guide]

Oracle Data Repository

Before creating an Oracle data repository, you must have the appropriate version of Oracle (9i, 10g or 11g) and MDAC 2.6 or higher installed, and access permission to create a new database. Creating an Oracle database is beyond the scope of this User Guide - refer to your Oracle documentation for assistance.

Having created your Oracle database, use the SQL script provided by Sparx Systems to create the required table definitions and indexes for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

Third Party Tools:

If you are unfamiliar with Oracle and DBMS systems in general, you might want to consider a suitable front end tool. You could connect to the database and execute the scripts with a program such as Oracle SQL*Plus or SQL Plus Worksheet.

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page


PostgreSQL Repository [Enterprise Architect User Guide]

PostgreSQL Repository

Creating a PostgreSQL database is beyond the scope of this User Guide - refer to your PostgreSQL documentation for assistance.

Having created your PostgreSQL database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

Third Party Tools:

If you are unfamiliar with PostgreSQL and DBMS systems in general, you might want to consider a suitable front end tool. One such tool is pgAdminIII, It provides a convenient graphical user interface to enable creation of databases, execution of scripts and restores.

After creating a PostgreSQL data repository in Enterprise Architect, you must set up the PostgreSQL and PostgreSQL ODBC drivers.

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page
  • pgAdminIII Download Site
  • Set up a PostgreSQL ODBC Driver


Adaptive Server Anywhere Repository [Enterprise Architect User Guide]

Adaptive Server Anywhere (ASA) Repository

Creating an ASA database is beyond the scope of this User Guide - refer to your Sybase Adaptive Server Anywhere documentation for assistance.

Having created your ASA database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

Third Party Tools:

If you are unfamiliar with ASA and DBMS systems in general, you might want to consider a suitable front end tool. Sybase Central is one such tool, that can be installed along with the DBMS. It provides a convenient graphical user interface to enable creation of databases, execution of scripts and restores.

After creating an ASA data repository in Enterprise Architect, you must set up the ASA ODBC driver.

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page
  • Setup an Adaptive Server Anywhere ODBC Driver


MSDE Server Repository [Enterprise Architect User Guide]

MSDE Server Repository

Before creating an MSDE data repository, you must have MSDE Server and MDAC 2.6 or higher installed. Creating an MSDE Server database is beyond the scope of this User Guide - refer to your MSDE Server documentation for assistance.

Having created your MSDE Server database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

How to:

  • Create the MSDE Server repository in the same way as a SQL Server repository

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page
  • Create an SQL Server Data Repository


Progress OpenEdge Repository [Enterprise Architect User Guide]

Progress OpenEdge Repository

Before creating a Progress OpenEdge data repository, you must have OpenEdge 10.0B03, 10.1B01 or later, and MDAC 2.6 or higher installed, and access permission to create a new database. Creating an OpenEdge database is beyond the scope of this User Guide - refer to your OpenEdge documentation for assistance.

Having created your OpenEdge database, use the SQL script provided by Sparx Systems to create the required table definitions for Enterprise Architect. You can obtain the scripts from the Sparx Systems website, on the:

  • Registered Corporate edition Resources page (Registered users)
  • Corporate edition Resources page (Trial users)

How to:

Step

Action

1

Run proenv from the OpenEdge menu: Start | Programs | OpenEdge | proenv

2

Create the database:

prodb <database_name> empty.

3

Start the database server:

proserve <database_name> -S <port_number>

4

Open Data Administration to add a user:

prowin32 -db <database_name> -S <port_number> -p _admin -rx

5

Select Admin | Security | Edit User List.

6

Close Data Administration.

7

Open the SQL Explorer Tool, connect as sysprogress

8

Add a user:

create user 'user','password';

commit;

9

Grant privileges:

grant dba, resource to <user>;
commit;

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic

Learn More:

  • Registered User's Scripts page
  • Trial User's Scripts Page


Set Up an ODBC Driver for a Connection to a Repository [Enterprise Architect User Guide]

Set Up an ODBC Driver for a Connection to a Repository

Setting up an ODBC driver is only necessary for certain database management systems, which require specific set-up in order to operate as a repository.

Other database management systems connect through OLE DB and do not require a driver. However, you can connect to an Oracle repository using either OLE DB or an ODBC driver; if you intend to connect through the ODBC driver, you must first set it up.

For more information and the steps involved for specific systems, follow the links below:

Topic | Link
MySQL | Set up a MySQL ODBC Driver
PostgreSQL | Set up a PostgreSQL ODBC Driver
Adaptive Server Anywhere | Set up an Adaptive Server Anywhere ODBC Driver
Progress OpenEdge | Set up a Progress OpenEdge ODBC Driver
Oracle | Set up an Oracle ODBC Driver

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe


MySQL ODBC Driver [Enterprise Architect User Guide]

MySQL ODBC Driver

This topic explains how to set up a MySQL ODBC driver.

Prerequisites:

You must first have installed:

  • Microsoft MDAC components
  • MySQL DBMS and repository
  • MySQL ODBC driver software version 5.1.5 (version 3.51.14 creates problems in incorporating tests in elements)

Use to:

  • Set up the MySQL ODBC driver so that you can connect to your MySQL repository in Enterprise Architect

How to:

Step

Action

1

Select the WindowsTM Control Panel | Administrative Tools | Data Sources (ODBC) option

The ODBC Data Source Administrator window displays

2

Click on the Add button

The Create New Data Source dialog displays, enabling you to add a new DSN

3

Select MySQL ODBC 5.1 Driver from the list

4

Click on the Finish button

The MySQL Connector/ODBC dialog displays

5

Enter the following configuration details:

  • A data source name for the connection
  • A description (optional)
  • The host address of the DBMS server
  • User name and password
  • The database name on the selected server

6

To set the advanced options, click on the Details>> button

7

Select the following checkboxes (where provided):

  • Return matched rows instead of affected rows (Connection or Cursors/Results tab)
  • Allow big result sets (Connection tab)

8

Click on the Test Connection button to confirm that the details are correct

9
  • If the test succeeds, click on the OK button to complete the configuration
  • If the test does not succeed, review your settings

Your MySQL connection is now available to use in Enterprise Architect.

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe

Learn More:

  • Create MySQL Repository
  • Connect To MySQL Data Repository


PostgreSQL ODBC Driver [Enterprise Architect User Guide]

PostgreSQL ODBC Driver

This topic explains how to set up a PostgreSQL ODBC driver.

Prerequisites:

You must first have installed:

  • Microsoft MDAC components
  • PostgreSQL DBMS and repository
  • PostgreSQL ODBC driver software version 7.03.01.00 or above (note that versions 8.3.4 and 8.4.1 of the PostgreSQL ODBC Driver are not supported)

Use to:

  • Set up the PostgreSQL ODBC driver so that you can connect to your PostgreSQL repository in Enterprise Architect

How to:

Step

Action

1

Select the WindowsTM Control Panel | Administrative Tools | Data Sources (ODBC) option

The ODBC Data Source Administrator window displays

2

Click on the Add button

The Create New Data Source dialog displays, enabling you to add a new DSN

3

Select PostgreSQL UNICODE from the list

4

Click on the Finish button

The Postgre SQL Connector/ODBC dialog displays

5

Enter the following configuration details:

  • A data source name for the connection
  • The actual name of the database
  • The host address of the DBMS server
  • User name
  • A description (optional)
  • The password

6

To set the advanced options, click on the Datasource button and set the options on Page 1 and Page 2 as shown below:

7

If you are using PostgreSQL version 8+, on Page 2 select:

  • The Disallow Premature checkbox
  • In the Protocol panel, the 7.4+ radio button

8

Click on the OK button to complete the configuration

Your PostgreSQL connection is now available to use in Enterprise Architect.

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe

Learn More:

  • Create a PostgreSQL Repository
  • Connect To a PostgreSQL Data Repository


ASA ODBC Driver [Enterprise Architect User Guide]

ASA ODBC Driver

This topic explains how to set up an Adaptive Server Anywhere (ASA) ODBC driver.

Prerequisites:

You must first have installed:

  • Microsoft MDAC components
  • Adaptive Server Anywhere - SQL Anywhere Studio 8 or higher, and created a repository
  • ASA ODBC driver software (installed with the ASA DBMS)

Use to:

  • Set up the ASA ODBC driver so that you can connect to your ASA repository in Enterprise Architect

How to:

Step

Action

1

Select the WindowsTM Control Panel | Administrative Tools | Data Sources (ODBC) option

The ODBC Data Source Administrator window displays

2

Click on the Add button

The Create New Data Source dialog displays, enabling you to add a new DSN

3

Select Adaptive Server Anywhere or SQL Anywhere from the list

4

Click on the Finish button

The ASA Connector/ODBC dialog displays

5

Enter the following configuration details:

  • A data source name for the connection, on the ODBC tab
  • User name and password on the Login tab (dba, sql are the defaults when ASA is installed)
  • The server name and the path to the database, on the Database tab
  • The network protocol on the Network tab (if the database is on a network location)

6

Return to the ODBC tab and test the connection

7

Click on the OK button to complete the configuration

Your ASA connection is now available to use in Enterprise Architect.

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe

Learn More:

  • Create an Adaptive Server Anywhere Repository
  • Connect To an ASA Data Repository


Progress OpenEdge ODBC Driver [Enterprise Architect User Guide]

Progress OpenEdge ODBC Driver

This topic explains how to set up a Progress OpenEdge ODBC driver.

Prerequisites:

You must first have installed:

  • Microsoft MDAC components
  • OpenEdge DBMS and repository
  • DataDirect ODBC driver for OpenEdge software (version 4.20 minimum)

Use to:

  • Set up the Progress OpenEdge ODBC driver so that you can connect to your OpenEdge repository in Enterprise Architect

How to:

Step

Action

1

Select the WindowsTM Control Panel | Administrative Tools | Data Sources (ODBC) option

The ODBC Data Source Administrator window displays

2

Click on the Add button

The Create New Data Source dialog displays, enabling you to add a new DSN

3

Select DataDirect/OpenEdge SQL Driver from the list

4

Click on the Finish button

The DSN Configuration dialog displays

5

Enter the following configuration details:

  • A data source name for the connection
  • A description (optional)
  • The host name and port number of the DBMS server
  • The database name on the selected server
  • The User ID

6

Click on the Test Connect button to confirm that the details are correct

7
  • If the test succeeds, click on the OK button to complete the configuration
  • If the test does not succeed, review your settings

Your OpenEdge connection is now available to use in Enterprise Architect.

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe

Learn More:

  • Create a PostgreSQL Repository
  • Connect To a PostgreSQL Data Repository


Oracle ODBC Driver [Enterprise Architect User Guide]

Oracle ODBC Driver

This topic explains how to set up an Oracle ODBC driver.

Prerequisites:

You must first have installed:

  • Microsoft MDAC components
  • Oracle DBMS and repository

Use to:

  • Set up the Oracle ODBC driver so that you can connect to your Oracle repository in Enterprise Architect, in preference to using an OLE DB connection

How to:

Step

Action

1

Select the WindowsTM Control Panel | Administrative Tools | Data Sources (ODBC) option

The ODBC Data Source Administrator window displays

2

Click on the Add button

The Create New Data Source dialog displays, enabling you to add a new DSN

3

Select Oracle in OraDB11g_home1 from the list (or similar, depending on the ODBC installation)

4

Click on the Finish button

The Oracle ODBC Driver Configuration dialog displays

5

Enter the following configuration details:

  • A data source name for the connection
  • A description (optional)
  • The TNS Service Name (click on the drop down arrow and select from the list)
  • User ID

6

Click on the Test Connection button and enter the Oracle user password to confirm that the details are correct

7
  • If the test succeeds, click on the OK button to complete the configuration
  • If the test does not succeed, review your settings

Your Oracle connection is now available to use in Enterprise Architect.

Notes:

  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe

Learn More:

  • Create an Oracle Server Repository
  • Connect to an Oracle Data Repository (ODBC)


Connect to a Data Repository [Enterprise Architect User Guide]

Connect to a Data Repository

This topic describes how to connect to a data repository to:

  • Access an Enterprise Architect model in the repository
  • Reverse engineer a database schema into a model using the ODBC driver provided by the DBMS vendor

To connect to a repository, you must have the usual SELECT, UPDATE, INSERT and DELETE permissions.

For more information and the steps involved for specific systems, follow the links below:

Topic | Link
MySQL | Connect to a MySQL Data Repository
SQL Server | Connect To a SQL Server Data Repository
Oracle | Connect To an Oracle Data Repository
PostgreSQL | Connect To a PostgreSQL Data Repository
Adaptive Server Anywhere | Connect To an Adaptive Server Anywhere Data Repository
MSDE Server | Connect To an MSDE Server data Repository
Progress OpenEdge | Connect To a Progress OpenEdge Data Repository

Learn More:

  • Import Database Schema Using ODBC


MySQL Data Repository [Enterprise Architect User Guide]

MySQL Data Repository

This topic explains how to connect to a MySQL data repository in Enterprise Architect.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create a MySQL Repository
  • Set up a MySQL ODBC driver

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for ODBC Drivers from the list

4

Click on the Next>> button

The Connection tab displays

5

Click on the Use data source name radio button and on the drop-down arrow in its field

From the list, select the ODBC driver you have set up to connect to your MySQL repository

6

If required, type in a User name and Password

7

If required, type in an initial catalog

8

Click on the Test Connection button to confirm that the details are correct

9

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Connection Name & Type dialog displays

10

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

11

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

12

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

13

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next three fields (see your administrator for the correct values); otherwise go to step 17

14

In the Server field, type the network name or address of the optimizer server

15

In the Port field, type the port on which the server is running on the remote machine

16

In the DSN field, type the data source name of the database as it appears on the remote machine.

17

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create a MySQL Repository
  • Set up a MySQL ODBC driver
  • The WAN Optimizer
  • Open a Project


SQL Server Data Repository [Enterprise Architect User Guide]

SQL Server Data Repository

This topic explains how to connect to a SQL Server data repository in Enterprise Architect.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create a SQL Server Repository

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for SQL Server from the list

4

Click on the Next>> button

The Connection tab displays

5

Type in the server details, including Server Name, User Name and Password.

6

Click on the Select the database on the server option and on the drop-down arrow.

From the list, select the model to connect to.

7

Click on the Test Connection button to confirm that the details are correct

8

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Connection Name & Type dialog displays

9

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

10

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

11

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

12

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next two fields (see your administrator for the correct values); otherwise go to step 15

13

In the Server field, type the network name or address of the optimizer server

14

In the Port field, type the port on which the server is running on the remote machine

15

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create a SQL Server Repository
  • The WAN Optimizer
  • Open a Project


Oracle Data Repository (ODBC) [Enterprise Architect User Guide]

Oracle Data Repository (ODBC)

 Return to Introduction

This topic explains how to connect to an Oracle 9i, 10g or 11g data repository in Enterprise Architect using an Oracle ODBC driver.

You can also connect to the Oracle repository using OLE DB.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create an Oracle Repository
  • Set up an Oracle ODBC driver

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for ODBC Drivers from the list

4

Click on the Next>> button

The Connection tab displays

5

In the Data source field, click on the drop-down arrow and select the data source name

6

Type in the User name and Password

7

Click on the Test Connection button to confirm that the details are correct

8

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; Oracle prompts you for the password

9

Type in the password

The Connection Name and Type dialog displays

10

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

11

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

12

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

13

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next two fields (see your administrator for the correct values); otherwise go to step 16

14

In the Server field, type the network name or address of the optimizer server

15

In the Port field, type the port on which the server is running on the remote machine

16

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create an Oracle Data Repository
  • Set up an Oracle ODBC Driver
  • Connect to an Oracle Data Repository (OLE DB)
  • The WAN Optimizer
  • Open a Project


Oracle Data Repository (OLE DB) [Enterprise Architect User Guide]

Oracle Data Repository (OLE DB)

 Return to Introduction

This topic explains how to connect to an Oracle 9i, 10g or 11g data repository in Enterprise Architect using OLE DB.

You can also connect to the Oracle repository using an Oracle ODBC driver.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create an Oracle Repository

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Oracle Provider for OLE DB from the list

Do not select Microsoft OLE DB Provider for Oracle; Enterprise Architect might not work as expected

4

Click on the Next>> button

The Connection tab displays

5

In the Data source field, click on the drop-down arrow and select the data source name (the service name of the Oracle database)

6

Type in the User name and Password

7

Click on the Test Connection button to confirm that the details are correct

8

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Connection Name and Type dialog displays

9

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

10

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

11

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

12

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next two fields (see your administrator for the correct values); otherwise go to step 15

13

In the Server field, type the network name or address of the optimizer server

14

In the Port field, type the port on which the server is running on the remote machine

15

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create an Oracle Data Repository
  • Connect to an Oracle Data Repository (ODBC)
  • The WAN Optimizer
  • Open a Project


PostgreSQL Data Repository [Enterprise Architect User Guide]

PostgreSQL Data Repository

This topic explains how to connect to a PostgreSQL data repository in Enterprise Architect.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create a PostgreSQL Repository
  • Set up a PostgreSQL ODBC driver

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for ODBC Drivers from the list

4

Click on the Next>> button

The Connection tab displays

5

Click on the Use data source name radio button and on the drop-down arrow in its field

From the list, select the ODBC driver you have set up to connect to your PostgreSQL repository

6

Click on the Test Connection button to confirm that the details are correct

7

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Connection Name & Type dialog displays

8

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

9

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

10

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

11

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next three fields (see your administrator for the correct values); otherwise go to step 15

12

In the Server field, type the network name or address of the optimizer server

13

In the Port field, type the port on which the server is running on the remote machine

14

In the DSN field, type the data source name of the database as it appears on the remote machine.

15

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create a PostgreSQL Repository
  • Set up a PostgreSQL ODBC Driver
  • The WAN Optimizer
  • Open a Project


ASA Data Repository [Enterprise Architect User Guide]

Adaptive Server Anywhere (ASA) Data Repository

This topic explains how to connect to an Adaptive Server Anywhere data repository in Enterprise Architect.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create an ASA Data Repository
  • Set up an ASA ODBC driver

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for ODBC Drivers from the list

4

Click on the Next>> button

The Connection tab displays

5

Click on the Use data source name radio button and on the drop-down arrow in its field

From the list, select the ODBC driver you have set up to connect to your ASA repository

6

Click on the Test Connection button to confirm that the details are correct

7

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Connection Name & Type dialog displays

8

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

9

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

10

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

11

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next three fields (see your administrator for the correct values); otherwise go to step 15

12

In the Server field, type the network name or address of the optimizer server

13

In the Port field, type the port on which the server is running on the remote machine

14

In the DSN field, type the data source name of the database as it appears on the remote machine.

15

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create an Adaptive Server Anywhere Repository
  • Set up an ASA ODBC Driver
  • The WAN Optimizer
  • Open a Project


MSDE Server Data Repository [Enterprise Architect User Guide]

MSDE Server Data Repository

To connect to an MSDE Server Data Repository, follow the steps in Connect to an SQL Server Repository.

Use to:

  • Connect to the data repository so that you can open a project held in the repository


Progress OpenEdge Repository [Enterprise Architect User Guide]

Progress OpenEdge Repository

This topic explains how to connect to a Progress OpenEdge data repository in Enterprise Architect.

Access: File | Open Project ( Ctrl+O )

Use to:

  • Connect to the data repository so that you can open a project held in the repository

Prerequisites:

  • Create a Progress OpenEdge Repository
  • Set up a Progress OpenEdge ODBC driver

How to:

Step

Action

1

In the Open Project dialog, select the Connect to Server checkbox

2

Click on the ( ... ) (Browse) button

The Data Link Properties dialog displays

3

Select Microsoft OLE DB Provider for ODBC Drivers from the list

4

Click on the Next>> button

The Connection tab displays

5

Click on the Use data source name radio button and on the drop-down arrow in its field

From the list, select the ODBC driver you have set up to connect to your Progress OpenEdge repository

6

Enter the User Name and Password

7

Enter the Initial catalog

8

Click on the All tab and double-click on Extended Properties

9

Click on the Connection tab again

10

In the Property Value field, edit the value to: DefaultSchema=PUB

Click on the Test Connection button to confirm that the details are correct

11

If the test does not succeed, revise your settings

If the test succeeds, click on the OK button; the Logon to Progress dialog displays

12

Check the details to ensure that they are correct

Click on the OK button; the Connection Name and Type dialog displays

13

Give the connection a suitable name so that you can recognize it in the Recent Projects panel on the Open Project dialog

14

If required, select the Encrypt Connection String checkbox

This encrypts and hides the connection details of the database from the users that the connection string is given to

15

If required, select the Lazy Load checkbox to not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

With this setting, the model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

16

If required, select the Use WAN Optimization checkbox

To improve performance over a Wide Area Network, remote database calls can be routed through a WAN Optimizer that compresses the data returned from the repository, reducing transfer time

If you select this checkbox, complete the next three fields (see your administrator for the correct values); otherwise go to step 20

17

In the Server field, type the network name or address of the optimizer server

18

In the Port field, type the port on which the server is running on the remote machine

19

In the DSN field, type the data source name of the database as it appears on the remote machine.

20

Click on the OK button to complete the configuration

Notes:

  • This feature is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • Create a Progress OpenEdge Repository
  • Set up a Progress OpenEdge ODBC Driver
  • The WAN Optimizer
  • Open a Project


Upsizing [Enterprise Architect User Guide]

Upsizing

This topic explains how you upsize your .EAP project or template to one of a range of DBMS repositories.

For more information and the steps involved for specific systems, follow the links below:

Topic | Link
MySQL | Upsize to MySQL
Access | Upsize to Access 2007
SQL Server | Upsize to SQL Server
Oracle | Upsize to Oracle 9i, 10g or 11g
PostgreSQL | Upsize to PostgreSQL
Adaptive Server Anywhere | Upsize to Sybase ASA
MSDE Server | Upsize to MSDE
Progress OpenEdge | Upsize to Progress OpenEdge

Notes:

  • You cannot move a model from a source .EAP file of a version earlier than 3.5.0
  • Before proceeding, ensure MDAC 2.6 or higher is installed on your system


Upsize to MySQL [Enterprise Architect User Guide]

Upsize to MySQL

This topic explains how to upsize your .EAP project or template for use with MySQL.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Install MySQL components
  • Stage 3: Select table type
  • Stage 4: Create an empty database repository
  • Stage 5: Set up the ODBC Driver
  • Stage 6: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Install MySQL Components:

Step | Action | See also
1 | Install MySQL version 4.0.3 or higher | Create a MySQL Repository
2 | Install MySQL ODBC 5.1 or higher |

Select Table Type:

If MyISAM table types are used (default), transactional support is disabled. To enable transactions you must set up MySQL to use InnoDB tables and create the database tables as InnoDB type.

Sparx provide scripts to create both InnoDB- and MyISAM-based repository tables.

Step | Action | See also
1 | Set up the MySQL .ini file as required |
2 | If you are using InnoDB tables run the MySQL_InnoDB_EASchema.sql script If you are using MyISAM tables run the MySQL_MyISAM_EASchema.sql script. | Sparx Systems website

Create Database Repository:

Step | Action | See also
1 | Create an empty database repository | Create a New MySQL Repository

Set Up the ODBC Driver:

Step

Action

See also

1

Create a suitable ODBC Data Source to point to your new database

Select the following checkboxes:

  • Return matched rows instead of affected rows
  • Allow big result sets

Set up a MySQL ODBC Driver

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to MySQL |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft OLE DB Provider for ODBC Drivers from the list Click on the Next button |
7 | In the Use Data source name field, click on the drop-down arrow and select the ODBC Data Source you configured to point to your new database Click on the OK button | Connect to a MySQL Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to MySQL and can now open it from Enterprise Architect.


Upsize to Access 2007 [Enterprise Architect User Guide]

Upsize to Access 2007

This topic explains how to upsize your .EAP project or template for use with Access 2007.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Create an empty database repository | Create an Access 2007 Repository

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to Access 2007 |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft Office 12.0 Access Database Engine OLE DB Provider from the list Click on the Next button |
7 | On the Data Source Details page of the Connection dialog, type in the full path to the Access 2007 .ACCDB file Click on the OK button to return to the Project Transfer dialog |
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to Access 2007 and can now open it from Enterprise Architect.


Upsize to SQL Server [Enterprise Architect User Guide]

Upsize to SQL Server

This topic explains how to upsize your .EAP project or template for use with SQL Server.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Install SQL Server |
2 | Create the empty database | Create an SQL Server Repository
3 | Using a tool such as the SQL Query Analyser, load the SQLServer_EASchema.sql file | Sparx Systems Website
4 | Make sure the new database is the currently active database |
5 | Run the script to create all required data structures | Create an SQL Server Repository

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to SQL Server |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft OLE DB Provider for SQL Server from the list Click on the Next button |
7 | On the Data Source Details page of the Connection dialog, type in the server name, database name and security details as required Click on the OK button | Connect to SQL Server Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to SQL Server and can now open it from Enterprise Architect.

Notes:

  • When transferring a project you must have db_ddladmin permission in order to execute the SET IDENTITY_INSERT ( table ) {ON | OFF} command


Upsize to Oracle 9i, 10g or 11g [Enterprise Architect User Guide]

Upsize to Oracle 9i, 10g or 11g

This topic explains how to upsize your .EAP project or template for use with Oracle 9i, 10g or 11g.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Install Oracle |
2 | Create the empty database | Create an Oracle Data Repository
3 | Using a tool such as the SQL*Plus or SQL Plus Worksheet, load the Oracle_EASchema.sql file | Sparx Systems Website
4 | Make sure the new database is the currently active database |
5 | Run the script to create all required data structures | Create an Oracle Data Repository

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to Oracle |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Oracle Provider for OLE DB from the list Click on the Next button |
7 | On the Connection page of the Datalink Properties dialog, enter the Oracle service name in the Data Source field, and the user name and password as required. Click on the OK button | Connect to an Oracle Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to Oracle and can now open it from Enterprise Architect.

Notes:

  • When transferring a project to Oracle you must have permission to execute the CREATE SEQUENCE command


Upsize to PostgreSQL [Enterprise Architect User Guide]

Upsize to PostgreSQL

This topic explains how to upsize your .EAP project or template for use with PostgreSQL.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Install PostgreSQL Driver
  • Stage 4: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Install PostgreSQL, version 7.3.2 or higher |
2 | Create the empty database | Create a PostgreSQL Repository
3 | From the PSQL command line, or using a tool such as the PostgreSQL command line, pgAdminIII or EMS PostgreSQL Manager, load the PostgreSQL_EASchema.sql file | Sparx Systems Website
4 | Run the script to create all required data structures | Create a PostgreSQL Repository

Set Up the ODBC Driver:

Step | Action | See also
1 | Install psqlODBC, version 7.03.01.00 or higher (but do not use version 8.4.1) |
2 | Create a suitable ODBC Data Source to point to your new database | Set up a PostgreSQL ODBC Driver

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to SQL Server |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft OLE DB Provider for ODBC Drivers from the list Click on the Next button |
7 | On the Use Data Source Name field, click on the drop-down arrow and select the ODBC Data Source you configured to point to your new database Click on the OK button | Connect to a PostgreSQL Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to PostgreSQL and can now open it from Enterprise Architect.

Notes:

  • During the transfer, if an error message displays reporting '...nonstandard use of \\ in a string literal...', set the server variable in the postgresql.conf file to: escape_string_warning = off


Upsize to Sybase ASA [Enterprise Architect User Guide]

Upsize to Sybase Adaptive Server Anywhere (ASA)

 Return to Introduction

This topic explains how to upsize your .EAP project or template for use with Sybase Adaptive Server Anywhere.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Install Adaptive Server Anywhere - SQL Anywhere Studio 8 or higher This also installs the ASA ODBC driver |
2 | Using Sybase Central, create a new database for the Enterprise Architect repository | Create an Adaptive Server Anywhere Repository
3 | Open Interactive SQL and load the ASA_EASchema.sql file | Sparx Systems Website
4 | Run the script to create all required data structures | Create an Adaptive Server Anywhere Repository
5 | Create a suitable ODBC Data Source to point to your new database | Set up an Adaptive Server Anywhere ODBC Driver

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to ASA |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft OLE DB Provider for ODBC Drivers from the list Click on the Next button |
7 | In the Use Data source name field, click on the drop-down arrow and select the ODBC Data Source you configured to point to your new database Click on the OK button | Connect to an Adaptive Server Anywhere Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to Adaptive Server Anywhere and can now open it from Enterprise Architect.


Upsize to MSDE [Enterprise Architect User Guide]

Upsize to MSDE

To upsize your model to MSDE, follow the steps in Upsize to SQL Server.


Upsize to Progress OpenEdge [Enterprise Architect User Guide]

Upsize to Progress OpenEdge

This topic explains how to upsize your .EAP project or template for use with Progress OpenEdge.

The process has the following stages:

  • Stage 1: Perform project integrity check
  • Stage 2: Create an empty database repository
  • Stage 3: Transfer the data

Perform Project Integrity Check:

Step | Action | See also
1 | Open the base project or template .eap file |
2 | Select and run Tools | Data Management | Project Integrity Check This ensures your project data is 'clean' before uploading | Project Integrity Check

Create Database Repository:

Step | Action | See also
1 | Install OpenEdge, version 10.0B3 or higher |
2 | Create an empty OpenEdge database for the new repository | Create a Progress OpenEdge Repository
3 | Download the OpenEdge_EASchema.sql file from the Sparx Systems Registered Users Resources page | Sparx Systems Website
4 | Make sure the new database is selected as the current database |
5 | Run the script to create all required data structures | Create a Progress OpenEdge Repository
6 | Install OpenEdge ODBC Driver, 10.0B or higher Create a suitable ODBC Data Source to point to your new database | Set Up a Progress OpenEdge ODBC Driver

Transfer the Project Data:

Step | Action | See also
1 | Open Enterprise Architect Click on the Cancel button on the Open Project screen to open with no project loaded |
2 | Select the Tools | Data Management | Project Transfer menu option The Project Transfer dialog displays |
3 | In the Transfer Type panel, select .EAP to DBMS |
4 | In the Source Project field, type the name of the .EAP file to upsize to Progress OpenEdge |
5 | At the right of the Target Project field, click on the ( ... ) (Browse) button The Datalink Properties dialog displays |
6 | Select Microsoft OLE DB Provider for ODBC Drivers from the list Click on the Next button |
7 | In the Use Data source name field, click on the drop-down arrow and select the ODBC Data Source you configured to point to your new database Click on the OK button | Connect to a Progress OpenEdge Data Repository
8 | If required, select the Logfile checkbox and type a path and filename for the data transfer log file |
9 | Click on the Transfer button to begin the data transfer process |

When the process is complete, you have upsized your model to Progress OpenEdge and can now open it from Enterprise Architect.


The WAN Optimizer [Enterprise Architect User Guide]

The WAN Optimizer

The Sparx Wide Area Network (WAN) Optimizer is a lightweight server installed on a Local Area Network (LAN) connection to a Database Management System (DBMS) that hosts an Enterprise Architect repository. You can configure the server to listen for client connections on a particular port; it acts as a local proxy to execute queries and return the results in a compressed format to the client.

The WAN Optimizer significantly improves Enterprise Architect's performance in a WAN by reducing the amount of data transmitted and, in turn, the number of network calls made.

In the following diagram, transmission between Enterprise Architect and a DBMS is depicted first without and then with the WAN Optimizer.

You can download the WAN Optimizer installer from the Downloads page of the Registered Users section of the Sparx Systems website. The Wan Optimizer Service installer package provides two installable features for the target machine:

  • WAN Optimizer Service - the installer also helps register and start the service on the target machine, and add it to the Windows Startup folder
  • WAN Optimizer Admin Client - to enable an administrator to administer and configure the service from a remote client.

The Optimizer has its own Sparx WAN Optimizer User Guide. See that User Guide for more information on:

  • WAN Optimizer Components
  • Installing and Starting the WAN Optimizer Service
  • Configuring the Service
  • Troubleshooting


Team Development [Enterprise Architect User Guide]

Team Development

Enterprise Architect enables you to develop a project across a team of people, so that each person can access the latest data without the risk of damaging or losing that data.

Topics:

Topic | Detail | See also
Making project data available in a distributed environment | Enterprise Architect offers a diverse set of functionality designed specifically for sharing projects in team-based and distributed development environments; for example: network deployment of model repositories, replication and XMI Import/Export | Project Sharing
Applying security to the model | Enterprise Architect Security is a means of improving collaborative design and development by preventing concurrent editing, and limiting the possibility of inadvertent model changes by users not designated as model authors | Configure User Security
Using an internal discussion forum | The Enterprise Architect Project Team Review facility is a discussion forum within your development team community to discuss the development and progress of a project | Team Review Tools
Building company policy and project development guidelines into the project | Enterprise Architect enables you to create workflow scripts that provide a robust approach to applying company policy and strengthening project development guidelines, by validating against the policy and procedures within the model itself | Workflow Scripts
Standardizing and re-using project data | You can import and export Reference data (including Glossary and Issue information) from .XML files of another iteration of the same model, or of a different model | Sharing Reference Data


Project Sharing [Enterprise Architect User Guide]

Project Sharing

Enterprise Architect offers a diverse set of functionality designed specifically for sharing projects in team-based and distributed development environments, through network deployment of model repositories, replication and XMI Import/Export.

Topics:

Topic

Detail

See also

Network Deployment

Network deployment is possible under two different schemas:

  • .EAP based repositories or
  • DBMS server based repositories

DBMS server based repositories offer better:

  • response times than .EAP files on networks, due to the inherent structure of the DBMS
  • solutions when networking problems are encountered, as they have the ability to backtrack transactions caused by external breakdowns

Share a Project

Replication

Replication enables data interchange between .EAP based repositories and is suitable for where many different users work independently in parallel development

Modelers merge their changes into a Design Master only as required; it is recommended that a backup is carried out prior to replication

Replication cannot be performed on repositories stored on a DBMS server

Replication

XMI Import and Export

XMI Import/Export can be used to export and share discrete packages between developers; XMI enables the export of packages into XML files which can then be imported into any model

Package control can be used to set up packages for version control and to enable batch export of packages using XMI; Version Control enables a repository to be maintained by a third-party source code control application that is used to control access and record revisions

XMI Import/Export

Version Control

Controlled Packages

Notes:

  • DBMS Repository support is available with the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect

Learn More:

  • Deployment of Enterprise Architect white paper


Share Enterprise Architect Projects [Enterprise Architect User Guide]

Share Enterprise Architect Projects

The most efficient way of using Enterprise Architect to manage a team development is to share a project amongst a team of designers, developers and analysts.

Guide:

Topic

Detail

See also

By Sharing a project
  • Many people can work on the model at the same time and contribute their particular skill
  • Team members can always see what the latest changes are, keeping the team informed and up to date with the project status

Refresh View of Shared Project

You can share a project in three ways
  • Place the project in a shared network directory
  • Use replication
  • Use a shared DBMS-based repository

Share Projects on Network Drive

Replication

Server Based Repositories

Notes:

  • Project Sharing and Replication are enabled in the Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • DBMS repositories are supported in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect


Refresh View of Shared Project [Enterprise Architect User Guide]

Refresh View of Shared Project

When a user of a shared model checks out a package and makes changes, other users can see those changes by refreshing their view of the package or the changed diagram within the package, in a number of ways.

Refresh

Detail

See also

Project
  • Right-click on the package name in the Project Browser and select the Contents | Reload Current Package context menu option
  • Select the File | Reload Current Project menu option
  • Select the Reload Project icon in the Project toolbar
  • Press ( Ctrl+Shift+F11 )
  • Close the project and reopen it

Contents Submenu

File

Project Toolbar

Diagram
  • Select the Window | Reload Current View menu option
  • Right-click on the opened diagram tab in the diagram view, and select the Reload <diagram name> context menu option

Window Menu

Diagram Tabs


Share Projects on Network Drive [Enterprise Architect User Guide]

Share a Project

The easiest way to share a project amongst a work group of developers and analysts is to place the project file on a shared network drive, to which people connect from their workstations.

Individual developers and analysts can then open and work on the project concurrently.

Network Issues

See also

Enterprise Architect accepts a number of concurrent connections without issue; however:

  • There can be occasional 'lock-outs' when one user tries to access or update something another user is in the process of modifying
  • Changes to the Project Browser (and other project views) are not automatically updated; to compensate for this, users must occasionally reload their project to see changes made by other users
  • If two or more people work on the same diagram concurrently, unexpected results can occur; it is best to allow only one analyst to work on a diagram at a time
  • (.EAP files only) If a user's machine crashes, the network suffers an outage or a machine is turned off unexpectedly, the project file might require repair to compensate for the sudden inconsistency; a repair facility is provided (Tools | Data Management | Manage .EAP File | Repair .EAP File) to carry out this task

Refresh Model View

Repair a Project


Distributed Development [Enterprise Architect User Guide]

Distributed Development

Enterprise Architect supports distributed development using two different techniques.

Topic

Detail

See also

Replication

Enables geographically separated analysts to update and modify parts of the model in replicas, then merge these back together at a central location

Replication

XMI Import/Export

Use XMI-based import/export to export discrete packages to XML to share among the development team; this has several benefits over replication:

  • You can assemble a model from only the parts necessary to get your job done
  • You can assemble a full model if required
  • You can assemble a model from different package versions for different purposes (such as customer visible, internal release only)
  • You can roll-back parts of a model as required
  • There is less chance of 'collisions' between developers if each works on a discrete package
  • The process is controllable using a version control system, or through package control

XMI based import/export is UML1.3 / XMI1.1 compliant; you can also write XML based tools to manipulate and extract information from XML files to enhance the development process

XMI-based Import/Export is accessed through Project | Model Import/Export

Import/Export

Version Control

Controlled Packages

XMI Import Export Options


Replication [Enterprise Architect User Guide]

Replication

Apart from sharing Enterprise Architect projects in real time over a network, you can also share projects using replication.

Guide:

Topic

Detail

See also

Replication

Replication is a powerful means of sharing projects between isolated or mobile users; it enables different users to work independently of one another, and to merge their changes at a later time

In Replication:

  • A project is converted to a design master, then replicas are made of the master
  • Users take the replicas away, modify the project, then bring their replicas back to be synchronized with the master file

Use Replication

To use replication, follow the steps below

  1. Convert the base project to a design master
  2. Create replicas from the design master
  3. Take the replica away and work on it as required, then bring it back for synchronization with the design master
  4. Synchronize the replicas, during which all changes to both the master and the replica are propagated in both directions, so they both finally contain the same information

Design Master

Create Replicas

Synchronize Replicas

Enterprise Architect Merge Rules

Enterprise Architect follows these rules in merging:

  • Additions are cumulative; that is, two replicas each creating three new Classes result in six new Classes after merging
  • Deletions prevail over modifications; if one replica changes a Class name and other deletes the Class, merging replicas results in both files losing the Class

Conflicting modifications appear in the Resolve Replication Conflicts dialog

Resolve Conflicts

Upgrades and Replicas

When you upgrade your version of Enterprise Architect, you must not open a replica until you have opened the design master and then synchronized the replicas with the master; you cannot directly upgrade a replica

Upgrade Replicas

Avoid Change Collisions

If two or more people make changes to the same element, Enterprise Architect arbitrarily overwrites one person's change with the other's; to avoid this, different users should work on different packages

However, since Enterprise Architect does not enforce this rule, it is possible for users' work to conflict; to minimize difficulties, please note the following guidelines:

  • If users are likely to have worked in the same area of the model, they should both witness the synchronization and confirm that they are happy with the net result
  • If small pieces of information have been lost, they should be typed into one of the merged models after synchronization
  • If a large piece of information has been lost (for example, an overwritten large Class note) use the Resolve Replication Conflicts dialog

Resolve Conflicts

Disable or Remove Replication Features

If you have converted a project to a design master but now want to disable the replication features, you can remove Replication; ensure that you back up all your files first

Remove Replication


Design Masters [Enterprise Architect User Guide]

Design Masters

A design master is the first converted Enterprise Architect project that supports replication.

Access: Tools | Data Management | Manage .EAP File | Make Design Master

Use to:

  • Create the master project from which you create replicas that can be modified independently of the master project and re-merged later

How to:

To create a design master, follow the steps below:

Step | Action
1 | Take a back-up of the required Enterprise Architect project
2 | Select the project in the Project Browser
3 | Select the Make Design Master menu option and follow the on-screen instructions

Learn More:

  • Create Replicas


Create Replicas [Enterprise Architect User Guide]

Create Replicas

A replica is one of several copies of the design master of an Enterprise Architect project.

Access: Tools | Data Management | Manage .EAP File | Create New Replica

Use to:

  • Create a copy of the master project for you or another user to modify independently and re-merge later

How to:

To create a replica, follow the steps below:

Step | Action
1 | First create a design master, then select the Create New Replica menu option and follow the on-screen instructions
2 | Edit the replica over time and, when required, return the file for merging with the design master

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Replicas permission to create a replica

Learn More:

  • Design Masters
  • Manage Replicas User Permissions


Synchronize Replicas [Enterprise Architect User Guide]

Synchronize Replicas

Synchronizing replicas combines the changes made to each file.

Access: Tools | Data Management | Manage .EAP File | Synchronize Replicas

Use to:

  • Merge the changes made to each replica with the design master, so that a new set of replicas with all changes can be generated and distributed
  • Combine the changes made to two replicas, should it be necessary for two team members to combine their work

How to:

To synchronize replicas, follow the steps below:

Step | Action
1 | Open the design master project file (or the first required replica)
2 | Select the Synchronize Replicas menu option
3 | Locate and select the (second) required replica to merge the open project and the replica

Notes:

  • Information is copied both ways, including deletes, updates and inserts; both projects end up containing identical information
  • If this process generates 'conflicting changes' errors, you should review and, if necessary, resolve these conflicts
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Replicas permission to create a replica

Learn More:

  • Resolve Conflicts
  • Manage Replicas User Permissions


Remove Replication [Enterprise Architect User Guide]

Remove Replication

Replication makes many changes to the database structure of your model, so the model file becomes considerably larger with additional information; you might, therefore, decide not to use the replication feature any more.

Access: Tools | Data Management | Manage .EAP File | Remove Replication

Use to:

  • Remove replication from your model

How to:

To remove replication from your model, follow the steps below:

Step | Action
1 | Ensure that you have open a temporary repository (not the one having replication removed) - the menu option is not available if no repository is open
2 | Select the Remove Replication menu option The Remove Replication Wizard displays
3 | Enter the full path and file name of the project to have replication removed Click on the Next button
4 | Enter the full path and file name of the base Enterprise Architect model (with no replication) to act as template Click on the Next button
5 | Enter the full path and required file name for the output file Click on the Next button
6 | Select whether to have a log file created and, if so, enter a file name for the log file
7 | Click on the Run button to begin removing replication Enterprise Architect creates a new project containing all the model information Your model has now had replication removed, and should be considerably smaller

Notes:

  • You cannot remove replication from a model with Auditing enabled - if you want to remove replication:
  • Disable Auditing
  • If prompted to do so, allow Enterprise Architect to roll back the database version
  • Remove replication

Learn More:

  • Auditing
  • Auditing Settings


Upgrade Replicas [Enterprise Architect User Guide]

Upgrade Replicas

A new release of Enterprise Architect might contain changes to the underlying project structure, such as more tables or changed queries. If you use Replication, you must take care with your upgrade.

Guide:

Topic | Detail | See also
Open Design Master Project first | After installing the new version of Enterprise Architect, it is very important that you open the design master before opening any of the replicas with the updated version | Design Masters
Changes to the database design | Changes to the database design in a replicated project can ONLY be done to the design master; trying to update a replica at best does nothing, and at worst causes the update of the master to fail |
Propagate Changes | Design changes are propagated through to the replicas the next time the replicas are synchronized with the master | Synchronize Replicas
Alternatively | One other strategy is to remove replication from a copy of the replica set, upgrade that project and convert it into a new design master from which new replicas are created | Remove Replication


Resolve Conflicts [Enterprise Architect User Guide]

Resolve Conflicts

If two or more people each work on the same model object in their respective replicas between synchronizations, the replication engine has problems in resolving which change is the master.

Guide:

Topic

Detail

See also

Avoid the problem

Ensure that each team member always works in a separate area of the model within their replica

Check for conflicts

After synchronizing replicas, open the Resolve Conflicts dialog (see below this table) and check if there were any conflicts

Response to conflicts

When a project record has been modified in different ways by different users, the replication engine selects one of the conflicting values based on rules within the JET replication manager

However, the replication engine stores the discarded changes and flags the conflict on the Resolve Conflicts dialog so that you can choose to roll in the discarded change instead

Normally it is not necessary or desirable to examine conflicts, since they represent relatively inconsequential pieces of information that can very easily be modified through the normal Enterprise Architect interface; for example, by moving a diagram element

The only case in which the Resolve Conflicts dialog should be used is where a substantial piece of information has been overridden by a user, and you want to retrieve it

Access: Tools | Data Management | Manage .EAP File | Resolve Replication Conflicts

Use to:

  • Select which of two conflicting changes you should save to the Design Master and/or replicas, where a substantial piece of information has been overridden by a user and you want to retrieve it

How to:

To resolve conflicts in changes to the same model object in two separate replicas, follow the steps below:

Step | Action
1 | Synchronize a replica with the Design Master, and display the Resolve Conflicts dialog
2 | In the Table with Conflicts list, click on the entry that is likely to contain the lost information
3 | Click on each entry in the Conflicting Records list When the lost information appears in the Conflict Details list, click on the Overwrite with Conflict button.
4 | In the Conflicting Records list, you can also copy each Row ID to the clipboard by right-clicking on the row and selecting the Copy to Clipboard menu option


Configure User Security [Enterprise Architect User Guide]

Configure User Security

User security in Enterprise Architect can be used to limit the access to update functions within the model.

Topics:

Topic

Detail

See also

User Security

Security in Enterprise Architect is a means of improving collaborative design and development by preventing concurrent editing and limiting the possibility of inadvertent model changes by users not designated as model authors

User security is not enabled by default in Enterprise Architect; the Administrator must enable it first

Where user security is enabled a password is required to log in to the model

Elements can be locked per user or per group

Enable Security

Security Policies

Enterprise Architect User Security offers two policies:

  • Standard security mode - all elements are initially unlocked and, as necessary, a user can set a user or group lock on any element or set of elements in order to make changes and protect those changes
  • Rigorous security mode - an Enterprise Architect model is read-only and nothing in the model can be edited until explicitly checked out with a user lock

Security Policy

Security Operations For Administrators

A number of security tasks can only be performed by users with Administrative rights to the model

Set Security Policy

Enable Security

Maintain Users

Import User IDs From Active Directory

Change User Passwords

Assign User To Groups

View All User Permissions

Maintain Groups

View and Manage Locks

Password Encryption

Create Workflow Scripts.

Security Operations For Users

Other Security tasks can be performed by users who do not have Administrative rights

Lock Model Elements

Lock Packages

Apply a User Lock

Identify Who Has Locked An Object

Locked Element Indicators

Manage Your Own Locks

Change Your Own Password

Security Scripts

With workflow administration permissions, you can also develop workflow scripts using the Scripting window

Workflow scripts validate and control user input.

List of Available Permissions

Workflow Scripts

Scripting

Workflow Script Functions

Notes:

  • User security can be enabled in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • For a number of operations in Enterprise Architect, if security is enabled a user must have the appropriate user or group access permission to perform the operation; however, if security is not enabled, the user does not have to have these access permissions


Enable Security [Enterprise Architect User Guide]

Enable Security

User security is not enabled by default in Enterprise Architect, the Administrator must enable it using an Authorization key obtained from the Sparx Systems website.

Access: Project | Security | Enable Security

Use to:

  • Enable User Security on a project
  • Disable User Security, in exactly the same way

How to:

Step

Action

See also

1

Obtain the Authorization Key from the Sparx Systems website on:

  • the Team Modeling Resources section (Trial User) or
  • the Registered Users section (Registered User; you must also have your Registered Users login and password)

Team Modeling Resources web pages

Registered Users web pages

2

In Enterprise Architect, select the Enable Security menu option

The Enter authorization dialog displays

3

In the Enter authorization key field, type the authorization key from the Sparx Systems website

4

If required, select the Automatically apply Exclusive Edit Locks to diagrams checkbox

This option is ignored in Require User Lock security mode.

In standard (User/Group Locking) mode, this option blocks multiple users from simultaneously attempting to modify the same diagram (see Notes below)

Security Policy

5

Click on the OK button

Security is enabled, and an Admin user and user group are created with all access rights and a password of password

List of Available Permissions

6

Select the Project | Security | Login as Another User menu option, and log in as Admin with the initial password of password

If required, you can change the Admin password

Change Password

7

Set up users and permissions as required.

Maintain Users

Assign User To Groups

Set Up Single Permissions

Maintain Groups

Set Group Permissions

Notes:

  • Once security has been enabled, you must have the Security - Enable/Disable access right to turn it off - the initial administrator automatically has this access right; the system prompts you to log off the project and log on again, but this is not strictly necessary
  • If you re-enable security, be aware that any changes you have made to the Admin user (password and reduced access rights) are reset to password and full access
  • The Automatically apply Exclusive Edit Locks to diagrams option is not displayed when disabling security, therefore to toggle the setting whilst security is enabled you must disable security and re-enable it; security settings (users, groups and permissions) and locks on elements, are NOT affected by this action
  • If the Automatically apply Exclusive Edit Locks to diagrams option is selected, as a user modifies a diagram Enterprise Architect automatically applies a User Lock to the diagram, preventing any other user from modifying it
    It is creating difference between the database and buffer versions of the diagram that triggers the temporary lock, and elimination of difference that releases the lock; therefore, Enterprise Architect releases the lock when:
  • The user saves the changes to the diagram, with the Save icon or keyboard keys
  • The user undoes the last remaining action in the Undo list
  • The user saves or discards changes via the system prompt when they close the diagram

If the diagram already has a User Lock or Group Lock that does not exclude the current user, this lock is set aside and saved when the temporary User Lock is applied. When the temporary User Lock is released, the pre-existing lock is restored


Security Policy [Enterprise Architect User Guide]

Security Policy

There are two possible security policies in Enterprise Architect.

Guide:

Topic

Detail

See also

User/Group Locking mode

All elements and diagrams are considered unlocked and anyone can edit any part of the project

However, when you edit a diagram, package or element, you lock the element or set of elements at either the user level or group level

This mode is good for cooperative work groups where there is a solid understanding of who is working on which part of the model, and locking is used mainly to prevent further changes or to limit who has access to a part of the model

Require User Lock to edit mode

More rigorous: the Enterprise Architect model is read-only, and everything is locked so that nobody can edit anything unless they explicitly check out the object with a user lock

A single 'check out' function operates on a diagram to check out the diagram and all contained elements in one go

There are also functions on the context (right-click) menus of packages, diagrams and elements in the Project Browser to apply a user lock when this mode is in use

You would use this mode when there is a strict requirement to ensure only one person can edit a resource at one time; this is suitable for much larger projects where there might be less communication between users

Notes:

  • Toggle between the security modes using Project | Security | Require User Lock to Edit - deselected for User/Group Locking mode, selected for Require User Lock to edit mode
  • When you add new elements in User/Group Locking mode (elements editable by default), no user lock is created automatically for the newly created element
  • When you add new elements in Require User Lock to Edit mode (elements locked by default), a user lock is created on the new element to enable instant editing


Maintain Users [Enterprise Architect User Guide]

Maintain Users

If you enable security you have access to the Security Users dialog, which you can use to set up more users for your model.

Access: Project | Security | Manage Users

Use to:

  • Define the user IDs and initial passwords for the users that are to have access to the model

How to:

To set up a user for your model, follow the steps below:

Step

Action

See also

1

Select the Manage Users menu option

The Security Users dialog displays, which you can use to set up new users by providing their name and other details

You can also:

  • Import User IDs from a Windows Active Directory
  • Assign User IDs to User Groups
  • Set up single permissions for a user
  • View all permissions for the currently selected user

Import User IDs from a Windows Active Directory

Assign User IDs to Groups

Single Permissions

View All

2

To identify a new user on this dialog, click on the New button and type in the user's login ID, first name and last name

If required, also provide the user's department name

3

To set the user's password, click on the Change Password button

The Change Password dialog displays

4

In the New password field, type the user's password

This must be 12 characters or less in length

5

In the Retype new field, type the user's password again, for confirmation

6

Click on the OK button

A Password Changed message displays

7

Click on the OK button

8

When you have entered the details for the user, click on the Save button

9

Click on either the:

  • New button to add another user, or
  • Close button to exit the Security Users dialog

Notes:

  • You must have Security - Manage Users permission to maintain users, and Change Password permission to change the password of the current user; the initial Admin administrator automatically has these permissions
  • You can transport the user definitions between models as Reference Data, using the Project | Model Import/Export | Export Reference Data and Import Reference Data options
  • If you select the Accept Windows Authentication checkbox, when a user opens the model Enterprise Architect checks the user's database for their Windows ID and, if it matches, automatically logs the user in without prompting for a password
  • The Accept Windows Authentication checkbox enables the Import button, which you can select to import user IDs from a Windows Active Directory
  • As a security measure, the Accept Windows Authentication checkbox is automatically deselected if the project .eap file is moved to a different location; once the file has been relocated, you can select the checkbox again to apply Windows authentication from the new database

Learn More:

  • List of Available Permissions
  • Export Reference Data
  • Import Reference Data


Import User IDs From Active Directory [Enterprise Architect User Guide]

Import User IDs From Active Directory

You can import the Enterprise Architect security user IDs from Windows Active Directory.

When you import the user IDs, you should create an appropriate user group and assign the user IDs to that group; you can then assign appropriate permissions to the group.

Access: Project | Security | Manage Users

Use to:

  • Import Windows user IDs as Enterprise Architect security user IDs for use with Windows Authentication

How to:

To import user IDs from Windows Active Directory, follow the steps below:

Step

Action

See also

1

On the Security Users dialog select the Accept Windows Authentication checkbox and click on the Import button

The Import Users dialog displays

2

Click on the down arrow in the Security Group field and select the appropriate security group for the imported user IDs

3

Click on the Add button

The Select Users screen displays

4

Click on the Object Types button

The Object Types dialog displays

5

Select the checkbox for the type of object to import from the Active Directory

Click on the OK button to return to the Select Users dialog

6

Click on the Locations button

The Locations dialog displays

7

Browse for and select the checkbox for the location to import from within the Active Directory

Click on the OK button to return to the Select Users dialog

8

In the Enter the object names to select field, either:

  • type in the user IDs individually (click on the examples link to see examples of the correct formats) or
  • click on the Advance button to search for IDs; the Select Users dialog redisplays with a Common Queries tab

9

In the Name and Description fields, type any characters or text that helps identify the IDs you are searching for

10

In the Starts with field, click on the drop-down arrow and select the appropriate qualifier

11

If required, select the Disabled accounts or Non-expiring password checkboxes, and/or select a value in the Days since last logon field, to further filter the IDs to search for

12

Click on the Find Now button to initiate the search, and to display a list of IDs in the bottom panel of the dialog

You can vary the types of information shown here by clicking on the Columns button and selecting the column headings to display

13

When you have identified the IDs to import, click on a required ID (or press (Ctrl) or (Shift) while you click to select several) and click on the OK button

The Select Users dialog redisplays, with the selected ID or IDs listed in the Enter the object names to select field

14

Click on the OK button to redisplay the Import Users dialog with the selected users' names listed in the Users panel

15

Click on the Import button to add the user IDs to the Security Users dialog

16

Click on a user ID to populate the dialog fields with the user ID details, to set group membership and to set single permissions as required.

Group Membership

Set Single Permissions

Notes:

  • Enterprise Architect generates random passwords for Windows user IDs; however, if required you can assign a new password to an imported user ID

Learn More:

  • Maintain Groups
  • Change Password


Assign User To Groups [Enterprise Architect User Guide]

Assign User To Groups

A user might belong to one or more work groups, each of which would have permissions to perform work in specific areas of Enterprise Architect.

Access: Project | Security | Manage Users: Group Membership button

Use to:

  • Assign a user's ID to one or more work groups

How to:

To assign a user to user groups follow the steps below:

Step | Action | See also
1 | On the Security Users dialog click on the Group Membership button The User Groups dialog displays |
2 | Select the checkbox against each group this user belongs to |
3 | Click on the OK button to assign the user to the selected groups |

Notes:

  • To assign users to groups, you must have Security - Manage Users permission; the initial Admin administrator automatically has this permission.
  • User groups must already exist in order to assign users to them

Learn More:

  • List of Available Permissions
  • Maintain Groups


Set Up Single Permissions [Enterprise Architect User Guide]

Set Up Single Permissions

A user commonly belongs to one or more work groups that give that user group permissions to work in areas of Enterprise Architect. You can also assign additional, specific user permissions to that user ID.

Access: Project | Security | Manage Users: Single Permissions button

Use to:

  • Define the specific permissions an individual user has to perform work in Enterprise Architect

How to:

To set up single permissions for a user follow the steps below:

Step

Action

See also

1

On the Security Users dialog, click on the Single Permissions button

The User Permissions dialog displays

2

Select the checkbox against each specific permission to assign to this user

Click on the:

  • Select All button to select all permissions for the user, or
  • Deselect All button to clear all selected permissions

3

Click on the OK button to assign the selected permissions to the user

Notes:

  • You must have Security - Manage Users permission to assign permissions to users; the initial Admin administrator automatically has this permission
  • A user's total permissions are those granted by Group Membership plus those granted by specific permission assignment
  • You can transport the user permissions between models as Reference Data, using the Project | Model Import/Export | Export Reference Data and Import Reference Data options

Learn More:

  • List of Available Permissions
  • Export Reference Data
  • Import Reference Data


View All User Permissions [Enterprise Architect User Guide]

View All User Permissions

This topic explains how to list all the permissions a user has.

Access: Project | Security | Manage Users

Use to:

  • Display a list of the permissions a specific user has, derived from their individual profile and from their membership of security groups

How to:

Step | Action | See also
1 | Select the Manage Users menu option The Security Users dialog displays |
2 | Select the required user Click on the View All button A dialog displays, listing all of the user's permissions |


Maintain Groups [Enterprise Architect User Guide]

Maintain Groups

This topic explains how to create a security group. Security groups make it easy to configure sets of permissions and apply them to a number of users in one action.

Access: Project | Security | Manage Groups

Use to:

  • Create a security group prior to:
  • Assigning permissions to the group
  • Assigning users to the group

How to:

To set up a security group, follow the steps below:

Step

Action

See also

1

Select the Manage Groups menu option

The Security Groups dialog displays

2

In the Group Name and Description fields, type the security group name and a description of the group

3

Click on the Save button

4

The group name can be selected as the recipient of an internal email; when an email is sent to the group, all members of the group receive that email in their Personal Information window

However, the group name can act as either:

  • A mail list, in which case each group member receives their own copy of the message, or
  • A mailbox, in which case the email is a single entity - the group members do not receive separate instances of it; therefore, if one group member responds to or deletes the email, the other group members see that action as if they had performed it themselves

To make the group name act as a mailbox, select the Shared Mail checkbox against the group name in the Groups panel

To use the group name as a mail list, leave the checkbox unselected

Internal Mail

Notes:

  • You must have Security - Manage Users permission to manage user groups; the initial Admin administrator automatically has this permission
  • You do not define groups as group logins with passwords; if you intend to use a group login, you can define a single-user login and password that all group members use (that is, Enterprise Architect allows multiple logins under one user ID)
  • Emails already sent to a group as a mail list and those sent to a group as a mailbox cannot be interchanged; if you change the status of the Shared Mail checkbox, the only way to change the distribution of past emails is to forward them to the group name again

Learn More:

  • Maintain Users
  • Set Group Permissions
  • Assign User To Groups
  • List of Available Permissions


Set Group Permissions [Enterprise Architect User Guide]

Set Group Permissions

This topic explains how to assign permissions to a security group.

Access: Project | Security | Manage Groups: Set Group Permissions button

Use to:

  • Assign permissions to a previously-created user group, to work in various areas of Enterprise Architect

How to:

To assign permissions to a security group, follow the steps below:

Step

Action

See also

1

Select the Manage Groups menu option

The Security Groups dialog displays

2

Click on the Set Group Permissions button

The Group Permissions dialog displays

3

Select the checkbox against each required permission

Click on the:

  • Select All button to select all permissions
  • Deselect All button to clear all selected permissions

4

Click on the OK button to assign the permissions

All of the users assigned to this group share in this set of permissions

Notes:

  • You can transport the group permissions between models as Reference Data, using the Project | Model Import/Export | Export Reference Data and Import Reference Data options
  • You must have Security - Manage Users permission to assign permissions to user groups; the initial Admin administrator automatically has this permission

Learn More:

  • Maintain Groups
  • Assign User To Groups
  • Export Reference Data
  • Import Reference Data
  • List of Available Permissions


List of Available Permissions [Enterprise Architect User Guide]

List of Available Permissions

In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled, users can only perform certain tasks if they have the appropriate permissions for those tasks.

Some permissions take precedence over others. For example, if a user has Use Version Control permission, they can modify model elements on import even if they do not have Update Element permission.

Reference:

Permission | Enables the user to | See also
Administer Database | Compact and repair a project database | Compact a Project Repair a Project
Admin Workflow | Develop and manage workflow scripts | Workflow scripts
Audit Settings | Change the audit settings in the Audit Settings dialog | Audit Settings
Audit View | Enable auditing and display data in the Audit View and Audit History tab | Audit View Controls Audit History Tab
Baselines - Manage | Create, delete, import and export Baselines | Package Baselines
Baselines - Restore | Merge data into the project model from a Baseline or XML file | Package Baselines
Change Password | Change your own password or (Administrator) another user's password | Change Password
Check Data Integrity | Check and repair project data integrity | Check Project Data Integrity
Configure Datatypes | Add, modify and delete datatypes | Data Types
Configure Images | Configure alternative element images | Using The Image Manager
Configure Packages | Configure controlled packages and package properties | Configure Packages
Configure Resources | Create and manage Resources window items: RTF templates, patterns, profiles and favorites | Resources
Configure Stereotypes | Add, modify and delete Stereotypes | Stereotype Settings
Configure Version Control | Set up version control options for the current model | Version Control Settings Dialog
Export XMI | Export a model to XMI | Export to XMI
Generate Documents | Generate RTF and HTML documents from model packages | RTF Documents HTML Reports
Generate Source Code and DDL | Generate source code and DDL from a model element, and synchronize code against model elements if it already exists | Generate Source Code Generate DDL for a Table Synchronize Model and Code
Import XMI | Import a model from XMI | Import from XMI
Lock Objects | Lock an element or package | Lock Model Elements Lock Packages
Manage Diagrams | Create new diagrams, copy and delete existing diagrams, and save a diagram as a UML Pattern | Create a Pattern Add New Diagrams Copy a Diagram Delete Diagram
Manage Glossary | Create, edit and delete glossary items in the Project Glossary | Project Glossary
Manage Issues | Update and delete model Issues | Project issues
Manage Project Calendar | Add, update and delete Project Calendar events; those without this permission can view calendar items | Calendar
Manage Project Information | Update and manage project resources, metrics and risks | Project Resources
Manage Reference Data - Update | Update and delete reference items | Reference Data
Manage Replicas | Create and synchronize replicas | Create Replicas Synchronize Replicas
Manage Tests | Update and delete Test records | The Testing Workspace
Reverse Engineer from DDL and Source Code | Reverse engineer from source code or ODBC, and synchronize model elements against code | Import Source Code
Security - Enable/Disable | Disable user security in Enterprise Architect | Enable Security
Security - Manage Locks | View and delete element locks | View and Manage Locks
Security - Manage Users | Maintain users, groups and assigned permissions | Maintain Users Assign User to Groups Set Up Single Permissions
Spell Check | Spell check package and set spell check language | Using the Spell Checker
Transfer Data | Transfer model between different repositories | Perform a Project Data Transfer
Transform Package | Perform transformations of packages and elements | Model Transformations
Update Diagrams | Update diagram appearance, properties and layout, including the Page Setup dialog | Diagram Properties Set Diagram Page Size
Update Element | Save model changes (including delete) for elements, packages, and relationships | Element Tasks Packages Connector Tasks
Use Version Control | Check files in and out using version control | Check In and Check Out Packages


View and Manage Locks [Enterprise Architect User Guide]

View and Manage Locks

Enterprise Architect provides a function to view and manage active locks on elements.

Access: Project | Security | Manage Locks

Use to:

  • Periodically examine and, if necessary, delete locks placed on elements by users

How to:

To view locks and, if necessary, delete them, follow the steps below:

Step

Action

See also

1

Select the Manage Locks menu option

The Active Locks dialog displays

2

In the View Locks For panel, click on the radio button for the type of lock to view

  • All
  • Groups Only
  • Users Only

Locks of the selected type are listed in the Active Locks panel

3

To remove a lock, click on it and click on the Unlock Selected button

4

When finished, click on the Close button to close the dialog

Notes:

  • You must have Security - Manage Locks permission to view and delete user locks; the initial Admin administrator automatically has this permission
  • If you want to display the resulting information in a more readable layout, you can resize the dialog and its columns
  • If an element is locked then connectors attached to it are also locked, so to unlock the connector you must unlock the element; however, under certain circumstances you can add new connectors to a locked element

Learn More:

  • List of Available Permissions
  • Add Connectors to Locked Elements


Password Encryption [Enterprise Architect User Guide]

Password Encryption

This topic is retained to support regression to releases of Enterprise Architect prior to version 7.1; for password encryption for all repositories at and beyond release 7.1, you create model shortcuts. Enterprise Architect Security Administrators of projects on SQL Server or Oracle repositories can encrypt the password used to set up the connection between Enterprise Architect and the repository. The Enterprise Architect user does not have the real password, thereby preventing them from accessing the repository using other tools such as Query Analyzer or SQLPlus.

Access: Project | Security | Encrypt Password

Use to:

  • Encrypt the password used to set up the connection between Enterprise Architect and a SQL Server or Oracle repository

How to:

To encrypt a repository password, follow the steps below:

Step

Action

See also

1

Select the Encrypt Password menu option

A simple dialog displays

2

In the Password field, enter the password to access the repository

The Encrypted field displays the modified password to be used by users

3

Instruct users to connect Enterprise Architect to the repository using the encrypted password prefixed with $$
  • Connect to Oracle Data Repository
  • Connect to SQL Server Data Repository

Notes:

  • Do not use the Test Connection button as it can cause an error with encrypted passwords
  • For SQL Server repositories, you must enter the Initial Catalog details from the All tab of the Data Link Properties dialog

Learn More:

  • Model Shortcuts


Change Password [Enterprise Architect User Guide]

Change Password

This topic explains how to change a password when security is set.

Access: Project | Security | Change Password (User)
Project | Security | Manage Users (Administrator)

Use to:

  • Change your own password (User)
  • Set or change any user's password (Administrator)

How to:

To change your own user password, follow the steps below:

Step | Action | See also
1 | Select the Change Password menu option The Change Password dialog displays |
2 | In the Enter old password field, type your current password |
3 | In the New password field, type your new password This must be 12 characters or less in length |
4 | In the Retype new field, type your new password again, for confirmation |
5 | Click on the OK button The Password Changed message displays |
6 | Click on the OK button to clear the message Your new password is effective next time you log in |

To set or change any user's password as Administrator, follow the steps below

Step | Action | See also
1 | Select the Manage Users menu option The Security Users dialog displays |
2 | In the Users: panel, click on the user's name The user's details display in the dialog fields |
3 | Click on the Change Password button The Change Password dialog displays |
4 | In the New password field, type the user's password This must be 12 characters or less in length You do not have to enter the user's current password |
5 | In the Retype new field, type the user's password again, for confirmation |
6 | Click on the OK button The Password Changed message displays |
7 | Click on the OK button |

Notes:

  • A user must have Change Password permission to change a password; the initial Admin administrator automatically has this permission

Learn More:

  • List of Available Permissions


Lock Model Elements [Enterprise Architect User Guide]

Lock Model Elements

This topic explains how to set a lock on a model object in User/Group Locking mode.

In Require User Lock to edit mode, the Apply a User lock process applies.

Access:

Select:

  • Project Browser | Package context menu | Lock
  • Project Browser | Diagram context menu | Lock
  • Project Browser | Element context menu | Lock
  • Diagram background context menu | Lock or
  • Diagram Element context menu | Lock

Use to:

  • Set an editing lock on a modeling object so that:
  • Nobody can edit the object
  • Only you can edit the object, or
  • Only a member of your user group can edit the object
  • Clear any editing lock on the object

How to:

To set a lock on an object in User/Group Locking mode, follow the steps below:

Step

Action

See also

1

Select the Lock option on the appropriate context menu

The Element Lock dialog displays

2

Select the radio button for the required option:

  • No lock - do not lock this object; clear any existing lock
  • Full lock - lock this object so that no-one can edit it
  • User lock - lock this object so that only the locking user can make further edits
  • Group lock - lock this element so that any member of the specified group can edit the object, but others are excluded

3

If you have selected the Group lock option, in the GroupID field click on the drop-down arrow and select the group that can edit the object

4

Click on the OK button

Notes:

  • You must have Lock Objects permission to lock an element
  • If the item already has a lock, only the corresponding lock option and the No lock option are shown; you have to release the lock in order to set a different type of lock
  • If a diagram is locked and you select an object on it, the object border displays in red, indicating that you cannot change the object

Learn More:

  • List of Available Permissions
  • Security Policy
  • Apply a User Lock


Add Connectors To Locked Elements [Enterprise Architect User Guide]

Add Connectors To Locked Elements

When working in a diagram containing locked elements, you can add connectors depending on the lock status of the source and target elements.

Reference:

Element Status | Add Connectors | See also
Source unlocked, target unlocked | Yes, any kind of connector can be added |
Source unlocked, target locked | Yes, except for Composition connectors |
Source locked, target unlocked | No, except for Composition connectors |
Source locked, target locked | No, prohibited for all connectors |

Notes:

  • Generally, a connector can be added if its source is unlocked - you are modifying what the source can see
  • The exception is Composition connectors, where the target (the parent) must be unlocked - you are modifying the parent by adding children
  • Connectors with locked source or target elements are also locked; to unlock the connector, you must unlock the source and/or target element

Learn More:

  • View and Manage Locks


Lock Packages [Enterprise Architect User Guide]

Lock Packages

This topic explains how to lock the complete contents of a package (and optionally all contents of its child packages) in User/Group locking mode, in one operation.

Access: Project Browser | Package context menu | Lock Package

Use to:

  • Automatically set or clear locks on elements and diagrams within a package in User/Group locking mode, as if the locks had been set or cleared individually

How to:

To lock a package, follow the steps below:

Step

Action

See also

1

Deselect the Project | Security | Require User Lock to Edit menu option

Security Policy

2

In the Project Browser, right-click on the package to lock

The context menu displays

3

Select the Lock Package menu option

The Lock/Unlock Package(s) dialog displays

4

In the Lock Type panel, select the appropriate radio button for the lock to apply, as for an individual object lock

Lock Model Elements

5

As required, select the checkboxes to lock:

  • Elements and/or diagrams
  • The contents of child packages (that is, lock the whole branch)

6

Click on the OK button to apply the lock.

Notes:

  • If security is enabled you must have Lock Objects permission to lock a package

Learn More:

  • List of Available Permissions


Apply a User Lock [Enterprise Architect User Guide]

Apply a User Lock

In the Require User Lock to Edit security mode, where a User Lock is required before any edit can occur, you can set or release the lock in either a diagram or the Project Browser.

Access:

Select:

  • Project Browser | Package context menu | Apply/Release User Lock
  • Project Browser | Diagram context menu | Apply/Release User Lock
  • Project Browser | Element context menu | Apply/Release User Lock
  • Diagram background context menu | Apply/Release User Lock or
  • Diagram Element context menu | Apply/Release User Lock

Use to:

  • Set an editing lock on a modeling object so that only you can edit the object
  • Clear the editing lock on the object

How to:

To set or clear a user lock in Require User Lock to Edit security mode, follow the steps below:

Step

Action

See also

1

Right-click on the required object in the Project Browser or diagram, and select the Apply/Release User Lock option

2

Select the appropriate radio button to apply a user lock to, or release a user lock on, the selected object

Enterprise Architect adjusts the lock for the element, or for the diagram and any elements contained in the diagram.

3

For a package, if required, select to also lock all child packages

If any elements in the package tree are locked by other users, a list of elements that couldn't be locked displays

Learn More:

  • Security Policy


Locked Element Indicators [Enterprise Architect User Guide]

Locked Element Indicators

When an item is locked through User Security, the lock is indicated in the Project Browser by a marker against the item, as shown below:

Guide:

The meanings of the markers depend on the security mode:

Security Mode | Marker | Meaning | See also
Require User Lock to Edit | No marker | There is no lock, the item is not editable, but any user can now apply a user lock to edit the item | Security Policy Apply a User Lock
 | Blue exclamation mark | The current user has applied a user lock and can edit the item; no other user can edit the item |
 | Red exclamation mark | Another user has applied a user lock, and the current user cannot edit the item You can find out which user has locked the item | Identify Who Has Locked An Object
User/Group Lock | No marker | There is no lock, the item is editable, but any user can now apply a user or group lock | Security Policy Lock Model Elements
 | Blue exclamation mark | The item has a lock set by the current user or a group having the current user as a member, and the user can edit the item |
 | Red exclamation mark | The item has a lock set by another user, or a group of which the current user is not a member; the current user cannot edit the item You can find out which user has locked the item | Identify Who Has Locked An Object

Notes:

  • If a diagram is locked and you select an object on it, the object border displays in red; this indicates that you cannot change the object


Identify Who Has Locked An Object [Enterprise Architect User Guide]

Identify Who Has Locked An Object

If you find that a diagram, package or element is locked, you can find out which group or user currently holds the lock on that item.

Access:

  • Project Browser | Package context menu | Lock
  • Project Browser | Diagram context menu | Lock
  • Project Browser | Element context menu | Lock

Use to:

  • Determine which user or user group has locked the package, diagram or element in which you are interested

How to:

To identify the lock holder, follow the steps below:

Step | Action | See also
1 | In the Project Browser, right-click on the diagram, package or element that is locked by another user or user group, and select the Lock option A message box displays showing which group or user currently holds the lock on that item |


Manage Your Own Locks [Enterprise Architect User Guide]

Manage Your Own Locks

You can view and delete your own user-level locks in Enterprise Architect. This is especially useful when working in Require user locks to edit security mode.

Access: Project | Security | My Locks

Use to:

  • Review the locks you have set and, where necessary, clear them

How to:

To manage your locks, follow the steps below:

Step

Action

See also

1

Select the My Locks menu option

The My Locks dialog displays, showing all the locks you have set

Lock Model Elements

Apply a User Lock

Lock Packages

2

If you intend to clear locks, either:

  • Select a lock you intend to clear
  • Press (Ctrl) or (Shift) as you select a number of locks or a range of locks respectively, to clear
  • Click on Select All to select all of your locks, or
  • Click on Select None to clear your selection, if you have made an error

3

If you have selected locks to clear, click on the Unlock Selected button

The objects that were locked are now unlocked

Learn More:

  • Security Policy


Team Review Tools [Enterprise Architect User Guide]

Team Review Tools

The Enterprise Architect Project Team Review can be used by the team members to discuss the development and progress of a project.

Access: View | Team Review ( Ctrl+Alt+U )

Topics:

Topic

Detail

See also

Team Review Facility

The Team Review is a discussion forum within your development team community

A point of discussion and the responses to that point are created as Posts

Posts are held in Topic groups, which are in turn organized into Categories; your organization decides on the grouping and organization of Posts

You can create text to explain Categories and Topics, and you can create and respond to Posts and replies

Add a new Category

Add a New Topic

Add a New Post

Displays
  • The Team Review window, used to create new Categories and Topics and to delete messages, using a context menu

    Each item in the hierarchy displays a mouse-over tooltip, showing the item title, the author's name and the date and time the item was created
  • The Team Review tab, in the main work area, used to view, print, create, edit, and reply to review Posts

    This tab has a status bar that shows the item author's name, the date and time the item was created, and the date and time the item was last modified
  • The linked objects panel, located at the bottom of the Team Review tab, used to associate model elements, diagrams, external files and other postings with a review posting

The Team Review Context menu

Reply to a Post

Add Object Links

Features
  • Display or edit the text on the Team Review tab by clicking on the item name in the Team Review window
  • Using the Search icon in the Team Review toolbar, search for text strings in the item titles to locate posts on a specific topic
  • Add resources to a Category, Topic or Post; resources such as diagram images and XMI files of packages, are held in a Resources folder under the selected Team Review item
  • Change the loading behavior of the forum
  • Access team reviews from other projects, including those on servers

Edit an Item

Search Team Review

Team Review Resources

Team Review Options

Team Review Connections

Icons

The icons beside the review items have the following meanings:

DFItemRead | Post read
DFItemUnRead | Post unread
DFItemReply | Reply read
DFUnreadReply | Reply unread
AwaitApp | Status Awaiting Approval (also on Category and Topic icons)
Approved | Status Approved (also on Category and Topic icons)
Rejected | Status Rejected (also on Category and Topic icons)
DFCategoryFolder | Category (name in bold indicates category is unread)
DFTopicFolderRead | Topic read
DFTopicFolderUnRead | Topic unread
resourcefolder | Resources folder for a Category, Topic or Post
diagimage | Diagram or clipboard image within Resources folder
XMIfileicon | XMI File of package, within Resources folder.

Context Menu (Review Status option)


Context Menu [Enterprise Architect User Guide]

Team Review Context Menu

The Team Review context menu enables you to access a wide range of functions, depending on the object that you right-click on.

Action

Usage

Shortcut

See also

New Category
New Topic
New Post

Add a new Category, new Topic or new Post to the Team Review

Alternatively, for a Topic or Post, click on the New icon in the window toolbar

Add a New Category

Add a New Topic

Add a New Post

New Category From Template
New Topic from Template
New Post from Template

Add a new Category, new Topic or new Post, based on a defined template

Add a New Category

Add a New Topic

Add a New Post

Post Reply

Create a reply to the selected Post

Alternatively, click on the New icon in the window toolbar

Reply to a Post

Rename

Edit the name, in situ, of the currently-selected item

F2

Copy Path to Clipboard

Copy the path of the currently-selected item to the clipboard

You can then paste the path into a document or file to add the discussion to any text concerning the item

Ctrl+C

Show Contents

Display the description or text of the selected item in the Team Review window, if the Team Review tab is not yet open

Share Resource

(If anything other than a Resources folder is selected)

Add a package from the current model, or an image of the currently-displayed diagram, or an image from the clipboard, to the Resources folder under the selected Category, Topic or Post

If the Resources folder does not exist, this option creates it

Team Review Resources

Add Package From Current Model

(If a Resources folder is selected)

Export a package as an XMI file from the current model as a resource of the selected Category, Topic or Post

You browse for and select the required package using the Select <item> dialog

Team Review Resources

Select <item> Dialog

Import to Current Model

(If a package XMI file resource is selected)

Import the resource package to the current model

You browse for and select the required target package using the Select <item> dialog; the resource is imported as a child of that package

This is a useful option for transferring relevant packages from the Team Review of one model into another model

Select <item> Dialog

Add Image of Active Diagram

(If a Resources folder is selected)

Add an image of the currently-displayed diagram as a resource of the selected Category, Topic or Post

You are prompted to provide a reference name for this image

Team Review Resources

Add Active Profiler Report

(If a Resources folder is selected)

Add an active Profiler Report as a resource of the selected Category, Topic or Post

You are prompted to browse for and select the appropriate active report

Team Review Resources

Save Report in Team Review

Image From Clipboard

(If a Resources folder is selected)

Add an image held on the clipboard as a resource of the selected Category, Topic or Post

Team Review Resources

View Image

(If a diagram image resource is selected)

Open the View Image window, containing an image of the selected diagram

Alternatively, double-click on the image name

Team Review Resources

Copy Image To Clipboard

(If an image resource is selected)

Copy the image or diagram image to the clipboard

Team Review Resources

Refresh Category 'xyz'
Refresh Topic 'xyz'
Refresh Post 'xyz'

Refresh the currently-open Category, Topic or Post, getting new replies, Posts and Topics that other users might have created

However, if you open another Category, Topic or Post the Team Review always displays the latest information from the database

Alternatively, click on the Refresh icon in the window toolbar

Reload Current Connection

Reload the entire Team Review connection, getting new Categories, Posts and Topics

Review Status

Assign or clear a status marker against the selected Category, Topic or Post; you can mark the item as:

  • Awaiting Approval
  • Approved
  • Rejected

Or clear the marker (None)

Team Review Tools (Icons)

Mark

See the Mark submenu, below

Connections...

Access other Team Reviews from other Enterprise Architect models or models located on servers

Alternatively, click on the drop-down arrow in the Connection Options field in the window toolbar, and select one of the listed models

The <Configure Connections> option enables you to add and connect to additional Team Reviews

Team Review Connections

Options...

Change the loading behavior of the Team Review

Team Review Options

Delete Category <xyz>
Delete Topic <xyz>
Delete Post <xyz>
Delete Resource <xyz>

Delete this Category, Topic, Post or reply and all sub-topics and sub-posts, or delete the resource attached to the item

Edit an Item

The Mark Submenu:

Action | Usage | Shortcut | See also
All items as Read | Mark the entire contents of the Team Review as read |  | Team Review Tools
All items as Unread | Mark the entire contents of the Team Review as unread |  | Team Review Tools
Branch as Read | Mark this item and all its contents as read |  |
Branch as Unread | Mark this item and all its contents as unread |  |
'xyz' as Unread | Mark only this item as unread |  |


Add a New Category [Enterprise Architect User Guide]

Add a New Category

This topic explains how to add new Categories to the Team Review.

Access: View | Team Review ( Ctrl+Alt+U )

Use to:

  • Create a new Category in which to store related Topics and Posts

How to:

Step | Action | See also
1 | Right-click on a blank area in the Team Review window and select the New Category context menu option A new Category icon displays in the hierarchy | Context Menu
2 | Overtype the New Category text with the name of the Category, and click off the name The Category description editor displays in the Team Review tab; type the appropriate Category description, if required |
3 | Add new Topics and/or resources to the Category | Add a New Topic Team Review Resources
Alternatively
1 | Right-click on a blank area in the Team Review window and select the New Category from template context menu option A new Category icon displays in the hierarchy | Context Menu
2 | Overtype the New Category text with the name of the Category, and click off the name The Create New Category dialog displays |
3 | Click on the Copy template drop-down arrow and select a predefined template for the Category description Click on the OK button |
4 | The Category description editor displays in the Team Review tab; type the appropriate Category description, if required |
5 | Add new Topics and/or resources to the Category | Add a New Topic Team Review Resources


Add a New Topic [Enterprise Architect User Guide]

Add a New Topic

This topic explains how to add new Topics to a Category in the Team Review.

Access: View | Team Review ( Ctrl+Alt+U )

Use to:

  • Create a new Topic in which to store related Posts and their responses

How to:

Step

Action

See also

1

Either:

  • Right-click on the required Category name in the Team Review window and select the New Topic context menu option
  • Click on the Category name and click on the New icon in the Team Review toolbar, or
  • Click on the Category name and press ( Ctrl+N )

A new Topic icon displays under the Category name

Context Menu

2

Overtype the New Topic text with the name of the Topic, and click off the name

The Topic description editor displays in the Team Review tab; type the appropriate Topic description, if required

3

Add new Posts and/or resources to the Topic

Add a New Post

Team Review Resources

Alternatively

1

Right-click on the required Category name in the Team Review window and select the New Topic from template context menu option

A new Topic icon displays under the Category Name

Context Menu

2

Overtype the New Topic text with the name of the Topic, and click off the name

The Create New Topic dialog displays

3

Click on the Copy template drop-down arrow and select a predefined template for the Topic description

Click on the OK button

4

The Topic description editor displays in the Team Review tab; type the appropriate Topic description, if required

5

Add new Posts and/or resources to the Topic

Add a New Post

Team Review Resources


Add a New Post [Enterprise Architect User Guide]

Add a New Post

This topic explains how to create a new Post on a Topic in the Team Review.

Access: View | Team Review ( Ctrl+Alt+U )

Use to:

  • Create a blank Post
  • Create a Post based on a predefined template
  • Create a Post from a file link

How to - Create a blank message:

Step

Action

See also

1

Either:

  • Right-click on the appropriate Topic name in the Team Review window and select the New Post context menu option
  • Click on the Topic name and on the New icon in the Team Review toolbar, or
  • Click on the Topic name and press ( Ctrl+N )

A new Post icon displays underneath the Topic name

Context Menu

2

Overtype the New Post text with the name of the Post, and click off the name

The Post text editor displays in the Team Review tab

3

Type the text of the Post as required

Edit an Item

How to - Create a Post based on a predefined template:

Step | Action | See also
1 | Right-click on the appropriate Topic name in the Team Review window and select the New Post from template context menu option A new Post icon displays in the hierarchy | Context Menu
2 | Overtype the New Post text with the name of the Post, and click off the name The Create New Post dialog displays |
3 | Click on the drop-down arrow in the Copy template field, and select a predefined template for the Post contents |
4 | Click on the OK button The template structure is displayed in the Team Review tab |
5 | Enter the text of the Post as required | Edit an Item

How to - Create a Post based on a link to an external file:

Step | Action | See also
1 | Open a file browser (such as Windows Explorer) and locate the file |
2 | Click on the file name and drag it onto the appropriate Topic name in the Team Review window A new Post icon is created underneath the selected Topic, and the body of the Post is shown in the Team Review tab A link to the source file is created at the start of the message |
3 | Click twice on the New Post text in the Team Review window, and overtype the text with the name of the Post |
4 | In the Team Review tab, create and edit text around the file link, and add further links if required | Edit an Item

When you have created the Post:

Topic

Detail

See also

You can create links from the Post

To elements and diagrams from the:

  • Project Browser
  • Model Search
  • Model Views window
  • Package Browser

Add Object Links

The Project Browser

Model Search

Model Views

Package Browser

To related Team Review:

  • Categories
  • Topics
  • Posts

Add Object Links

To external files, either in the text of the Post or in the Linked Objects panel

Add Object Links

Add resources to the Post

Team Review Resources

Other users can reply to it

Reply to a Post


Reply to a Post [Enterprise Architect User Guide]

Reply to a Post

This topic explains how to reply to a Post in the Team Review.

Access: View | Team Review ( Ctrl+Alt+U )

Use to:

  • Create a response to a Post
  • Create a response to an existing response to a Post

How To:

Step

Action

See also

1

Either:

  • Right-click on the required Post (or response) in the Team Review window and select the Post Reply context menu option
  • Click on the Post name and on the New icon in the Team Review toolbar, or
  • Click on the Post name and press ( Ctrl+N )

A Re:<Postname> entry displays underneath the Post you are replying to, and the cursor becomes active in the Team Review tab to enable you to create and edit your response

Context Menu

2

Type in, format and save the contents of the reply

Edit an Item

Alternatively

1

Open a file browser (such as Windows Explorer) and locate the file

2

Click on the file name and drag it into the Team Review window, over the Post to which you are replying

A Re:<Postname> entry displays underneath the Post, and the cursor becomes active in the Team Review tab to enable you to edit your response

A link to the source file is created at the start of the message

3

Type in, format and save the contents of the reply

Edit an Item

When you have created the Post:

Topic

Detail

See also

You can create links from the Post

To elements and diagrams from the:

  • Project Browser
  • Model Search
  • Model Views window
  • Package Browser

Add Object Links

The Project Browser

Model Search

Model Views

Package Browser

To related Team Review:

  • Categories
  • Topics
  • Posts

Add Object Links

To external files, either in the text of the Post or in the Linked Objects panel

Add Object Links

Add resources to the Post

Team Review Resources

Other users can reply to it

Reply to a Post


Edit an Item [Enterprise Architect User Guide]

Edit an Item

This topic explains how to edit or delete a Category, Topic, Post or reply.

How to:

Topic

Detail

See also

Select an item to edit

Click on the item name in the Team Review window

The item text displays in the Team Review tab to enable you to edit the text

Change the name of the item

Click on the item name in the Team Review window and press (F2)

Overtype the current name

Delete an item

Either:

  • Right-click on the item in the Team Review window and select the Delete <item> <name> context menu option, or
  • Click on the item and press (Delete)

A confirmation dialog displays; click on the Yes button to remove the item and any dependent items from the Team Review

Context Menu

Edit the text

Access the Team Review Editor standard functions by right-clicking on the text, to display a hierarchy of context menus

When you have completed your editing, select Right-click | File | Save and then click on another item in the Team Review window to exit the message

The text is saved in the Team Review item

To redisplay the text in the Team Review tab, click on the item name once
  • Scroll Through Text
  • File and Print Options
  • Cut and Paste Options
  • Image and Object Imports
  • Character Formatting
  • Paragraph Formatting
  • Tab Support
  • Page Breaks and Repagination
  • Insert Headers and Footers
  • Insert Bookmarks
  • Table Commands
  • Sections and Columns
  • Stylesheets and Table of Contents
  • Text/Picture Frame and Drawing Objects
  • Search/Replace Commands
  • Hyperlink From Linked Document
  • Create Elements From Linked Documents


Add Object Links [Enterprise Architect User Guide]

Add Object Links

In the Team Review tab you can create hyperlinks to elements and diagrams that are associated with a Post.

Use to:

  • Rapidly navigate to the objects in the Project Browser
  • Access the element properties
  • Open a diagram directly from the Team Review
  • Create links to:
  • Other Categories, Topics and Posts in the Team Review window
  • External files from a file browser

How to:

Topic

Detail

See also

Associate an element, diagram or Team Review item with a message

Drag the object into the Linked Elements panel at the bottom of the Team Review tab, from the:

  • Project Browser
  • Package Browser
  • Model Views window
  • Model Search dialog or
  • Team Review window

The Project Browser

Model Search

Model Views

Package Browser

Associate an external file with the message

Click on and drag the file name from any browser into either:

  • the linked elements panel or
  • the text of the message itself

The filename becomes a link to the file; click on it to display the contents of the file

The external file name also becomes a link to the file within the message when you drag the filename onto a Topic to create a Post

Add a New Post

To access the navigation options of each object in the Linked Elements panel (outlined below) right-click on the object to display the navigation context menu.

Action | Usage | Shortcut | See also
Open | Open the diagram or external file |  |
Properties | Display the element properties for the selected element |  |
Find in all Diagrams | Open the diagram in which the element is used, or display a list of several diagrams in which the element has been used |  |
Delete Link | Delete the association between the message and the object |  |


Team Review Resources [Enterprise Architect User Guide]

Team Review Resources

You can add resources to a Category, Topic or Post within the Team Review window.

Topics:

Topic

Detail

See also

Resources
  • XMI files of packages within the current project
  • Active Profiler reports
  • Images of currently-active diagrams

Save and Load Reports

XMI Import and Export

Location

Resources are created in a Resources folder underneath the selected Category, Topic or Post, as illustrated below:

Management

All Team Review resource management tasks are performed using options on the Team Review context menu

You create the Resources folder by creating a resource underneath the selected Category, Topic or Post

Similarly, you delete the Resources folder by deleting the last resource within it

Having added a resource, you can:

  • Reimport the package XMI files to the model or
  • Display the diagram images

Context Menu


Search Team Review [Enterprise Architect User Guide]

Search Team Review

The Team Review provides the facility to search the titles of all Team Review items.

Use to:

  • Locate items referring to a specific subject

How to:

To search the Team Review, follow the steps below:

Step | Action | See also
1 | In the Team Review window toolbar, click on the Search icon The search panel displays underneath the toolbar |
2 | In the blank field, type the text string to search for |
3 | If required, select the Match Case checkbox to locate text with the same case as the search string |
4 | If required, select the Match Whole Word checkbox to locate only complete words that match the search string |
5 | Click on the Find button The search locates the first instance of the search string in the title of a Category, Topic, Post or reply item, and displays the contents of that item in the Team Review tab |
6 | To locate further instances of the text string, click on the Find button again |
7 | To close the search panel, click on the Search icon in the toolbar again |


Team Review Options [Enterprise Architect User Guide]

Team Review Options

You can change the loading behavior of the Team Review, using the Team Review Server Options dialog.

Access: Right-click Team Review window | Options

Action | Usage | Shortcut | See also
Mark All Unread | Resets all posts you have read to 'unread' (bolds all items in the Team Review) |  |
Load item data when required | The fastest loading option; Team Review data is only loaded on demand - for example, when you read a post |  |
Preload all data | Caches the entire contents of the Team Review on load; this takes longer to load but, once completed, navigating the Team Review is faster |  |


Team Review Connections [Enterprise Architect User Guide]

Team Review Connections

The Connections option enables you to access other Team Reviews from other Enterprise Architect models, including models located on servers.

Access: Through the Team Review Toolbar
From the Team Review context menu options

How to:

To switch to another Team Review, follow the steps below:

Step

Action

See also

1

In the Team Review toolbar, click on the drop-down arrow in the Connection Options field and select the appropriate model name from the list, to connect to the Team Review for that model

If the required model is not listed, click on the <Configure Connections> option; the Team Review Server Connections dialog displays

Go to Step 3

2

Alternatively:

Right-click anywhere in the Team Review window and select the Connections context menu option; The Team Review Server Connections dialog displays

In the list in the Connections panel, select the check box against the appropriate model name to connect to the Team Review for that model, and click on the Open button

The connection now switches to the Team Review in the selected model

If the required model is not listed, go to Step 3

3

Select the appropriate Connection Type radio button and click on the New button

  • For a .eap file, a browser dialog displays through which you can search for and select the appropriate model
  • For a model in a DBMS data repository, the Microsoft Data Link dialogs display, which enable you to locate and connect to the repository

4

When you have selected and opened or connected to the required Enterprise Architect model, and returned to the Team Review Server Connections dialog, the model name displays in the Connection Name field and in the Connections panel

5

Select the check box against the model name and click on the Open button to connect to the Team Review for that model

The Team Review now shows the discussion in the selected model

For further details of the fields and buttons on the Team Review Server Connections dialog, refer to the table below.

Action | Usage | Shortcut | See also
Connection Name | Verify the name of the selected model |  |
Connection Type | Specify the type of Enterprise Architect model: a local .eap file (as above) or a model on a remote server |  | Connect to a Data Repository
Target Model | Verify the path to the selected model |  |
New | Create a new Team Review connection |  |
Delete | Delete the currently selected connection from the Connections list |  |
Connections | List all Team Review connections created; click on the checkbox against the required connection |  |
Open | Switch the Team Review to the one selected in the Connections list |  |


Workflow Scripts [Enterprise Architect User Guide]

Workflow Scripts

Enterprise Architect enables you to create workflow scripts that provide a robust approach to applying company policy and strengthening project development guidelines, by validating against the policy and procedures within the model itself.

Topic

Detail

See also

Project Governance

Good corporate governance relies on well written and transparent project development guidelines and company policy

A project might be compromised if the appropriate policies and procedures are poorly understood and not followed correctly - effective governance can be hampered by human error and the costs of recovering from the inadequate compliance of developers

Policies, Procedures and Development

Company policy and procedures can be integrated with the development process to manage work flows, determine access rights, extend role based security permissions and respond to property change events

This approach reduces compliance costs, enhances collaborative development and gives you confidence that projects are being developed correctly the first time around

Development teams can adhere to best practice guidelines that govern model validation, change management, access controls and general development principles

Scripts

Project administrators can write scripts to manage the way users interact with a model, such as managing security, staff compliance and model access, and monitoring changes made by users

Administrators can also use workflow scripts to control a user's capacity to change a model element, taking into account factors such as access rights, group membership and even the value of a proposed change

Workflow Script Functions

Script Implementation

When a model is launched, the Workflow Engine is initialized with the current user and group memberships; this information determines who can access and modify parts of a given model

When a selected event occurs, the script engine is initialized with values including the author's name and access rights, and the element name and version details

The workflow script implements rules governing change management, access control and model validation; if a user attempts to make changes in violation of company policy, the script denies the update

The user is notified why the validation failed and the activity is logged

These reminders help to reinforce company policy, reduce human error and provide management with valuable project feedback

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Admin Workflow permission to develop and manage workflow scripts

Learn More:

  • List of Available Permissions


Workflow Script Functions [Enterprise Architect User Guide]

Workflow Script Functions

Workflow scripts are executed by the Enterprise Architect workflow engine, to manage user input. You write the scripts in the Scripting window, in VBScript, under the Workflow group type.

Topics:

Topic | Detail | See also
Functions for User Input | Functions that Enterprise Architect calls to validate and control user input For each of the functions that Enterprise Architect calls, a set of objects are filled | Functions - Validate and Control User Input Filled Workflow Data Structures
Functions to create a Search | Functions that Enterprise Architect calls to create a search with user tasks | Functions - Create a Search With User Tasks
Workflow Data Structures Enterprise Architect fills | Workflow data structure objects that Enterprise Architect fills | Filled Workflow Data Structures
Workflow Data Structures you fill | Workflow data structure objects that you can fill | Workflow Data Structures You Fill
Functions you call | Functions that Enterprise Architect provides for you to call | Functions You Call

Notes:

  • If you make changes to a workflow script listed in the Scripting window, click on the Refresh Scripts button in the Scripting window toolbar to reload the script with the changes

Learn More:

  • Scripting
  • Script Group Properties


Functions - Validate and Control User Input [Enterprise Architect User Guide]

Functions - Validate and Control User Input

These are functions that Enterprise Architect calls to validate and control user input. For each function a set of objects is filled.

Function

Action

Return Value

AllowPhaseUpdate(OldValue, NewValue)

Validate a change a user has made to a phase
  • True to allow this user to make this change
  • False to disallow the change and revert to the previous value

AllowStatusUpdate(OldValue, NewValue)

Validate a change a user has made to a status

AllowTagUpdate(TagName, OldValue, NewValue)

Validate a change a user has made to a Tagged Value

AllowVersionUpdate(OldValue, NewValue)

Validate a change a user has made to a version

CanEditPhase()

Enable or disable the control for editing a phase
  • True to allow this user to make changes by enabling the control
  • False to completely disable edit of this property by disabling the control

CanEditStatus()

Enable or disable the control for editing a status

CanEditTag(TagName)

Enable or disable the control for editing a Tagged Value

CanEditVersion()

Enable or disable the control for editing a version

PreAllowPhaseUpdate(OldValue, NewValue)

Determine what information is required to validate this change

Semi-colon separated list of additional data required in order to validate this change

Supported Data Type:

Tests - fill the Tests array in the WorkflowContext object

PreAllowStatusUpdate(OldValue, NewValue)

PreAllowTagUpdate(TagName, OldValue, NewValue)

PreAllowVersionUpdate(OldValue, NewValue)

Learn More:

  • Filled Workflow Data Structures


Functions - Create a Search With User Tasks [Enterprise Architect User Guide]

Functions - Create a Search With User Tasks

These are functions that Enterprise Architect calls to create a search with user tasks.

Function | Action | Return Value
GetWorkflowTasks | Describe the searches that this user must run | Ignored


Filled Workflow Data Structures [Enterprise Architect User Guide]

Filled Workflow Data Structures

These workflow data structures are objects that Enterprise Architect fills.

Workflow Data Structure

Description

Calls

See Also

WorkflowUser

This object provides information about the user currently logged in to the model

It is filled by Enterprise Architect before any function is called by Enterprise Architect; it has the following properties:

  • Username - the username for login to the system (if using Windows Authentication, this matches the Windows username)
  • Firstname - as found in the Security Users dialog
  • Surname - as found in the Security Users dialog
  • Fullname - the combination <Firstname> <Surname> (the form Enterprise Architect uses for Author fields and similar)

This object calls the IsMemberOf(GroupName) function (see below)

Maintain Users

WorkflowContext

This object provides information about the object currently in context

It is filled by Enterprise Architect before any searches except GetWorkflowTasks are run; it has the following properties:

  • MetaType - the type of the current object, either an Enterprise Architect core type or a profile-specified metatype
  • Name - as found in the object Properties dialog
  • Status - as found in the object Properties dialog
  • Phase - as found in the object Properties dialog
  • Version - as found in the object Properties dialog
  • Stereotypes - an array of strings for the stereotypes applied to this object
  • Tags - an array of Tagged Values, providing:
  • Name - the Tagged Value name
  • Value - the Tagged Value value
  • Tests - an array of tests; only filled during an Allow* call after the PreAllow* call has specified that tests are required

    Provides the following details, as found in the Testing window:
  • Name
  • Status
  • RunBy
  • CheckedBy
  • TestClass
  • TestType

This object calls the TagValue(TagName) function (see below)

Functions - Create a Search With User Tasks

The Testing Workspace

Function | Action | Return Value
IsMemberOf(GroupName) | Check group membership of the current user | True if the current user is a member of the group with the specified name
TagValue(TagName) | Get the value from a named tag | Returns the value of the first Tagged Value with that name, or an empty string if no Tagged Value with that name exists


Workflow Data Structures You Fill [Enterprise Architect User Guide]

Workflow Data Structures You Fill

These two workflow data structures are objects that you can fill.

Workflow Data Structure

Description

WorkflowStatus

Use this data structure to provide information on the status of the object

  • LogEntry - set to True or False to indicate whether or not a log item should be recorded
  • Reason - indicate what reason should be recorded in the log
  • Action - indicate how to display the log message; valid values are: MessageBox, StatusBar, Output (default)

WorkflowSearches

Use this data structure to provide an array of searches

Use Redim WorkflowSearches(x) to specify the number of searches being provided

Each search has the following attributes:

  • Name - the name of this search
  • Group - the name of the group that this search should appear under in the Search combo box
  • ID - the GUID for this search
  • Tasks - the array of tasks that this search looks for; an entry describes how to find all objects required to meet a particular task:
  • Name - the name of the task, as displayed in the Search view; workflow searches are grouped by this field by default
  • Conditions - an array of conditions, all of which must be matched for an object to be included in this task; a condition is a comparison of a single field to a value:
  • Column - the name of the field
  • Operator - operator types, either = (provide matching values only) or <> (provide non-matching values only)
  • Value - if this contains a comma, the string is treated as a comma separated list of values to compare against; otherwise the string is a single value to compare against


Functions You Call [Enterprise Architect User Guide]

Functions You Call

These are functions that Enterprise Architect provides for you to call.

Function | Action | Return Value | See also
NewSearch(name, group, guid, taskcount) | Create a new search object to be included in WorkflowSearches Initializes each member | The created search | Workflow Data Structures You Fill
NewTask(name, conditioncount) | Create a new task object to be included in a search Initializes each member | The created task |
NewCondition(column, operator, value) | Create a new condition object to be included in a task Initializes each member | The created condition |
SetLastError(message, outputMethod) | Log and/or report the provided message to the user | The message |


Sharing Reference Data [Enterprise Architect User Guide]

Sharing Reference Data

You can conveniently update your models with reference data (including Glossary and Issue information) by exporting the data to and importing the data from .XML files.

You import data into the model automatically or manually from a reference data .XML file, exported from another model or an iteration of the current model.

Use to: (For example)

  • Copy glossaries from one model to another
  • Add additional stereotype profiles by merging new stereotypes into the model
  • Update reference data from files supplied by Sparx Systems as a maintenance release
  • Copy resources, clients and so on from one model to another

Learn More:

  • Reference Data
  • Import Reference Data
  • Export Reference Data


Export Reference Data [Enterprise Architect User Guide]

Export Reference Data

This topic explains how to export reference and project data to a custom XML file. This includes table information, filter information, rows and columns.

Access: Project | Model Import/Export | Export Reference Data

Use to:

  • Capture reference data of one or more specific data types in an XML file, to review or transfer into another project or tool
    The exported data includes all instances of the data type in the project; for example, all defined cardinality values, or all RTF Style Templates

How to:

Step

Action

See also

1

Select the Export Reference Data menu option

The Data Exporter dialog displays

2

From the Name list, select the data type tables to export

You can select one or more tables to be exported to a single XML file, by pressing (Ctrl) or (Shift) as you click on the data type table names

Code Templates

Automation Scripts (JavaScript, JScript and VBScript)

Cardinality Types

Constraint Status Types

CSV Specifications

Defined Metric Types

Defined Problem Types

Diagram Matrix Profiles (Model Profiles)

Estimation - Environment Complexity Factor Values

Estimation - Technical Complexity Factor Values

General Constraint Types

General Effort Types

Import Component Types

Linked Document Templates

Macro List (Preprocessor macros)

Maintenance Types (Problem Types plus Test Types)

Model Authors

Model Data Types - Code and DDL

Model Images

Project Clients

Project Glossary

Project Issues

Project Resources

Project Roles

Project Tasks

Property Types (Tagged Value Types)

Requirement Types

Risk Types

Scenario Types

Security - Group Permission

Security - Groups

Security User Groups

Security - User Permissions

Security - Users

Standard Complexity Types (a Predefined Reference Data Tagged Value Type)

Status Colors (colors defined for status types)

Status Types

Status Types - Application (elements to which status can be applied)

Stereotypes (as listed on the Stereotypes page of the UML Types dialog)

Templates - HTML Style (the web templates listed in the Resources window)

Templates - HTML Style Detail (the content of the HTML report templates)

Templates - RTF Document (the Extended RTF Style templates in the Resources window)

Templates - RTF Style (the Legacy RTF Style templates in the Resources window)

Templates - RTF Style Detail (the content of the Legacy RTF Style templates)

Templates - RTF Tag and Language Options (RTF word substitution templates)

Test Types

Transform Templates

3

Click on the Export button

4

When prompted to do so, enter a valid file name with a .XML extension

5

Click on the Save and OK buttons

This exports the data to the file; you can use any text or XML viewer to examine the file

Notes:

  • If there are no instances of a selected data type in the project, the export does not generate any output for that data type in the XML file
  • Entries for code language templates and/or transformation templates are included in the Name list only if templates for a particular language or transformation exist in the model
  • Currently, Standard Complexity Types cannot be directly edited and are therefore effectively standard for all models; they can be listed using the Predefined Reference Data Tagged Value type ComplexityTypes


Import Reference Data [Enterprise Architect User Guide]

Import Reference Data

You can import reference data into a model in Enterprise Architect from a reference data .xml file that was exported from another model or from an iteration of the current model, either:

  • Manually, as required, whenever you know there is new or changed data to apply, or
  • Automatically whenever the model is reloaded into Enterprise Architect (if the file has changed since the previous import)

When you import data into Enterprise Architect, the system merges the incoming data with the existing data. If a record already exists it is updated to the new values. If the record does not exist, Enterprise Architect adds a new record. Enterprise Architect never deletes records.

The automatic import checks if the source file has changed since the last import; if the file has not changed, the import does not proceed. If the file has changed, the changed data is imported; however, you can configure Enterprise Architect to display a prompt for you to allow or cancel the import.

Access: Project | Model Import/Export | Import Reference Data > Import File tab
Project | Model Import/Export | Import Reference Data > Shared File tab

How to:

To import reference data manually, follow the steps below:

Step | Action | See also
1 | Select the Import Reference Data menu option The Import Reference Data dialog displays |
2 | Click on the Import File tab and on the Select File button, then select the filename to import data from This must be an XML file produced by the Enterprise Architect Data Exporter | Export Reference Data
3 | If you have entered the name of a valid file, a list of available tables to import displays in the Select Datasets to Import panel | Export Reference Data
4 | Click on one or more of the tables to import Press (Ctrl) or (Shift) to click on multiple tables |
5 | Click on the Import button to start the process A message displays when the import is complete; generally the process is quite fast. |

To import reference data automatically, follow the steps below:

Step | Action | See also
1 | Select the Import Reference Data menu option The Import Reference Data dialog displays |
2 | Click on the Shared File tab |
3 | If you are changing an existing configuration to import from a different XML file, click on the Clear button to clear the dialog fields |
4 | Click on the Select File button and browse for the filename to import data from This must be an XML file produced by the Enterprise Architect Data Exporter | Export Reference Data
5 | If you have entered the name of a valid file, a list of tables to import displays in the Datasets in File panel | Export Reference Data
6 | If you prefer to control whether or not the automatic import takes place, select the Always prompt before import checkbox |
7 | Click on the Import button to import the reference data now, and to enable the automatic check and import for subsequent reloads |


Change Management [Enterprise Architect User Guide]

Change Management

This section describes the tools and facilities for controlling and monitoring changes to the data in a project.

Topics:

Topic

Detail

See also

Version Control of Packages

Enterprise Architect Model Version Control enables you to:

  • Coordinate sharing of packages between users, with either read-only access or update access, ensuring that work on different areas of the model is coordinated and synchronous rather than conflicting
  • Save and retrieve a history of changes to packages

To use version control in Enterprise Architect, you require a third-party source-code control application such as:

  • Subversion
  • CVS
  • MS Team Foundation Server (TFS), or
  • Any other version control product that complies with the Microsoft Common Source Code Control standard

Version Control

Tracking Changes

Enterprise Architect provides two separate but complementary facilities for tracking changes to data across the project:

  • Auditing of model changes
  • Baselining and differencing to capture and roll back changes

Tracking Changes

Project Data Transfer

Enterprise Architect enables you to transfer project data between project data repositories either for:

  • sections of the project (XMI and CSV) or
  • the whole project, row by row, table by table (in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect)

Model Transfer

Learn More:

  • Check Project Data Integrity
  • Maintenance
  • Team Development
  • Spell Checking
  • Reference Data
  • Project Upgrade


Version Control [Enterprise Architect User Guide]

Version Control

Enterprise Architect supports version control of your projects, by allowing you to place your model packages under version control. You can place any individual packages, view nodes or model root nodes under version control.

To use version control in Enterprise Architect, a third-party source-code control application is required that controls access to and stores revisions of the controlled packages.

Guide:

Topic

Detail

See Also

Introduction

Version Control provides numerous key facilities:

  • Saving a history of changes to Enterprise Architect packages
  • The ability to retrieve previous revisions of packages
  • Propagating model updates between team members
  • Coordinating sharing of packages between team members

Introduction

Product Setup

To use version control in Enterprise Architect, a third-party source-code control application is required that controls access to and stores revisions of the controlled packages

Setting Up a Version Control Environment

Configuring Enterprise Architect

Once the version control software has been installed and configured, to use your installed version control product you must first define a Version Control Configuration within Enterprise Architect

Version Control Setup

Using Version Control

Version control activities include such things as;

  • Controlling packages
  • Checking out packages for editing
  • Checking in modifications to packages
  • Retrieving previous revisions of controlled packages

Using Version Control

Notes:

  • Sparx Systems strongly urge you not to manipulate version controlled package files outside of Enterprise Architect; it is possible to leave the package files in a state that Enterprise Architect cannot recognize
  • Database replication should not be combined with version controlled packages
  • If the packages under version control contain any alternative images and those images are subject to frequent change, you can set the Export alternate images option on the Options dialog to export the images to the version control repository when you check in the packages; if the images are not subject to frequent change, do not select this option and instead use Export / Import Reference Data to manage alternative images


Introduction [Enterprise Architect User Guide]

Introduction

Enterprise Architect's version control integration provides numerous key facilities;

  • Saving a history of changes to your model's packages
  • The ability to retrieve previous revisions of packages
  • Propagating model updates between team members
  • Coordinating sharing of packages between team members

This section discusses some factors you should consider when setting up and using version control in your model development.

Topics:

Topic

Detail

See also

Version Control Usage

There are two main ways in which Enterprise Architect's projects can be deployed;

  • Centralized Shared Model
  • Distributed Private Models

Version control is employed in the same way for both scenarios, however, when using Private Model deployment it serves the additional role of propagating model updates throughout the team.

Version Control can also be used to share standard packages between different projects.

Version Control Usage

Version Control Basics

Enterprise Architect must enforce serialized editing of version controlled packages, using the lock-modify-unlock mode of operation.

Version Control Basics

Applying Version Control to Models

Using version control in Enterprise Architect consists of placing individual model packages under version control, rather than version controlling the project as a whole.

Version Control Of Model Data

Version Control and Project Reference Data

To ensure that changes in reference data are shared between users in a version-controlled project that is deployed as multiple private models, you should periodically export the reference data from the model where the changes were made, and import it into the other models maintained by the team.

Version Control and Reference Data

Team Deployment

Version Control & Team Deployment

Project Browser Indicators

Packages under version control are identified in the Project Browser by icons that indicate the current status of the package.

Project Browser Indicators

Offline Version Control

You can prevent Enterprise Architect from attempting to make any version control connections by choosing to Work Offline before loading a model.

If Enterprise Architect is unable to connect a Version Control Configuration for any reason, it displays warning messages to notify you and provides 'offline' version control functionality for all packages associated with the failed connection.

System Requirements and Configuration

To use version control in Enterprise Architect, a third-party source-code control application is required that controls access to and stores revisions of the controlled packages.

Typically there are:

  • A server component that manages a version control repository, and
  • Client components on the workstations, that manage local working copies of controlled files.

Enterprise Architect uses the client component to communicate with the server. A version control client must be installed on every machine where you run Enterprise Architect and want to access your version control system.

System Requirements and Configuration


Version Control Usage [Enterprise Architect User Guide]

Version Control Usage

There are four basic ways in which the version control facility might be used:

Field

Usage

See also

Single Shared model

Users share an Enterprise Architect model, stored in a central .EAP file or DBMS repository. This configuration enables you to view changes to other users' packages without explicitly having to check them out, but by simply refreshing your view of the model.

Version control is used to;

  • Archive successive versions of your work to date
  • Maintain package revision history
  • Provide an "undo" facility to recover from unwanted changes or accidental deletions
  • Regulate access to packages

Multiple Private models

An Enterprise Architect model is created by a single user who configures it for version control. The model file is then distributed to other users, with each user storing their own private copy of the model.

Version control is used to;

  • Propagate changes to the model, throughout the team
  • Archive successive versions of your work to date
  • Maintain package revision history
  • Provide an 'undo' facility to recover from unwanted changes or accidental deletions
  • Regulate access to packages

Shared packages

Individual users create separate Enterprise Architect models but share one or more packages.

  • Users share packages through version control

Standard packages

A company might have a standard set of packages which are broadly shared (on a read-only basis).

  • Individual users retrieve packages with the Get Package menu option

Learn More:

  • Version Control Best Practices for Enterprise Architect


Version Control of Model Data [Enterprise Architect User Guide]

Version Control of Model Data

Using version control in Enterprise Architect consists of placing individual model packages under version control, rather than version controlling the project as a whole.

Guide:

Topic

Detail

See also

Version Controlling your Project files

All Enterprise Architect models are stored in databases - even the .EAP file is an MS Jet database

In simple terms, the project file is a single entity of binary data

It is not practical to apply version control to the database as a whole; being binary data, it would require the use of the lock-modify-unlock model of version control, which would mean that only a single user at a time could work on any given (version controlled) model

Therefore, avoid placing your .EAP files under version control, as this can create problems for you

  • Most version control systems mark their controlled files as read only, unless they are specifically checked-out to you
  • The .EAP file is an MS Jet database, and Enterprise Architect must be able to open this file for read/write access when you load your model (Enterprise Architect displays an error message and fails to load the model if it is read-only)

Version Control Basics

Version Controlling Packages in your model

To overcome the limitations described above, Enterprise Architect exports discrete units of the model - the packages - as XMI package files, and it is these XMI files, not the .EAP file, that are placed under version control

The XMI file format used by Enterprise Architect dictates that they too be treated as binary files (therefore it is not possible to merge the XMI files either); however, by splitting the model into much smaller parts, this approach enables many users to work on separate parts of the model simultaneously

Nested version controlled packages

Nested version controlled packages result in much smaller XMI files being exported for parent packages, as the parent packages' XMI files do not contain any content for the version controlled child packages

Version Control of nested packages, together with a model structure having small individual packages, also provides greater scope for multiple users to work concurrently, as individual users are locking much smaller parts of the model


Version Control and Reference data [Enterprise Architect User Guide]

Version Control and Reference data

To ensure that changes in reference data are shared between users in a version-controlled project that is deployed as multiple private models, you should periodically export the reference data from the model where the changes were made, and import it into the other models maintained by the team.

Guide:

Topic

Detail

See also

Reference Data

Reference data is data that is used across a model or project; it is not package-specific.

Reference data

Version Control in Enterprise Architect

Version control in Enterprise Architect operates at package level, and therefore does not capture changes in reference data.

Where version control is used in a multiple private model set up, changes in reference data are not brought into the model when packages are updated from version control.

Sharing Reference Data

In a Shared Model environment, all users are accessing the same Project Reference data. However, in a Multiple Private Model environment, to ensure that changes in reference data are shared between users in a version-controlled project, you should periodically export the reference data from the model where the changes were made, and import it into the other models maintained by the team.

Sharing Reference Data

Version control of Reference Data

Reference data is exported and imported as an XMI file, which contains whatever types of reference data you want to transfer.

To place your project reference data under version control, you should export the data as an XMI file and apply version control to the file using your version control software, external to Enterprise Architect

Export Reference Data


Version Control Basics [Enterprise Architect User Guide]

Version Control Basics

Enterprise Architect implements version control of your model, by exporting package data from the project database to XMI package files. It is these package files that are then placed under version control. The XMI file format cannot be merged in the same way that ordinary text files can be merged.

The information below, illustrates why Enterprise Architect must enforce serialized editing of version controlled packages.

Guide:

Topic

Detail

See also

The Lock-Modify-Unlock Solution

Many version control systems use a lock-modify-unlock model to address the problem of different authors in a shared source overwriting each other's work.

In this model, the version control repository allows only one person to change a file at a time, and access is managed using locks. Harry must lock a file before he can begin making changes to it. If Harry has locked a file, Sally cannot also lock it, and therefore cannot make any changes to that file. All she can do is read the file, and wait for Harry to finish his changes and release the lock. After Harry unlocks the file, Sally can take her turn in locking and editing the file.

The Copy-Modify-Merge Solution

Subversion, CVS and a number of other version control systems use a copy-modify-merge model as an alternative to locking.

In this model, each user's client contacts the project repository and creates a personal working copy—a local reflection of the repository's files and directories. Users then work simultaneously and independently, modifying their private copies. In due course, the private copies are merged together into a new, final version. The version control system often assists with the merging, but ultimately a person is responsible for making it happen correctly.

When Locking is Necessary

While the lock-modify-unlock model is generally considered a hindrance to collaboration, there are still times when locking is necessary.

The copy-modify-merge model is based on the assumption that files are contextually merge-able: that is, the files in the repository are line-based text files (such as program source code). But for files with binary formats, such as artwork or sound, it is often impossible to merge conflicting changes. In these situations, it really is necessary for users to take strict turns in changing the file. Without serialized access, somebody ends up wasting time on changes that are ultimately discarded.


Applying Version Control in a Team Environment [Enterprise Architect User Guide]

Applying Version Control in a Team Environment

The following information provides an overview of the steps involved in setting up a version control environment and applying version control to an Enterprise Architect project to be accessed by a number of users.

Use to:

  • Setup a version control environment
  • Apply version control to an Enterprise Architect project

How to:

Step

Action

See also

1

Install your version control product.

2

Create a version control repository.

3

Create a version control project to be used with your Enterprise Architect project

4

Check-out a working copy of the version control project (a module, project or folder within the version control system) into a local folder.

(You must do this for every team member that is accessing the version controlled packages, whether you are using a single shared model or each team member stores his own private copy of the model.)

Create a Local Workspace - SVN

Create a Local Workspace - CVS

5

Within Enterprise Architect, define a version control configuration to provide access to the working copy files.

Throughout a team, the name of the version control configuration must be the same across all machines. That is, all version control access to a given Enterprise Architect package must be through version control configurations with the same name, across all models and all users.

The easiest way to perform this step, (throughout the team), is to have one user set up version control on the model and then share that model with the rest of the team.

  • In Shared Model deployment, all users connect to a single instance of the model database, so the model is shared automatically.
  • In Private Model deployment, it is easiest to distribute copies of the original model (after version control has been set up) to all other members of the team.

Whenever you open a model (Private or Shared) that uses a version control configuration that is not yet defined on your workstation, Enterprise Architect prompts you to complete the definition for that configuration. This typically means specifying the local working copy directory and maybe choosing the version control project associated with this Enterprise Architect project.

Once this has been done, the version controlled packages that already exist in the model are ready for use.

Version Control Setup

6

Configure packages within the Enterprise Architect model for version control. That is, apply version control to individual packages.

Configure Package for Version Control

7

Check-out and check-in packages as required.

Check Out

Check In

Notes:

  • It is possible to use multiple version control configurations within the same model, so different packages can still use different version control configurations within the same model, as long as any given package is always accessed via the same version control configuration

Learn More:

Team deployment and the use of version control is discussed in two Sparx Systems white papers, available on the Sparx Systems web site:

  • http://www.sparxsystems.com/WhitePapers/Version_Control.pdf
  • http://www.sparxsystems.com/downloads/whitepapers/EA_Deployment.pdf


Version Control Nested Packages [Enterprise Architect User Guide]

Version Control Nested Packages

In releases of Enterprise Architect later than version 4.5, when you save a package to the version control system only stub information is exported for any nested packages. This ensures that information in a nested package is not inadvertently over-written by a top level package.

Guide:

Topic

Detail

See also

Checking Out

When checking out a package, Enterprise Architect does not modify or delete nested packages; only the top level package is modified.

As a consequence of this behavior, if you check out or get a version controlled package with nested packages not already in your model, you see stubs in the model for the nested packages only.

Get All Latest

If you select the Get All Latest option from the version control menu, Enterprise Architect populates any new stubs from the version control system.

Get All Latest

Importing Models

You can populate a large and complex model, by 'getting' only the root packages, then using Get All Latest to recursively iterate through the attached and nested packages.

This is a powerful and efficient means of managing your project and simplifies handling very large models, even in a distributed environment.

The command Import a Model Branch, combines the steps described above into a single operation.

Get Package

Import Controlled Model Branch

Notes:

  • It is recommended you do not mix versions of Enterprise Architect later than version 4.5 with earlier versions when sharing a version controlled model. If this is necessary it is best to go to the Version Control Settings dialog and deselect the Save nested version controlled packages to stubs only checkbox, setting Enterprise Architect to the pre-version 4.5 behavior (for the current model only)


Project Browser Indicators [Enterprise Architect User Guide]

Project Browser Indicators

Packages under version control are identified in the Project Browser by icons that indicate the current status of the package.

Reference:

Icon | Indicates that | See Also
Eightarrow | This package is version controlled and not checked out to you. You cannot edit the package (unless you check out the package). |
packageover1 | This package is version controlled and checked out to you. You can edit the package. |
Redeight | This package is version controlled, but you checked it out whilst not connected to the version control server. You can edit the package but there could be version conflicts when you check the package in again. | Offline Version Control
PkgCntrlXMIicon | This package is controlled and is represented by an XMI file on disk, but it is not under version control. You can edit this package. | Controlled Packages

Learn More:

  • Using Version Control


Offline Version Control [Enterprise Architect User Guide]

Offline Version Control

When loading a model that uses version control, Enterprise Architect normally initializes a connection to the version control system for each Version Control Configuration defined in the model.

If Enterprise Architect is unable to connect a Version Control Configuration for any reason, it displays warning messages to notify you and provides 'offline' version control functionality for all packages associated with the failed connection.

Guide:

Topic

Detail

See also

Choose to Work Offline

You can prevent Enterprise Architect from attempting to make any version control connections by selecting the Project | Version Control | Work Offline menu option before loading a model.

This is useful if you know that Enterprise Architect cannot connect to your version control system. For example, if you are working on a laptop computer that is disconnected from your network and you have an Enterprise Architect model that uses a large number of Version Control Configurations, choosing to work offline before you load the model enables you to avoid all the error messages that Enterprise Architect would normally display as each version control connection attempt fails.

You can switch between working offline and working online at any time, either before or after a model is loaded. Toggle the Project | Version Control | Work Offline menu option. Enterprise Architect disconnects or reconnects version control (depending on connection availability) according to your selection.

Use Version Control Whilst Disconnected From Your Version Control Server

Enterprise Architect 'remembers' the status of a model’s version controlled packages. Packages that were checked out to you prior to disconnecting from the server are still shown as checked out to you, even though you are no longer connected to the server. You can still edit these packages as you normally would.

Packages that were not checked out to you prior to disconnecting from the server are shown as version controlled and locked. You cannot edit these packages until you check them out.

Offline Check Out

In releases of Enterprise Architect from release 6.0 onwards, you can 'check-out' and edit a version controlled package even when your machine is disconnected from the version control server. In the example below, the colored 'figure 8' icon for DFD indicates that you have checked it out whilst offline (the gray 'figure 8' icon shown against Logical View indicates that you have checked out a version-controlled package online).

You should be aware that the version control system - and therefore other users - have no way of knowing that you have 'checked-out' a package whilst offline. It is not possible to merge changes to an XMI file that result from two users editing the same package at the same time. If an offline checkout leads to two people editing the same package at the same time, when the changes are brought back online the first-saved set of changes is lost.

Project Browser Indicators

Checking In a Package That Was Checked Out Offline

Once you reconnect your machine to the version control server, if the package you checked out offline is not currently checked out by another user, you can check in that package. However, before Enterprise Architect checks in such a package, it compares the local working copy of the package file with the latest revision in the repository. (These package files remain unchanged in your work area until Enterprise Architect exports the package again before checking in.) If the repository version remains unchanged from when you last updated your local copy, Enterprise Architect exports and checks in your package without further prompting.

On the other hand, if the repository now contains a file that has changed since you last updated your local copy, checking in your package overwrites whatever those changes might be. Enterprise Architect displays a message warning you of the pending data loss and giving you the opportunity to abort the check in. At this point, you must decide whether to discard your own changes, using the Undo Check Out command, or continue with your check in and overwrite the changes that have been committed to the repository since you last updated your local copy from the repository.

You can use the File Properties command to determine who checked in the last changes to this package. This might help you to discover what changes have been uploaded and decide whose changes take precedence.

Update Before You Disconnect

Whenever you are connected to the version control server, you are always working with the latest version of a package. This is because you cannot modify a package until you check it out from version control, and checking it out loads the latest revision from the repository into your model.

These rules do not apply when you are disconnected from the version control server. You are working on whatever versions you have on your machine, dating back to the last time you updated your local copy of each version controlled package. So, if you are planning to work on a model whilst disconnected from version control, it is a very good idea to make sure that you have the latest versions of all packages before you disconnect. The Get All Latest option makes this a simple task.

Get All Latest


Version Control Branching [Enterprise Architect User Guide]

Version Control Branching

Currently, Enterprise Architect does not support Version Control Branching.

Work-arounds to achieve similar results might be possible for certain version-control products; contact Sparx Support for advice:

Topic | Link
Registered users | http://www.sparxsystems.com/registered/reg_support.html
Trial users | support@sparxsystems.com


Version Control Product Setup [Enterprise Architect User Guide]

Version Control Product Setup

Enterprise Architect relies on third-party version control products to control and maintain the different revisions of your project packages.

Once your version control product is installed and a suitable environment has been created, Enterprise Architect can then utilize that environment to control your project's packages.

Guide:

Topic

Detail

See also

Version Control System Components

Typically, version control products consist of:

  • a server component
  • a client component

Enterprise Architect integrates with version control client components.

It provides integration for Subversion, CVS and MS Team Foundation Server command line clients, as well as integration for products having API clients that comply with the MS SCCI specification.

Version Control Server

The server component maintains the controlled files in their many revisions in a central repository.

The server component is usually located on a server machine, that is accessible by all team members who are using version control.

Server Configuration

Steps involved in configuring a version control server usually include;

  • Installing the software
  • Creating a repository
  • Creating version control projects (or modules or folders for use with specific projects)
  • Configuring user IDs and passwords

The details of configuring any particular version control server are beyond the scope of this document.

Please consult the appropriate documentation.

Version Control Client

The client component deals with the working copies of the controlled files, submitting or retrieving files to and from the server as required.

A version control client must be installed on every machine where you run Enterprise Architect and want to access your version control system.

Client Configuration

Steps involved in configuring a version control client usually include;

  • Installing the software
  • Creating a new directory for use as a local working copy folder
  • Logging in to the version control server
  • Associating the working copy folder with its corresponding server repository folder

For specific information on how to set up a version control environment for use with Enterprise Architect, follow the appropriate link at right.

Create a Subversion Environment

Create a CVS Environment

Create a TFS Environment

Create an SCC Environment


System Requirements [Enterprise Architect User Guide]

System Requirements

Enterprise Architect is a Windows based application and requires a Windows based version control client for integration.

Enterprise Architect is independent of the version control server component and the platform on which that runs.

Reference:

Product

Detail

See Also

Subversion

Subversion is free, open source software

Subversion server components are available to run on a wide range of different hardware and operating systems; Enterprise Architect is not affected by your choice of server components

Enterprise Architect requires Subversion's Windows-based command line client for integration

There are numerous graphical user interface clients available for use with Subversion, such as TortoiseSVN; this type of client cannot be used for integration with Enterprise Architect, but they can be very useful in preparing a working Subversion environment for use by Enterprise Architect

Binary packages are available for download from:

  • http://subversion.apache.org/packages.html

Subversion documentation is available from:

  • http://svnbook.red-bean.com/nightly/en/index.html

Create a Subversion Environment

CVS

CVS is free, open source software

CVS server components are available to run on a wide range of different hardware and operating systems; Enterprise Architect is not affected by your choice of server components

Enterprise Architect requires CVS's Windows-based command line client for integration

There are numerous graphical user interface clients available for use with CVS, such as TortoiseCVS; this type of client cannot be used for integration with Enterprise Architect, but they can be very useful in preparing a working CVS environment for use by Enterprise Architect

The software is available for download from:

  • http://www.nongnu.org/cvs/

CVS documentation is available from:

  • http://cvsbook.red-bean.com/cvsbook.html

Create a CVS Environment

Microsoft Team Foundation Server

Enterprise Architect is able to use either the command line client for TFS, or the MS TFS-SCC client; your choice of client affects how you specify your Version Control Configuration

MS TFS-SCC clients are available for download from Microsoft's web pages:

  • Visual Studio 2005 Team Foundation Server MSSCCI Provider
  • Visual Studio Team System 2008 Team Foundation Server MSSCCI Provider

TFS Settings

SCC Settings

SCC compatible products

Any version control product that provides a client that complies with the Microsoft Common Source Code Control standard, version 1.1 or higher, can be integrated with Enterprise Architect

The following products are SCC-compatible and are known to successfully integrate with Enterprise Architect:

  • Accurev
  • ClearCase
  • MS Visual Source Safe
  • MS TFS-SCC
  • MKS Source Integrity
  • Perforce
  • Source Offsite
  • Snapshot CM

Products that do not appear in the list should still integrate successfully with Enterprise Architect, if there is a client available for that product that complies with the MS SCC API specification


Create a Subversion Environment [Enterprise Architect User Guide]

Create a Subversion Environment

Before Subversion can be used as a version control provider for Enterprise Architect, the appropriate software must be installed and configured by a Subversion administrator.

The following topics describe some basic tasks that must be completed and some tools for performing these tasks, in order to create an operational Subversion environment.

Topics:

Topic

Detail

See Also

Install server components

Executable files for Subversion can be obtained from the Apache Software Foundation

Subversion server components are available to run on a wide range of different hardware and operating systems; Enterprise Architect is not affected by your choice of server components

VisualSVN is a package that can greatly simplify the installation, configuration and management of your Subversion server

Apache Subversion

Official Subversion Documentation

Create a repository

Please consult the official Subversion documentation

Official Subversion Documentation

Create Subversion users

Please consult the official Subversion documentation

Official Subversion Documentation

Create a new repository sub-tree

It is good practice to create folders in your PC's file system for organizing your files and documents; similarly, it is good practice to create a new repository sub-tree in Subversion for each new Enterprise Architect model

TortoiseSVN can greatly simplify the process of creating new repository sub-trees

Create a Repository Sub-tree

Install client components

Executable files for Subversion can be obtained from the Apache Software Foundation

Apache Subversion

Create a working copy folder

To create a local working copy, you must perform an initial check-out of a folder from the Subversion repository; this downloads a copy of the folder and its contents, to create your local working copy

TortoiseSVN can greatly simplify the initial check out of a working copy folder

Create a Local Working Copy

Subversion under Wine/CrossOver

The set up and use of Subversion with Enterprise Architect under Wine is almost identical to when running natively under Windows, apart from some minor differences when installing the Subversion client and performing the initial check out of the working copy folder

Subversion under Wine

TortoiseSVN

TortoiseSVN is a Windows shell extension; Enterprise Architect can not use TortoiseSVN as its client, it must use the Subversion command line client

TortoiseSVN

Notes:

  • Enterprise Architect relies on exclusive file locking when applying version control to its packages; file locking was not introduced into Subversion until version 1.2, therefore Enterprise Architect does not work with Subversion releases earlier than Subversion 1.2
  • Sparx Systems recommend that each new Enterprise Architect model being added to version control with Subversion should have a separate repository sub-tree created for it, and users should create a new local working copy from the sub-tree to be used with that model


Create a new Repository Sub-tree [Enterprise Architect User Guide]

Create a new Repository Sub-tree

In the same way that it is good practice to create folders in your PC's file system for organizing your files and documents, it is good practice to create a new repository sub-tree in Subversion for each new Enterprise Architect model.

Use to:

  • Create a new sub-tree in the Subversion repository

How to:

Step | Action | See also
1 | Use Windows Explorer to create a temporary directory structure on your PC file system, that can be imported into the Subversion repository to create a new repository sub-tree. The resulting sub-tree can then be used to control the package files for your Enterprise Architect model. The directory structure should look like this: |
2 | Open a Windows command prompt, navigate to "tempDir" and issue the Subversion command import. For example; C:\Documents and Settings\user> cd \tempDir C:\tempDir> svn import . https://host.example.com:8443/repos/ --message "Repository Initialization" | Subversion repository administration basics
3 | Delete the temporary directory structure. That is, delete "tempDir" and all its contents. |

Notes:

  • After the import is finished, the original tree is not converted into a Subversion working copy; you should delete the temporary structure and check out a fresh working copy of the tree
  • The process described above can also be performed using TortoiseSVN's Repository Browser, which provides commands that allow you to simply create new folders directly in the repository


Create a Local Working Copy [Enterprise Architect User Guide]

Create a Local Working Copy

In order to make use of Subversion to provide version control of your model's packages, you must prepare a functional SVN working copy folder that can be accessed through an Enterprise Architect version control configuration.

Use to:

  • Create a Subversion working copy folder, suitable for use with Enterprise Architect

How to:

Step

Action

See also

1

Choose a suitable directory on your system, in which to create your Subversion Working Copy

2

Open a command prompt window and (if necessary create and then) navigate to a suitable directory to use as your Subversion working copy directory

For example:

C:\> mkdir mySVNWorkSpace

C:\> mkdir mySVNWorkSpace/myEAModelName

C:\> cd mySVNWorkSpace/myEAModelName

3

Issue the command to perform the initial check out from the Subversion repository, specifying the repository folder and local working copy folder, as well as your user name and password

(By specifying your Subversion username and password, you ensure that they are correctly cached by Subversion and available for use by Enterprise Architect)

For example;

C:\> svn checkout "https://myserver:8443/svn/repos_folder
"C:\mySVNWorkSpace/myEAModelName"

--username myUserName

--password myPassword

If you specify the HTTPS protocol when performing the initial Subversion check out, a prompt displays to accept a security certificate; in this instance, press ( P ) to permanently accept the certificate

The nominated local folder is configured as a Subversion working copy folder

Any files already existing in the repository folder are downloaded to the working copy folder as working copy files

4

You should now verify that your Subversion environment functions correctly

Verify the SVN Workspace

Notes:

  • It is important that Subversion caches your username and password, so that it never has to prompt for user input; a check-out operation might not request authentication, and if it does not you should perform an action that does request authentication, such as adding and committing a dummy test file
  • The process described above can also be performed using TortoiseSVN's Checkout command (which provides options to browse) when specifying both your repository folder and your local folder; when prompted for authentication details by TortoiseSVN, make sure you place a check against the Save Authentication Data option


Verify the SVN Workspace [Enterprise Architect User Guide]

Verify the SVN Workspace

After creating the Subversion local working copy to hold the working copies of your Enterprise Architect package files, you should verify that it functions correctly.

You should be able to add files to Subversion, lock the files and commit changes to those files.

Use To:

  • Verify correct operation of a newly created Subversion working copy folder, before attempting to use it with Enterprise Architect.

How To:

Step

Action

See also

1

Use Windows to open a command prompt window.

2

Change directory to the one you specified as the working copy, in the Subversion checkout command when preparing the SVN workspace.

For example;

C:\> cd mySVNWorkSpace

3

Create a test file, such as Test.txt, containing the text "Subversion Test".

For example;

C:\> echo Subversion Test > Test.txt

4

Execute the following Subversion commands:

  • svn add Test.txt
  • svn commit -m"Commit comment" Test.txt
  • svn update Test.txt
  • svn lock Test.txt
  • Use your preferred editor to modify the file and save the changes
  • svn commit -m"Second commit comment" Test.txt

The commands should execute without any errors and without prompting the user for any extra input.

Notes:

  • Your environment must be set up such that you can perform these operations without ever being prompted for user ID or password; for further information, please see the Caching Client Credentials topic in the official Subversion documentation


Subversion Under WINE-Crossover [Enterprise Architect User Guide]

Subversion Under WINE-Crossover

The set up and use of Subversion with Enterprise Architect under Wine is almost identical to when running natively under Windows.

When running Enterprise Architect under Wine or CrossOver, you still use a Windows-based Subversion command line client.

There are some differences in the way you go about preparing your Subversion working environment, specifically in the way you install your Subversion client and how you check out a working copy folder from the Subversion repository.

Guide:

Topic

Detail

See also

System Requirements

Sparx Systems has tested and succeeded in using Enterprise Architect with Subversion under Wine 1.2, on Mac OS 10.4 & 10.6.2, as well as Ubuntu 10.04.

When using Wine 1.2 on the Ubuntu 9.10 platform, Sparx Systems was unable to successfully use the https: protocol to communicate with the SVN server, however we could use the svn: and file: protocols.

Installing a Subversion Client

Wine is able to install applications from either a Windows .EXE file, or a .MSI installer file. You should place the installer for your Windows Subversion client in a convenient location on the native file system. Then, open a Wine console window from within Enterprise Architect and run the installer from within the Wine console. This ensures that your Subversion installation accesses the same C: drive and folders that Enterprise Architect is accessing.

Preparing a Subversion Environment Under Wine.


Preparing a Subversion Environment Under Wine [Enterprise Architect User Guide]

Preparing a Subversion Environment Under Wine

Wine is able to install Subversion from either a Windows .EXE file, or a .MSI file. By performing your Subversion installation and initial check out from within a Wine console window that is opened from within Enterprise Architect, you can ensure that you have access to the same C: drive and folders that Enterprise Architect is accessing.

Use to:

  • Set up Subversion for use with Enterprise Architect, running under Wine

How to:

Step

Action

See also

1

Start Enterprise Architect

You do not have to load a project at this stage

2

Select Tools | Customize > Tools : New

The Customize dialog displays, at the Tools page, and a new, blank entry is created

Custom Tools

3

Define the new menu item entry, as follows:

  • In the newly-opened Menu contents field, type the name Wine Console
  • In the Command field, type wineconsole
  • In the Arguments field, type cmd
  • The Initial directory field should be left blank

4

Click on the Close button

The Customize dialog closes

5

Select Tools | Wine Console

A Wine console window opens

6

Type C: and press ( Enter )

The Wine console switches to the C: drive

7

Issue the command to install your Subversion client

For example;

C:\>/Installers/Subversion-client-1.6.12-1.win32.exe

To install from a .msi file, use Wine's msiexec utility

For example;

C:\>msiexec "Slik-Subversion-1.6.9-win32.msi" /i

Installation of the Subversion command line client begins

8

Create a folder to serve as the working copy folder to be used by Enterprise Architect

For example:

C:\>mkdir C:\VC_workspaces\SVN_workcopy

9

Issue the command to perform the initial check out from the Subversion repository, specifying the repository folder, the working copy folder, and the username and password

(By specifying your Subversion username and password, you ensure that they are correctly cached by Subversion and available for use by Enterprise Architect)

For example;

C:\>svn checkout "https://myServer:8443/svn/repos_folder"

"C:\VC_workspaces\SVN_workcopy "
"--username myUserName"
"--password myPassword"

If the HTTPS protocol is specified when performing the initial Subversion check out, you are prompted to accept a security certificate; in this instance, press ( P ) to permanently accept the certificate

The nominated local folder is configured as a Subversion working copy folder

Any files already existing in the repository folder are downloaded to the working copy folder as working copy files

10

Type Exit and press ( Enter )

The Wine console window closes

You are now ready to load a project in Enterprise Architect and apply version control to it, following the normal Windows-based procedures

Version Control Setup

Use Version Control

Notes:

  • You should copy the installer for your Windows Subversion client to a convenient location on the native file system, so that you can easily refer to it from within the Wine console window in step 7 above


TortoiseSVN [Enterprise Architect User Guide]

TortoiseSVN

TortoiseSVN is a Windows shell extension for Subversion. TortoiseSVN provides icon overlays in Windows Explorer that are useful as a tool for observing the status of your Subversion controlled files.

It also enables you to create your repository sub-trees and check out local working copies from within Windows Explorer using simple menu commands.

TortoiseSVN can be downloaded from http://tortoisesvn.net/downloads.html.

Notes:

  • Enterprise Architect must use the Subversion command line client. It can not use TortoiseSVN to communicate with the Subversion server


Create a CVS Environment [Enterprise Architect User Guide]

Create a CVS Environment

Before CVS can be used as a version control provider for Enterprise Architect, the appropriate software must be installed and configured by a CVS administrator.

The following topics describe some basic tasks that must be completed and some tools for performing these tasks, in order to create an operational CVS environment.

Topics:

Topic

Detail

See Also

Install server components

Executable files for CVS can be obtained from the Free Software Foundation, or from March Hare Software.

CVS server components are available to run on a wide range of different hardware and operating systems. Enterprise Architect is not affected by you choice of server components

FSF CVS

March Hare CVS

CVS Documentation

Create a repository

Please consult the CVS documentation.

CVS Repository Administration

Create CVS users

Please consult the CVS documentation.

CVS Documentation

Create a new repository module

It is good practice to create folders in your PC's file system for organizing your files and documents. Similarly, it is good practice to create a new repository module in CVS for each new Enterprise Architect model.

A repository module represents a project, or set of related files in the repository.

TortoiseCVS can greatly simplify the process of creating new repository modules.

CVS Starting a New Project

Install client components

Executable files for CVS can be obtained from the Free Software Foundation, or from March Hare Software.

Enterprise Architect is a Windows based application - it requires a Windows based CVS command line client for integration.

FSF CVS

March Hare CVS

Create a working copy folder

To create a local working copy, you must perform an initial check-out of a module from the CVS repository. This downloads a copy of the module, to create your local working copy.

TortoiseCVS can greatly simplify the initial check out of a working copy folder.

Create a CVS Local Workspace

CVS under Wine/CrossOver

The set up and use of CVS with Enterprise Architect under Wine is almost identical to when running natively under Windows, apart from some minor differences when installing the CVS client and performing the initial check out of the working copy folder.

TortoiseCVS

TortoiseCVS is a Windows shell extension. Enterprise Architect can not use TortoiseCVS as its client, it must use the CVS command line client.

TortoiseCVS

Notes:

  • If you do not already use CVS for version control, you should consider using Subversion instead. Subversion's client-server protocols provide a broader range of possibilities for connecting to remote servers, with easier set up of secure connections
  • Sparx Systems recommend that each new Enterprise Architect model being added to version control with CVS should have a separate repository module created for it, and users should create a new local working copy from the module to be used with that model


Prepare a CVS Local Workspace [Enterprise Architect User Guide]

Prepare a CVS Local Workspace

In order to make use of CVS to provide version control of your model's packages, you must prepare a functional CVS working copy folder, that can be accessed through an Enterprise Architect version control configuration.

Use to:

  • Prepare a CVS environment, suitable for use with Enterprise Architect

How to:

Step

Action

See also

1

Ask your system administrator to install CVS and create a remote repository with a module that you can use to control your Enterprise Architect package files.

Your administrator must create a username and password for you before you can make a connection.

2

Open a command prompt window and (if necessary create and then) navigate to a suitable directory to use as your CVS working copy directory.

For example:

C:\> mkdir myCVSWorkSpace

C:\> cd myCVSWorkSpace

3

Log in to the remote CVS repository.

For example;

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/reposPath login

Replace myUserID with your CVS username, replace ServerName with the name of your CVS server and replace reposPath with the path to the repository on the server.

A prompt for a password displays.

4

Enter your password.

You are logged in to the CVS server.

5

Perform the initial check out of the CVS repository module, into the local working copy directory.

For example;

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/reposPath checkout moduleName

(Replace moduleName with the name of the repository module that you want to check out.)

A subdirectory is created in your current working directory, that has the same name as the module being checked out.

Any files already existing in the repository module are downloaded to the working copy folder as working copy files.

6

You should now verify that your CVS environment functions correctly.

Verify the CVS Workspace

Notes:

  • Much of the process described above can also be performed (more simply) using the TortoiseCVS command "Make New Module"


Verify the CVS Workspace [Enterprise Architect User Guide]

Verify the CVS Workspace

After creating the CVS local working copy to hold the working copies of your Enterprise Architect package files, you should verify that it functions correctly.

You should be able to add files to CVS, and then commit changes to those files. You should also be able register as an editor of the file as well as retrieve the list of currently registered editors.

Use To:

  • Verify correct operation of a newly created CVS working copy folder, before attempting to use it with Enterprise Architect

How To:

Step

Action

See also

1

Use Windows to open a command prompt window.

2

Change directory to the one you specified as the working copy, in the cvs checkout command when preparing the CVS workspace.

For example;

C:\> cd myCVSWorkSpace

3

Create a test file, such as Test.txt, containing the text "CVS Test".

For example;

C:\> echo CVS Test > Test.txt

4

Execute the following CVS commands:

  • cvs add Test.txt
  • cvs commit -m"Commit comment" Test.txt
  • cvs update Test.txt
  • cvs edit Test.txt
  • cvs editors Test.txt

The commands should execute without any errors and without prompting the user for any extra input.

The editors command should produce output that resembles the following;

Test1.txt myUserID Tue Aug 9 10:08:43 2009 GMT myComputer C:\myCVSWorkSpace\moduleName

5

Take note of the userID that follows the filename.

Enterprise Architect must find and use this user ID when you create your version control configuration.

CVS Settings

Notes:

  • Your environment must be set up such that you can perform these operations without ever being prompted for input, such as user ID or password


TortoiseCVS [Enterprise Architect User Guide]

TortoiseCVS

TortoiseCVS is a Windows shell extension for CVS. TortoiseCVS provides icon overlays in Windows Explorer that are useful as a tool for observing the status of your CVS controlled files.

It also enables you to create your repository modules and check out local working copies from within Windows Explorer using simple menu commands.

TortoiseCVS can be downloaded from: http://www.tortoisecvs.org

Notes:

  • Enterprise Architect cannot use TortoiseCVS to communicate with the CVS server; it must use the CVS command line client


Create a TFS Environment [Enterprise Architect User Guide]

Create a TFS Environment

Before Enterprise Architect can be used with TFS, the appropriate software must be installed by a TFS administrator. Ask your system administrator to obtain and install the TFS server and client applications.

The following topics describe some basic tasks that must be completed in order to create a TFS environment that can be used by Enterprise Architect

Topics:

Topic

Detail

See Also

Obtain and install TFS

Enterprise Architect uses the TFS command line client to integrate TFS version control.

It is assumed that the TFS command line client is installed as part of your Visual Studio installation.

Choose a TFS project

It is good practice to create folders in your PC's file system for organizing your files and documents. Similarly, it is good practice to create a new TFS project, or least a new Source Control Folder within a project, for each new Enterprise Architect project.

If you have a single Enterprise Architect project, that contains many different models, (for example, a DBMS hosted project with multiple model root nodes), you might choose to create a new TFS project for each separate model.

Please consult your TFS documentation.

Create a TFS workspace

The TFS workspace is used to map a local working folder on your PC, to a Source Control Folder within a TFS project.

A single TFS workspace can map many different local folders - each one to a separate Source Control Folder.

You can gain performance benefits for some of Enterprise Architects version control operations if you keep your version controlled package files in a folder that is separate from other artefacts, such as source code files. This can be achieved either by creating a separate work space to use just for your package files, or by creating and mapping a separate folder for package files within an existing workspace.

TFS Workspaces

Configure exclusive check-outs.

The XMI file format used for version control of Enterprise Architect's packages can not be merged like ordinary text files. Therefore, Enterprise Architect must enforce serialized editing of its version controlled packages. As a consequence, it is important that TFS is configured to use 'exclusive checkouts' for XML files.

TFS Exclusive Check Outs

Notes:

  • TFS can also be used with an SCC client. The MS TFS-SCC client is available for download from Microsoft's web site
  • Visual Studio Integration (MDG Integration for Visual Studio 2005 or 2008) enhances TFS support by providing access to, for example, work items and bugs within both Enterprise Architect and the MDG Integration product

Learn More:

  • System Requirements


TFS Workspaces [Enterprise Architect User Guide]

TFS Workspaces

The TFS workspace is used to map a local working folder on your PC, to a Source Control Folder within a TFS project.

Use To:

  • Associate a local folder on your PC, with a Source Control Folder in the TFS repository

How To:

Step | Action | See also
1 | It is assumed a Team Project already exists, that you can use to control your Enterprise Architect package files. The following actions are carried out within MS Visual Studio. |
2 | Connect to your TFS server. From the main menu, choose View | Team Explorer. |
3 | From the main menu, choose View | Other Windows | Source Control Explorer. |
4 | From the main menu, choose Tools | Connect to Team Foundation Server. A prompt displays for you to log in to the Team Foundation Server; another prompt then displays to choose an available Team Foundation Server. |
5 | Choose an appropriate server and click OK. The selected Team Foundation Server is displayed in the Team Explorer pane. The server's project hierarchy is displayed in the Source Control Explorer's Folders pane. |
6 | From the main menu, choose File | New | Team Project. The New Team Project wizard opens. |
7 | Enter an appropriate name and description for the new Team Project. Choose the option to create an empty source control folder. |
8 | Create a new Workspace. |
9 | Create a new workspace. In the Source Control Explorer, click on the drop-down arrow in the Workspace field, then choose Workspaces The Manage Workspaces dialog is displayed. |
10 | Click on the Add... button. The Add Workspace dialog is displayed. |
11 | Enter an appropriate name for the new workspace and enter a comment if required. |
12 | Click in the Source Control Folder column, then click the Browse button, to select a Source Control Folder. Select the new folder that was created in step 7. |
13 | Click the Browse button in the Local Folder column and create a new local folder. This is the working copy folder into which Enterprise Architect exports the package files. |
14 | Click OK. The new workspace is created and saved. The Add Workspace dialog closes. |
15 | Click OK. The Manage Workspaces dialog closes. |

Notes:

  • The local folder referenced in step 13, is the Working Copy Path that should be specified when defining an Enterprise Architect Version Control Configuration to use this TFS workspace

Learn More:

  • TFS Settings


TFS Exclusive Check Outs [Enterprise Architect User Guide]

TFS Exclusive Check Outs

The XMI file format used for version control of Enterprise Architect's packages can not be merged like ordinary text files. Therefore, Enterprise Architect must enforce serialized editing of its version controlled packages. As a consequence, it is important that TFS is configured to use 'exclusive checkouts' for XML files. Otherwise, TFS can return file statuses that make it look like the package file is not checked-out by another user when indeed it is.

Use To:

  • Configure TFS to enforce exclusive check outs for XML files

How To:

Step | Action | See also
1 | Using Visual Studio, from the main menu select View | Team Explorer. |
2 | In the Team Explorer pane, right-click on the TFS Server name that is controlling the EA package files, then from the context menu select Team Foundation Server Settings | Source Control File Types. |
3 | Select the entry for XML files (or create an entry if necessary) then click on Edit. |
4 | Clear the check-mark from the option Enable file merging and multiple check out. |


Create an SCC Environment [Enterprise Architect User Guide]

Create an SCC Environment

Before Enterprise Architect can be used with an SCC version control product, the appropriate software must be installed and configured by an administrator.

The following topics describe some basic tasks that must be completed in order to create an SCC based version control environment that can be used by Enterprise Architect

Topics:

Topic

Detail

See Also

Install and configure your chosen version control product.

A version control server component is typically installed on a dedicated server machine. All Enterprise Architect users who require access to version control must be able to connect to the server machine.

After installing the version control software, the administrator should also create version control user IDs for all users who require access to version control.

Please consult the documentation for your particular version control product.

List of SCC compatible version control providers

Create a new SCC project

It is good practice to create folders in your PC's file system for organizing your files and documents.

Similarly, it is good practice to create a new version control project, or least a new folder within a project, for each new Enterprise Architect project.

If you have a single Enterprise Architect project, that contains many different models, (for example, a DBMS hosted project with multiple model root nodes), you might choose to create a new version control project for each separate model.

Please consult the documentation for your particular version control product.

Configure your SCC project to support exclusive check-outs for .XML files

The XMI file format used for version control of Enterprise Architect's packages can not be merged like ordinary text files. Therefore, Enterprise Architect must enforce serialized editing of its version controlled packages. As a consequence, it is important that your version control system is configured to use 'exclusive checkouts' for XML files.

Create a local working copy folder

A working copy folder should be created on each users' machine, for Enterprise Architect to use when exporting and importing the version controlled package files.

The working copy folder is the "sandbox" where you modify the controlled files. The working copy folder is usually associated with a folder that exists within the version control repository. Your version control product provides some means by which you associate a "working copy" folder with a repository folder.

It is this folder that is specified as the Local Project Path, when defining your Version Control Configurations.

Please consult the documentation for your particular version control product.

Version Control Setup

Notes:

  • When installing the client component software on users' PCs, ensure that the SCC client is also installed, as it might not be a part of the default installation


Version Control Setup [Enterprise Architect User Guide]

Version Control Setup

Once the version control software has been installed and configured, to use your installed version control product you must first define a Version Control Configuration within Enterprise Architect.

Use to:

  • Define a new Version Control Configuration, that can then be used to control the packages in your project

How to:

Step | Action | See also
1 | Start Enterprise Architect and load the model for which you are defining the Version Control Configuration. |
2 | Open the Version Control Settings dialog; Project | Version Control | Version Control Settings | Version Control Settings dialog
3 | Click on the New button. |
4 | In the Unique ID field, type a suitable name. |
5 | Select the Type of version control product you are connecting to, by clicking on the corresponding radio button. |
6 | At this point, the middle section of the dialog changes to display a collection of fields specific to the type of Version Control Configuration you are defining. Enter details relating to the version control workspace that this configuration is to use. |
7 | Click on the Save button. The new configuration is added to the Defined Configurations list. |
8 | When you have finished defining your version control configurations, click on the Close button. |

Notes:

  • Version Control Configuration details are stored in the user's Windows Registry settings, but each project stores a list of the configurations it uses, so that version control connections can be initialized as a project is being loaded
  • You can define any number of Version Control Configurations for use in a single model, however any given package can be associated with only one configuration
  • If you are using the Corporate or extended editions of Enterprise Architect with security enabled, you must also set up permissions to configure and use version control. See List of Available Permissions for more information

Learn More:

  • List of Available Permissions


Re-use an Existing Configuration [Enterprise Architect User Guide]

Re-use an Existing Configuration

Once a version control configuration has been defined for use in one project, it is possible to re-use that configuration in other projects.

Use To:

  • Provide access to an already existing version control environment (a working copy directory and its associated repository that is already in use)
  • Provide access to version controlled packages that were created (and version controlled) in another project

How To:

Step

Action

See also

1

Choose one of;

  • Project | Version Control | Version Control Settings
  • Right-click any package in the Project Browser | Package Control | Version Control Settings

The Version Control Settings dialog displays.

Version Control Settings dialog

2

Click on the New button.

The various fields on the dialog are cleared, ready for data entry.

3

In the Unique ID field, click on the drop-down arrow and select one of the previously-defined version control configurations.

The details of the selected configuration are displayed in the dialog.

4

Click on the Save button.

The configuration details are saved and ready for use in the current project.


Version Control Settings Dialog [Enterprise Architect User Guide]

Version Control Settings Dialog

The Version Control Settings dialog enables you to define Version Control Configurations, which are used by Enterprise Architect to communicate with your version control system.

Access: Project | Version Control | Version Control Settings

OR Right-click on any package node | Package Control | Version Control Settings

Use To:

  • Define new Version Control Configurations
  • Update existing Version Control Configurations

Reference:

Field

Usage

See Also

This mode is private

Specify whether this model database is to be accessed by just a single user (Private Model) or by multiple concurrent users (Shared Model).

The default value is "unchecked" (Shared Model). If in doubt, use the default value.

Save nested version controlled packages to stubs only

Specify whether the exported XMI file for a version controlled package, shall contain package stubs (place holders) or full content for nested version controlled child packages.

It is recommend to always export version controlled child packages as stubs only.

Report cross package reference deletions before check-in

Choose whether or not Enterprise Architect should alert the user when cross package references are being removed from the exported XMI package file, when compared to the previous revision of that file.

Report Deletion of Cross Package References

Unique ID

A name that uniquely identifies the configuration.

Enter a name to identify a new configuration, or use the drop-down list to retrieve details of a configuration previously defined in a different project.

Type

Specify the type of version control system associated with this configuration.

Once the type is selected, the middle section of the dialog changes to display a collection of fields relating to the type of Version Control Configuration you are defining. For a description of those fields, see the links at right.

Set the type to SCC for;

  • MS Visual Source Safe
  • Rational Clear Case
  • Perforce
  • AccuRev
  • other SCC compatible clients

For CVS, Subversion or TFS, choose the type that matches the product you are using.

SCC Settings

CVS Settings

SVN Settings

TFS Settings

New

Create a new Version Control Configuration.

Save

Save the details of a new or updated configuration.

Delete

Remove the definitions of the currently selected configuration from this model.

Defined Configurations

List of configurations that are in use in the current model.

In future, do not prompt for incomplete configurations

Choose whether or not the user is prompted to complete the definition of configurations that are not fully specified.

Close

Close this dialog.

Help

Display this Help topic.

Notes:

  • When you first open an Enterprise Architect project that was created by another user and that uses version control, the Version Control Configuration(s) used by that project do not yet exist in your Windows registry settings. You must complete the definitions of those configurations before you can use version control in that project
  • It is important that for any given version controlled package file, all access of that file from any model and by any user, is done using Version Control Configurations having the same UniqueID
  • If Project Security is enabled, you must have Configure Version Control permission to set up version control options for the current model
  • It is possible to use multiple version control configurations in the same Enterprise Architect model

Learn More:

  • Applying version control to a package.
  • Applying version control to a hierarchy of packages
  • Configure Version Control


SCC Settings [Enterprise Architect User Guide]

SCC Settings

When you specify the type of your Version Control Configuration as SCC, the middle section of the Version Control Settings dialog changes to allow you to enter details that are specific to SCC based configurations.

Access: Project Browser package context menu | Package Control | Version Control Settings: Type: SCC

Use To:

  • Define the working copy folder to be used with an SCC based version control configuration
  • Specify the details necessary to connect to the SCC version control system

Reference:

Field

Usage

See Also

Local Project Path

Displays the full path of the folder that contains the local (working) copies of the XMI package files

This field is read-only; its value can only be set through use of the Select Path button

Select Path

Choose the Local Project Path, by opening a file browser dialog and navigating through the file system to the appropriate folder

  • After you choose the appropriate folder path, the Select SCC Provider dialog displays, listing all SCC providers that are installed on the current workstation; choose the SCC provider to use and click on the OK button
  • At this point, the SCC client opens its own dialog to prompt you for information; SCC products implement this functionality in varied ways, but typically you are prompted to log in to the version control system, then prompted to choose the SCC Project to use and possibly a (server) folder contained within that project
  • At the conclusion of this process, all of the SCC details should be filled in; you can then save the definition by clicking on the Save button on the Version Control Settings dialog

System Requirements

Version Control Settings dialog

Current User

Displays the user name used to log on to the version control system that is accessed through this configuration.

This field is read-only; the value it displays is retrieved from the SCC client

SCC Provider

Displays the name of the SCC provider

This field is read-only; the value it displays is retrieved from the SCC client

SCC Project

Displays the name of the SCC Project that this configuration attaches to

This field is read-only; the value it displays is retrieved from the SCC client


CVS Settings [Enterprise Architect User Guide]

CVS Settings

When you specify the type of your Version Control Configuration as CVS, the middle section of the Version Control Settings dialog changes to allow you to enter details that are specific to CVS-based configurations.

Access: Project Browser package context menu | Package Control | Version Control Settings: Type: CVS

Use To:

  • Define the working copy folder to be used with a CVS based version control configuration
  • Specify the path to the CVS command line client

Reference:

Field

Usage

See Also

Working Copy Path

Displays the full path of the folder that contains the local (working) copies of the XMI package files

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Choose the Working Copy Path, by opening a file browser dialog and navigating through the file system to the appropriate folder

Current User

This field is read-only; its value is retrieved by Enterprise Architect, from a file named CVS\Root, located in the folder specified by Working Copy Path above

CVS Exe Path

Displays the full path of the CVS command line client executable file

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Specify the path to the CVS command line client, by opening a file browser dialog and navigating through the file system to locate the appropriate file

VC Time-Out Value

Specify the amount of time that Enterprise Architect waits for a CVS command to complete; if the command does not complete within the allowed time, Enterprise Architect displays a Time-out error message, detailing the command that failed to complete

This single time-out value is applied to all Version Control Configurations (of types SVN, TFS and CVS) that the user accesses from this workstation

Notes:

  • When connecting to a remote CVS repository, the Current User field should display the user name used to log into that repository; if this does not happen, it indicates that Enterprise Architect cannot extract the user name from the file
    ...\WorkingCopyPath\CVS\Root and the configuration does not work correctly


SVN Settings [Enterprise Architect User Guide]

SVN Settings

When you specify the type of your Version Control Configuration as Subversion, the middle section of the Version Control Settings dialog changes to allow you to enter details that are specific to Subversion based configurations.

Access: Project Browser package context menu | Package Control | Version Control Settings: Type: Subversion

Use To:

  • Define the working copy folder to be used with a Subversion based version control configuration
  • Specify the path to the Subversion command line client

Reference:

Field

Usage

See Also

Working Copy Path

Displays the full path of the folder that contains the local (working) copies of the XMI package files

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Choose the Working Copy Path, by opening a file browser dialog and navigating through the file system to the appropriate folder

Subversion Exe Path

Displays the full path of the Subversion command line client executable file

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Specify the path to the Subversion command line client, by opening a file browser dialog and navigating through the file system to locate the appropriate file

VC Time-Out Value

Specify the amount of time that Enterprise Architect should wait for a Subversion command to complete; if the command does not complete within the allowed time, Enterprise Architect displays a Time-out error message, detailing the command that failed to complete

This single time-out value is applied to all Version Control Configurations (of types SVN, TFS and CVS) that the user accesses from this workstation


TFS Settings [Enterprise Architect User Guide]

TFS Settings

When you specify the type of your Version Control Configuration as TFS, the middle section of the Version Control Settings dialog changes to allow you to enter details that are specific to TFS based configurations.

Access: Project Browser package context menu | Package Control | Version Control Settings: Type: TFS

Use To:

  • Define the working copy folder to be used with a TFS based version control configuration
  • Specify the user name and password to log in to the TFS server
  • Specify the path to the TFS command line client

Reference:

Field

Usage

See Also

Working Copy Path

Displays the full path of the folder that contains the local (working) copies of the XMI package files

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Choose the Working Copy Path, by opening a file browser dialog and navigating through the file system to the appropriate folder

Server Name

Displays the name of the TFS Server that is associated with the working copy folder specified in Working Copy Path above

This field is read-only; Enterprise Architect retrieves the value it displays by querying the TFS client

Workspace Name

Displays the name of the TFS Workspace that is associated with the working copy folder specified in Working Copy Path above

This field is read-only; Enterprise Architect retrieves the value it displays by querying the TFS client.

User Name

Specify the user name with which to log into the TFS Server

Password

Specify the password with which to log into the TFS Server

TFS Exe Path

Displays the full path of the TFS command line client executable file

This field is read-only; its value can only be set through use of the associated Select Path button

Select Path

Specify the path to the TFS command line client, by opening a file browser dialog and navigating through the file system to locate the appropriate file

VC Time-Out Value

Specify the amount of time that Enterprise Architect waits for a TFS command to complete; if the command does not complete within the allowed time, Enterprise Architect displays a Time-out error message, detailing the command that failed to complete

This single time-out value is applied to all Version Control Configurations (of types SVN, TFS and CVS) that the user accesses from this workstation

Notes:

  • If you automatically log in to TFS through means external to Enterprise Architect (for example, through MS Integrated Security), you can leave the User Name and Password fields blank
  • If the Password field is blank, Enterprise Architect retrieves the your Windows username and uses that value when determining whether a package file is checked out to you or to another user
  • TFS version control can also be accessed using the TFS MSSCCI client; to make use of the TFS MSSCCI client, please define an SCC based Version Control Configuration


Use Version Control [Enterprise Architect User Guide]

Use Version Control

Once your version control product is installed and a suitable environment has been created, Enterprise Architect can then utilize that environment to control your project's packages.

The following topics describe use of the version control features of Enterprise Architect, accessed through the Package Version Control Menu.

Guide:

Topic

Detail

See also

Version Control Settings

Version Control Configurations are used by Enterprise Architect to communicate with your version control system.

You must define a Version Control Configuration in your project and then use that configuration to control the packages in your project.

Version Control Setup

Configure a Package

To put a package under version control, you must mark the package as a controlled package, specify the version control configuration to control it and associate an XMI file with the package.

Configure Controlled Package

Check In a Model Branch

The Check In a Model Branch command allows you to check-in all packages involved in a particular unit of work, as a single operation.

Check In a Model Branch

Check Out a Model Branch

The Check Out a Model Branch command allows you to check-out all packages within a selected model branch, as a single operation.

Check Out a Model Branch

Check In a Package

The Check In command allows you to check-in the package currently selected in the Project Browser.

Check In a Package

Check Out a Package

To work on a version controlled package you must have the package checked out.

The Check Out command allows you to check-out the package currently selected in the Project Browser.

Check Out a Package

Undo Check Out of a Package

The Undo Check Out command allows you to undo the check-out of a package, discarding any modifications that have been made by restoring the package content to the latest revision held in version control.

Undo Check Out of a Package

Import a Package From Version Control

You can retrieve packages from version control that have been created by other users, or by you in another model, and import them into your current model.

Include Other Users Packages

Apply Version Control to a Model Branch

Enterprise Architect enables you to apply version control to all packages within a selected model branch, in a single operation. In this context, a model branch is a package that is currently selected in the Project Browser, and all of the packages contained within it.

Apply Version Control to Branches

Export a Version Controlled Model Branch

The Export a Model Branch command exports version control information about the root package of a model branch, that is used to simplify the process of exporting and importing a hierarchy of packages from one model to another.

Export Controlled Model Branch

Import a Model Branch From Version Control

Model branch files can simplify the process of exporting and importing a hierarchy of packages from one model to another.

The Import a Model Branch command uses Enterprise Architect's Model Branch Files, of which there are few, to retrieve information about the root package file and import the model branch.

Import Controlled Model Branch

View Package Revision History

The File History command allows you to review the change history of version controlled packages.

It also enables you to check out a prior revision of the package for editing, effectively allowing you to roll-back to a prior revision of the package.

Review Package History

Validate Package Configurations

You can test the validity of the version control settings associated with each version controlled package within your current model.

Validate Package Configurations

Resynchronize the Status of Version Controlled Packages

Enterprise Architect enables you to re-synchronize the version control status of version controlled packages within your project with the status reported by your version control provider.

Resynchronize Package Status

Notes:

  • Database replication should not be combined with version controlled packages
  • If the packages under version control contain any alternative images and those images are subject to frequent change, you can set the Export alternate images option on the Options dialog to export the images to the version control repository when you check in the packages. If the images are not subject to frequent change, do not select this option and instead use Export / Import Reference Data to manage alternative images


Project Version Control Menu [Enterprise Architect User Guide]

Project Version Control Menu

Provides access to various project related version control functions

Access: Project | Version Control

Use to:

  • Apply version control to a package
  • Modify or check version control settings
  • Validate settings for all version controlled packages
  • Resynchronize the status of all version controlled packages, with their associated version control system.
  • Allow working when not connected to version control

Reference:

Action

Usage

Shortcut

See also

Configure Current Package

Display the Package Control Options dialog, which enables you to specify whether this package (and its children) is version controlled, and which version control configuration applies.

Ctrl + Alt + P

Package Control Options dialog

Version Control Settings

Display the Version Control Settings dialog.

Version Control Settings dialog

Validate Package Configurations

Test the validity of the version control settings associated with each version controlled package within your current model.

Validate package configuration

Re-Synch Statuses of All Packages

Resynchronize the version control status of packages as recorded in your Enterprise Architect project when they are out of synchronization with the version control status reported by your version control provider.

The function acts on all version controlled packages within the Enterprise Architect project, updating the values recorded in the project to match the values reported by the version control provider, without performing any XMI import or export.

Resynchronize the version control status of packages

Work Offline

Work independently of the version control server.

By selecting Work Offline before loading your project, you can prevent Enterprise Architect from attempting to connect to a version control server that is unavailable, thereby avoiding the delays of waiting for the server to respond and any associated error messages.

Offline version control


Package Version Control Menu [Enterprise Architect User Guide]

Package Version Control Menu

The Package Control menu, when invoked from a version controlled package, provides access to all of the version control operations that are performed on packages.

Access: Right-click on a version controlled package node | Package Control

Use to:

  • Open the dialog for working with baselines
  • Apply version control to a single package or a selected hierarchy of packages
  • Check-in and check-out single packages or a selected hierarchy of packages
  • Update packages to the latest revision from the version control repository
  • Inspect the revision history or properties of the XMI file associated with a package
  • Revert a package to a previous revision
  • Compare the current model content of a package, against the latest revision of the package in version control
  • Import and export hierarchies of packages (model branches) to and from the model, through the version control system
  • Synchronize the status of a package, with the version control system

Reference:

Action

Usage

Shortcut

See also

Configure

Display the Package Control Options dialog for the currently selected package

Use to apply or remove version control for a package (specify version control settings) or to specify a file for use in XMI package control

Ctrl + Alt + P

Package Control Options Dialog

Manage Baselines

Create a Baseline of the current package, or compare the current package with a previous Baseline

Ctrl + Alt + B

Create a Baseline

Check In Branch

Check-in packages contained in the currently selected model branch

For the selected branch of the model, (that is, the selected package and all of its child packages) display the Select Packages to Check In dialog, listing all version controlled packages within that branch that are checked out to you; you can then select packages in the displayed list, to be submitted for check-in

You can also choose to keep the packages checked-out after committing a new revision to version control

Check In a Model Branch

Check Out Branch

Recursively check out all packages contained within the currently selected model branch, that are version controlled and checked-in (that is, the selected package and all of its child packages)

Check Out a Model Branch

Check In

Commit a new revision of the currently selected package to the version control repository and lock the package against further editing

Only available for packages that are checked-out by the current user

Check In a Package

Check Out

Synchronize the currently selected package with the latest revision from the version control repository and unlock the package to allow editing

Only available for packages that are not already checked-out (and whose associated package file is not checked-out)

Check Out a Package

Undo Check Out

Restore the selected package to the latest revision in the version control repository and lock the package against further editing

Undo Check Out of a Package

Put Latest

Commit a new revision of the currently selected package to the version control system, while keeping the package checked-out

This is equivalent to checking a package in and immediately checking it back out again

Only available for packages that are checked-out by the current user

Get Latest

Synchronize the currently selected package with the latest revision from the version control repository

Available only for packages that are checked in

Update Selected Package

Get All Latest

Update all of the version controlled packages in the project, to the latest revision retrieved from version control

Only updates packages that are currently checked in

Once the latest revisions are retrieved, Enterprise Architect scans all the controlled packages and fixes any missing cross-references by comparing the package with its XMI 1.1 file

If the cross-reference information in the XMI does not match the model, Enterprise Architect updates the model with the information from the XMI and records this update in the Output window

You can roll back such updates by selecting the entry in the Output Window and using the context menu option Rollback Update (or Rollback Selected Updates if multiple entries are selected)

  • Closing the model clears the entries in the Output window
  • An entry in the Output window is also cleared as and when you roll-back the update for it

Update All Packages

Output Windows

Scan XMI and Reconcile Model

Scan the package XMI files associated with each of the project's controlled packages and restore any diagram objects or cross-references that are detected as missing from the project

This function is useful in team environments where each user maintains their own private copy of the model database (i.e. multiple private EAP files) and model updates are propagated through the use of controlled packages; it provides no benefit when the model is hosted in a single shared database that is accessed by all team members

Each controlled package is compared with its associated XMI file and, if the cross-reference information in the model does not match the XMI, Enterprise Architect updates the model with the information from the XMI and records the update in the Output window

You can roll back such updates by right-clicking on the entry in the Output window and selecting the context menu option Rollback Update (or Rollback Selected Updates if multiple entries are selected)

Closing the model clears the entries in the Output window; an entry in the Output window is also cleared as and when you roll-back the update for it

This functionality is invoked automatically as part of the Get All Latest operation

When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke Scan XMI and Reconcile Model from time to time, following the re-importation of controlled packages - for example, after using Get Latest to update a number of packages - or after performing a number of package check-outs

  • As a general rule, avoid running Scan XMI and Reconcile Model while you have uncommitted changes in your model
  • Generally, you should:
  • Check-out a number of packages
  • Invoke Scan XMI and Reconcile Model
  • Make your modifications
  • Commit any outstanding changes before you check-out more packages and run Scan XMI and Reconcile Model again

Version Control Best Practices white paper
http://sparxsystems.com/WhitePapers/Version_Control.pdf

File Properties

Display version control properties pertaining to the XMI export file associated with the currently selected package; this also identifies who has checked out the package

File History

Display change history information for the currently selected package

Revert to or check-out a prior revision of the package

Review Package History

Compare with controlled version

Compare the currently selected package with the latest revision of its associated XMI file retrieved from version control

Add Branch to Version Control

Apply version control to all packages within a selected model branch, in a single operation

In this context, a model branch is a package that is currently selected in the Project Browser, and all of the packages contained within it

Apply Version Control to Model Branches

Export as Model Branch

Export a newly created model branch from your own private copy of a model

Exporting VC branches

Import a Model Branch

Retrieve a model branch and import it into either the source model or another model

Importing VC branches

Get Package

Access packages in the version control repository that are not currently available in your model

Including Other User's Packages

Re-synch Status With VC Provider

Update the version control status value recorded for the selected package in the Enterprise Architect project to match the value reported by the version control provider, without performing an XMI import or export

Use this function when the package's version control status recorded in your Enterprise Architect project is out of synchrony with the version control status reported by your version control provider

Match the value reported by the version control provider

Version Control Settings

Display the Version Control Settings dialog

Version Control Settings dialog

Update Package Status

Provide a bulk update on the status of a package, including status options such as Proposed, Validate and Mandatory

This command is not specific to version controlled packages

Notes:

  • If the selected package is not under version control, this menu displays a number of different options

Learn More:

  • Controlled Package Menu


Configure Controlled Package [Enterprise Architect User Guide]

Configure Controlled Package

To put a package under version control, you must mark the package as a controlled package, specify the version control configuration to control it and associate an XMI file with the package. Enterprise Architect can then export and import the package data to and from the file as required and issue commands to the version control system as appropriate.

Use to:

  • Apply version control to a single package

How to:

Step

Action

See also

1

In the Project Browser, right-click on the package to be placed under version control and choose Package Control | Configure...

The Package Control Options dialog displays.

2

Click on the Control Package checkbox to insert a check mark, indicating that this package is to be controlled.

3

Click on the Version Control drop-down arrow and select the Version Control Configuration to be used to control this packages.

The XMI Filename field then displays a default filename for the package export file, based on the package name.

4

Optionally, modify the default XMI Filename.

Choose either;

  • type a new name into the filename field
  • click on the browse button ( ... ) to open a file chooser dialog.

The target file must be located within the working copy folder of the selected Version Control Configuration, or one of its sub-folders.

5

Optionally, update the Version ID for this package.

The Version ID field defaults to 1.0; if necessary, change this to the appropriate reference.

6

Optionally, update the Owner field.

The Owner field defaults to your user name; if necessary, type or select the name of the user who owns the package.

7

Click on the OK button.

The Add Package to Version Control dialog displays.

8

Optionally, clear the Keep checked out checkbox.

After applying version control, the package is either checked-out for editing, or checked-in and locked against editing, in accordance with this setting.

9

Click on the OK button.

The Add Comment dialog displays.

10

Optionally, add any further comments to the default comment.

Enterprise Architect provides a default comment that includes the current date & time.

11

Click on the OK button.

The current package is exported to the nominated XMI file, which is then committed to version control. The package icon in the Project Browser is updated to reflect the package's version control status.

Project Browser Indicators

Notes:

  • If you are using the Corporate or extended editions of Enterprise Architect with security enabled, then this feature is only available to users who have been granted permission to configure and use version control

Learn More:

  • List of Available Permissions


Check In a Model Branch [Enterprise Architect User Guide]

Check In a Model Branch

The Check In a Model Branch command enables you to check-in all packages involved in a particular unit of work, as a single operation. You can even commit new revisions of the affected packages as you complete milestones, while still keeping the packages checked-out for further editing.

Use to:

  • Check in a selection of packages from within the currently selected model branch

How to:

Step

Action

See also

1

Right-click on the package icon at the root of the model branch that is to be checked in and select Package Control | Check In Branch.

The Select Packages to Check-in dialog displays, listing all version controlled and checked-out packages within that model branch.

Check In Package

Check Out Model Branch

2

Select the packages to be checked-in. (By default, the entire list is selected.)

Optionally;

  • Click an individual package to select just that package
  • Ctrl + click to add or remove an individual package from the selection
  • Shift + click to select a range of packages
  • Click on All to select all listed packages
  • Click on None to clear the selection

3

Optionally, tick the checkbox Keep packages checked-out after committing new revision.

Use this option to commit into version control, a new revision of all selected packages, while keeping all packages checked out for further editing.

4

Click on the OK button.

The Add Comment dialog displays. A default comment is provided that contains the current date and time.

5

Optionally, modify the default check-in comment.

This comment is applied to all packages that are checked in.

6

Click on the OK button.

The selected packages are exported and checked-in. The package icons are updated to reflect any change in version control status. If you opted to keep packages checked out, there is no change in status.


Check Out a Model Branch [Enterprise Architect User Guide]

Check Out a Model Branch

The Check Out a Model Branch command allows you to check-out all packages within a selected model branch, as a single operation.

Use to:

  • Check out an entire sub-tree of model packages

How to:

Step

Action

See also

1

Right-click on the package icon at the root of the model branch that is to be checked out and select Package Control | Check Out Branch.

The selected package and all of its contained sub-packages are recursively checked out.

Any packages that cannot be checked-out are listed in a message box, with a brief description of the problem. For example: The package is already checked out by user 'Fred'.

Check Out Package

Check in Model Branch

2

When Project Security is enabled in Lock to Edit mode, Enterprise Architect prompts you to apply a User Lock throughout the selected model branch before proceeding.

Notes:

  • Any packages that cannot be checked-out are listed in a message box, with a brief description of the problem. For example: The package is already checked out by user 'Fred'


Check In a Package [Enterprise Architect User Guide]

Check In a Package

The Check In command allows you to check-in the package currently selected in the Project Browser.

Use to:

  • Check in a single package

How to:

Step

Action

See also

1

In the Project Browser, right-click on the package that is to be checked in and select Package Control | Check In.

The package is exported and the Add Comment dialog displays. A default comment is provided that contains the current date and time.

Check In Model Branch

Check Out Package

2

Optionally, modify the default check-in comment.

3

Click OK.

The package file is checked-in to version control and the package icon is updated to reflect the change in version control status.


Check Out a Package [Enterprise Architect User Guide]

Check Out a Package

To work on a version controlled package you must have the package checked out. When a package is checked out to a specific user, no other user can check out the package to make changes to it until it has been checked in again.

The Check Out command allows you to check-out the package currently selected in the Project Browser.

Use to:

  • Check out a single package

How to:

Step

Action

See also

1

In the Project Browser, right-click on the package that is to be checked out and select Package Control | Check Out.

The local XMI file associated with the package is checked-out from version control.

Check Out Model Branch

Check In Package

2

When working in a Private Model, if Enterprise Architect determines that the package content in the model is already up to date with the latest revision of the package file retrieved from version control, then the Import Package dialog displays. This dialog is not displayed for Shared Models.

The following options are offered;

  • Force reload From XMI
  • Accept current package

Choose Accept current package to skip the process of re-importing the package from XMI.

The option Refresh model view allows you to specify whether or not to refresh the Project Browser and diagrams, by reloading the package content from the project database.

The Import Package dialog also has an option Always use these settings. When selected, if you subsequently check out a package that is found to be up to date, the same settings are applied again without displaying the dialog.

  • To display the dialog if, for example, you want to change the settings, press a Ctrl key while you select the Package Control | Check Out menu option.

3

The package file is imported into your model.

The package icon is updated to reflect the change in the package's version control status.

Notes:

  • If you check out a version controlled package whilst offline, the package icon has a red figure 8 in front of it

Learn More:

  • Offline Version Control


Undo Check Out of a Package [Enterprise Architect User Guide]

Undo Check Out of a Package

The Undo Check Out command allows you to undo the check-out of a package, discarding any modifications that have been made by restoring the package content to the latest revision held in version control. The package returns to a Checked-in state and subsequently can be checked out by any user.

Use to:

  • Undo the Check out of the selected package, restoring the package content to the latest revision held in version control

How to:

Step | Action | See also
1 | In the Project Browser, right-click on the package and select Package Control | Undo Check Out. A confirmation dialog is displayed. |
2 | Click OK. The latest revision of the package is retrieved from version control and re-imported into your model. The package icon is updated to reflect the change in the package's version control status. |


Update to the Latest Revision of Selected Package [Enterprise Architect User Guide]

Update to the Latest Revision of Selected Package

When you are part of a team working in a Distributed Model environment, from time to time, you will want to update your model with the changes that other team members have committed into version control. The Get Latest command allows you to bring in updates made by other users, for the package currently selected in the Project Browser.

Use to:

  • Update a single package to the latest revision retrieved from version control

How to:

Step

Action

See also

1

In the Project Browser, right-click on the package that is to be updated and select Package Control | Get Latest.

The local XMI file associated with the package is updated to the latest revision from version control. The XMI file is imported into your model database, updating the package in your model.

Update All Packages

2

When working in a Private Model, if Enterprise Architect determines that the package content in the model is already up to date with the latest revision of the package file retrieved from version control, then the Import Package dialog displays. This dialog is not displayed for Shared Models.

The following options are offered;

  • Force reload From XMI
  • Accept current package

Choose Accept current package to skip the process of re-importing the package from XMI.

The option Refresh model view allows you to specify whether or not to refresh the Project Browser and diagrams, by reloading the package content from the project database.

The Import Package dialog also has an option Always use these settings. When selected, if you subsequently check out a package that is found to be up to date, the same settings are applied again without displaying the dialog.

  • To display the dialog if, for example, you want to change the settings, press a Ctrl key while you select the Package Control | Get Package menu option.

The package file is imported into your model, in accordance with your selection.

Notes:

  • The Get Latest command is disabled for any package that is checked-out (to anybody) in the currently loaded project.
  • When using a Shared Model environment, where all users are connected to a single model database, you should reload the package from the database, rather than using the Get Latest command.


Update to the Latest Revision of All Packages [Enterprise Architect User Guide]

Update to the Latest Revision of All Packages

When you are part of a team working in a Distributed Model environment, from time to time, you will want to update your model with the changes that other team members have committed into version control. The command Get All Latest, allows you to bring in updates made by other users, for all of the version controlled packages in the currently loaded project.

Use to:

  • Update all packages in your project, to the latest revision retrieved from version control

How to:

Step

Action

See also

1

In the Project Browser, right-click on any package and select Package Control | Get All Latest.

All of the local XMI files for all of the version control configurations used in the project, are updated to the latest revision from version control.

Enterprise Architect scans the packages in the model, to determine which ones are up to date and which are not, compared to the latest revisions of the associated package files.

You are then prompted to choose one of the following import options for packages that are up to date;

  • Import changed files only,
  • Always import
  • Prompt for each file.

Update Selected Package

See the note below.

2

Click on the OK button.

The version controlled packages in your project are updated as appropriate.

Notes:

  • There is no need to re-import packages that are already up to date. Re-importing packages involves first deleting them from the project, before re-importing them from the XMI file. This is quite time consuming as well as quite unnecessary. We strongly recommend using the default option "Import changed files only".
  • The Get All Latest command will not update any package that is checked-out (to anybody) in the currently loaded project. Otherwise, any changes not yet committed to version control would be discarded.
  • When using a Shared Model environment, where all users are connected to a single model database, there is no need to use the Get All Latest command. The information in the model database is always ahead of what is committed into version control. You should from time to time refresh your view of the model database, by reloading diagrams or reloading package content in the Project Browser.


Include Other Users' Packages [Enterprise Architect User Guide]

Include Other Users' Packages

You can retrieve packages from version control that have been created by other users, or by you in another model, and import them into your current model.

Other users might be creating packages to use in your model. If you are not sharing a SQL database or .eap file, those packages do not automatically become part of your model. If the packages have been placed into version control, you can retrieve them and import them into your model as children of an existing package, using the Get Package command.

Use to:

  • Retrieve and import packages from version control, into the current project

How to:

Step

Action

See also

1

In the Project Browser, right-click on the package to use as the parent of the incoming package

2

Select the Package Control | Get Package context menu option.

The Get Shared File dialog displays.

3

Click on the drop-down arrow of the Version Control Configuration field, and select the version control configuration associated with the package to retrieve.

The file list is populated with the names of files available through that configuration, for retrieval and import into your model.

4

Select the package file to import into your model and click on the OK button.

The selected package file is imported as a new child package, under the parent package selected in step 1.

Notes:

  • You must have access to the package files through the version control system and you must define a Version Control Configuration through which to access those files
  • The version control configuration must use the same unique ID that was originally used to add the package to version control
  • XMI package files associated with packages that are already part of your project, are NOT included in the list of files available for import


Apply Version Control To Branches [Enterprise Architect User Guide]

Apply Version Control To Branches

Enterprise Architect enables you to apply version control to all packages within a selected model branch, in a single operation. In this context, a model branch is a package that is currently selected in the Project Browser, and all of the packages contained within it.

Use to:

  • Apply version control to all packages within a selected model branch

How to:

Step | Action | See also
1 | Right-click on the required package and select the Add Branch to Version Control context menu option. The Apply VC to Branch dialog displays. |
2 | Click on the drop-down arrow in the Version Control Configuration field and select the configuration to use. |
3 | Optionally, tick the checkbox Export as Model Branch. Once the version control operation is complete Enterprise Architect creates a Model Branch file (.EAB file) for this branch. | Export Model Branch Import Model Branch
4 | Click on the OK button. Enterprise Architect creates a number of sub-folders within the version control working copy folder, then exports all of the packages within the selected model branch. Enterprise Architect generates filenames for the XMI files, based on the package GUIDs. |

Notes:

  • The Version Control Configuration to be used in this operation must be defined within the model before selecting this command
  • When invoked on the model root node, this command applies version control to every package within the model


Export Controlled Model Branch [Enterprise Architect User Guide]

Export Controlled Model Branch

Model branch files can simplify the process of exporting and importing a package hierarchies from one model to another.

You might want to export a newly created model branch from your own private copy of a model so that, for example:

  • Another user can import that branch into their own private copy of the same model
  • It can be imported for inclusion as a common branch in a number of different models

Applying version control to an Enterprise Architect model can result in many XMI files placed under version control. It could then be hard to locate and import the file corresponding to the root of a particular model branch. Enterprise Architect's Model Branch Files (.EAB files) overcome this problem by simplifying the retrieval of model hierarchies for use in other models.

Use to:

  • Create a Model Branch File to represent a package hierarchy that is stored in version control

How to:

Step | Action | See also
1 | Select the version controlled package to export as a model branch. |
2 | Right-click on the package and choose Package Control | Export as Model Branch. The Export as Model Branch dialog displays. | Import Model Branch
3 | In the EAB Filename field, type a name for your Model Branch File. Alternatively, click on ( ... ) and browse for the file location. Note that the package name is supplied as a default. |
4 | Click OK. A branch file is created to represent the selected package. The branch file is committed to version control using the same Version Control Configuration that controls the package selected in step 1. |

Notes:

  • You can specify any file name, including sub-folder names, as long as the file is contained in or below the working folder of your version control configuration
  • The facility is only enabled for packages that are already under version control


Import Controlled Model Branch [Enterprise Architect User Guide]

Import Controlled Model Branch

Applying version control to an Enterprise Architect model can result in many XMI files placed under version control. It could then be hard to locate and import the file corresponding to the root of a particular model branch. Enterprise Architect's Model Branch files overcome this problem by simplifying the retrieval of package hierarchies for use in other models.

The Import a Model Branch command uses Enterprise Architect's Model Branch Files, of which there are few, to retrieve information about the root package file and import the model branch. The Model Branch File records information such as the name and type of the version control configuration for the selected package, and the relative filename of the version controlled XMI file associated with the package.

Use to:

  • Retrieve a model branch created by another user in a private copy of a model, to import it into your own private copy of the same model
  • Retrieve a model branch that is common in many models, for inclusion in a new model

How to:

Step

Action

See also

1

Ensure that you have an operational version control environment that can be accessed by Enterprise Architect and that you have downloaded all of the version controlled package files and the model branch file associated with the model branch to import, into a valid and accessible working copy folder.

Version Control Product Setup

2

Select the package into which the model branch is to be imported.

3

Right-click on the package and choose Package Control | Import a Model Branch.

The Import VC Model Branch dialog displays.

4

Choose one of either;

  • Use the lower portion of the Import VC Model Branch dialog to select a model branch file.

(This is the simpler option if the associated version control configuration has already been saved in the current model. Continue with step 5.)

  • Click on the Find a Model Branch (.EAB) file button.

(This option is useful when you have not yet defined the version control configuration that is associated with the model branch to be imported.)

If choosing this option, please refer to "Manually Locating Model Branch Files".

Manually Locating Model Branch Files

5

Click the drop-down arrow in the Select a Version Control Configuration field and select the configuration

A list of EAB files controlled by that configuration is displayed.

6

Select the Model Branch File from the Select a Model Branch (.EAB) file list.

7

Click OK.

Enterprise Architect imports the root package specified in the Model Branch File and recursively imports and populates all the sub-packages contained in the root package.

Notes:

  • The Import a Model Branch command is only enabled for packages that you (the current user) are able to edit, as the imported model branch is inserted into the model under the selected package

Learn More:

  • Export a Model Branch


Manually Locating Model Branch Files [Enterprise Architect User Guide]

Manually Locating Model Branch Files

When importing a Model Branch File from version control, sometimes you do not yet have the associated version control configuration saved in the model that is receiving the import. In this situation, it is simpler to manually locate the Model Branch File and let Enterprise Architect derive the details of the configuration from the branch file you select.

Use To:

  • Browse the file system to locate the Model Branch File (.EAB) to import.
  • Let Enterprise Architect determine the details of the required version control configuration, based on information contained in the Model Branch File

Access: Right Click on a package | Package Control | Import a Model Branch > Find a Model Branch (.EAB) file

How to:

Step

Action

See also

1

Ensure that you have an operational version control environment that can be accessed by Enterprise Architect and that you have downloaded all of the version controlled package files and the model branch file associated with the model branch to import, into a valid and accessible working copy folder.

Version Control Product Setup

2

Choose the package in the Project Browser, into which the model branch is to be imported.

3

Right-click on the package and choose Package Control | Import a Model Branch.

The Import VC Model Branch dialog displays.

4

Click on the button Find a Model Branch (.EAB) file.

A file selection dialog is displayed.

Import Controlled Model Branch

5

Browse for and select the Model Branch File that represents the model branch to import.

6

Click Open.

If the version control configuration referenced by the file is fully defined within the current model, the import commences at this point.

Otherwise, Enterprise Architect displays a dialog prompting you to complete the required configuration.

7

Click Yes to proceed with completing the definition of the version control configuration.

The Version Control Settings dialog is displayed.

Version Control Settings dialog

8

Complete the definition of the configuration.

(Typically this involves simply specifying the working copy folder.)

9

Click Save.

The configuration details are saved.

The import of the model branch proceeds.

Notes:

  • The Import a Model Branch command is only enabled for packages that you (the current user) are able to edit, as the imported model branch is inserted into the model under the selected package
  • It is not necessary to have the relevant Version Control Configuration set up within Enterprise Architect before issuing this command - Enterprise Architect prompts you to complete specification of the configuration if necessary

Learn More:

  • Export a Model Branch


Review Package History [Enterprise Architect User Guide]

Review Package History

The File History command allows you to review the change history of version controlled packages.

It also enables you to check out a prior revision of the package for editing, effectively allowing you to roll-back to a prior revision of the package.

Use to:

  • Review the change history of version controlled packages
  • Revert to a previous revision of a version controlled package

How to:

Step

Action

See also

1

In the Project Browser, select the package for which to view change history.

2

Right-click on the package and choose Package Control | File History.

For version control environments using Subversion, CVS or TFS command line clients, Enterprise Architect's File Version History dialog displays.

For version control environments using SCC based clients, your particular product opens its own File Version History dialog

Review Package History - SCC Client.

3

Click on a revision number In the Revisions field, to select that revision and view its log entry.

4

Optionally, click on either;

  • Check Out
  • Retrieve

If you click on Check Out, the selected revision of the package file is retrieved from version control and imported into your model as a package that is checked out for editing. You can subsequently check in this revision as a new HEAD revision - effectively allowing you to revert a package to a prior revision.

If you click on Retrieve, the selected revision of the package file is retrieved from version control and imported into your model, but the package remains flagged as checked-in, so it cannot be modified. Subsequently checking out the package updates the package to the latest revision before it is unlocked for editing.

Notes:

  • If the selected package was already checked out in the current model, the Retrieve and Check Out buttons are disabled
  • If you check out a prior revision of a package, but do not want to commit it as a new revision, right-click on the package and select Package Control | Undo Check Out


Review Package History - SCC Client [Enterprise Architect User Guide]

Review Package History - SCC Client

The File History command allows you to review the change history of version controlled packages. It also enables you to check out a prior revision of the package for editing, effectively allowing your to roll-back to a prior revision of the package.

The process for reviewing the package history of packages configured for version control with an SCC client (which includes products such as Visual Source Safe, TFS-SCC, ClearCase, Perforce, AccuRev, MKS Source Integrity and Serena Dimensions) differs from that for Subversion, CVS or TFS command line clients.

Use to:

  • Review the change history of version controlled packages
  • Revert to a previous revision of a version controlled package

How to:

Step

Action

See also

1

In the Project Browser, select the package for which to view change history.

2

Right-click on the package and choose Package Control | File History.

The change history mechanism offered by the third party SCC provider displays.

3

To import a prior revision of the package into your model, use the SCC History dialog to retrieve the revision, then close the dialog.

The SCC client notifies Enterprise Architect that a different revision has been retrieved. Enterprise Architect then displays a prompt, asking whether to check-out the prior revision.

Example - Retrieve Prior Revision From SCC

4

Optionally, click on either;

  • Yes, to check out the prior revision
  • No, to import the prior revision as read-only

If you click on Yes, the selected revision of the package file is retrieved from version control and imported into your model as a package that is checked out for editing. You can subsequently check in this revision as a new HEAD revision - effectively allowing you to revert a package to a prior revision.

If you click on No, the selected revision of the package file is retrieved from version control and imported into your model, but the package remains flagged as checked-in, so it cannot be modified. Subsequently checking out the package updates the package to the latest revision before it is unlocked for editing.

Notes:

  • If the selected package was already checked out in the current model, Enterprise Architect does not proceed with retrieving a prior revision
  • If you check out a prior revision of a package, but do not want to commit it as a new revision, right-click on the package and select Package Control | Undo Check Out


Retrieve Prior Revision - SCC Client [Enterprise Architect User Guide]

Retrieve Prior Revision - SCC Client

Depending on your version control product, retrieving the prior revision can involve a number of prompts regarding overwriting the current local copy.

The following example details retrieval of a prior revision from a TFS-SCC version control configuration.

How to:

Step

Action

See also

1

Display the TFS File History dialog.

Package History - SCC

2

Click on the Get button.

The TFS-SCC client displays the Resolve Conflicts dialog.

This dialog offers an option to Automerge All XML package files. DO NOT select this option.

It is important to prevent any merging of Enterprise Architect's XML package files!

3

Click on the Resolve button.

The TFS-SCC client displays the Resolve writable file conflict dialog.

4

Select the Overwrite local file/folder option.

The existing working copy of the package file is overwritten by the prior revision retrieved from version control.

5

Click the OK button.

The TFS-SCC client redisplays the Resolve writable file conflict dialog; it should now show no conflicts.

6

Click on the Close button.

The TFS-SCC client redisplays the file History dialog.

7

Click on the Close button.

Enterprise Architect displays a prompt, asking whether to check-out the prior revision.

8

Click on the:

  • Yes button to check-out the prior revision
  • No button to retrieve a read-only version of the package, that is NOT checked-out and is NOT editable.


Validate Package Configurations [Enterprise Architect User Guide]

Validate Package Configurations

You can test the validity of the version control settings associated with each version controlled package within your current model.

Access: Project | Version Control | Validate Package Configurations

How To:

Step | Action | See also
1 | From the main menu choose Project | Version Control | Validate Package Configurations. The validation process scans the model database and verifies that the version control configuration associated with each version controlled package is fully specified in the current model. It also queries the corresponding version control provider to find the status of the package file associated with each version controlled package. The results of the validation process are sent to the Enterprise Architect Output window. |
2 | Open the Version Control Settings dialog to complete the definition of any invalid or missing version control configurations. | Version Control Setup
3 | Click on an error message in the Output window to highlight the corresponding package in the Project Browser. |
4 | Right-click a package node and choose Package Control | Configure Package to open the Package Control Options dialog. Correct any problems with the version control details for the package. Correct any problems with the package's associated XMI file. | Configure Controlled Package


Resynchronize the Status of Version Controlled Packages [Enterprise Architect User Guide]

Resynchronize the Status of Version Controlled Packages

Enterprise Architect enables you to re-synchronize the version control status of version controlled packages within your project with the status reported by your version control provider. This can be useful if you are creating copies of your Enterprise Architect project, where checking in a package from one copy of the model leaves the package in the second copy of the model with an out of date version control status.

For a given package, the re-synchronization process queries the corresponding version control provider to find the status of the package file associated with the version-controlled package. If necessary, the process then updates the package flags within the model database, to synchronize the package status recorded in the model with the value reported by the version control provider.

Use to:

  • Update the version control status of packages in your model, to align it with the status reported by their associated Version Control Configuration

How to:

Step

Action

See also

1

You can resynchronize either a single version controlled package or all version controlled packages within your project:

Choose either;

  • Right-click the package in the Project Browser and select Package Control | Re-synch Status With VC Provider
  • Project | Version Control | Re-synch Statuses of All Packages

The results of the re-synchronization process are sent to the Enterprise Architect Output window.

2

Double-click on any result message to select, in the Project Browser, the corresponding package.

Notes:

  • This process does not cause any package data to be either exported from your model to the associated package file, or imported from a package file into your model's package data
  • If a package has been checked-out and modified with Enterprise Architect, but your version control provider reports the package file as checked-in, running this process marks the package within Enterprise Architect as being checked-in, without exporting and committing the pending changes. Subsequently checking-out the package imports the latest revision of the package file from version control, effectively discarding the uncommitted modifications from the model
  • Similarly, if a package file is checked-out to you in your local working copy folder, but not in the Enterprise Architect model, running this process marks the package within the model as checked-out, but it does not import the associated package file from the version control system. Consequently, it is possible to check-in a package from Enterprise Architect that is potentially out of date, compared to the latest revision of the package file within the version control system


Tracking Changes [Enterprise Architect User Guide]

Tracking Changes

Enterprise Architect provides two separate but complementary facilities for tracking changes to data across the project.

Topics:

Topic

Detail

See also

Auditing of model changes

Auditing is a project-level feature, available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions, that enables you to record model changes in Enterprise Architect

By enabling this feature, model administrators can view a range of information regarding changes, such as:

  • Who changed an element
  • How many elements they changed
  • When they changed the data
  • What the previous values were, and
  • What type of elements they changed

Auditing

Baselining and differencing to capture and roll back changes

The Enterprise Architect Corporate, Business and Software Engineering, System Engineering and Ultimate editions provide a facility to 'baseline' or snapshot a model branch in XMI format at a particular point in time, and store it within the model in compressed format

More than one baseline can be stored against a single Enterprise Architect package; using baselines, you can compare packages at the current and earlier stages of development, using the Compare (Diff) utility

The Compare utility is available in the Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect; it enables you to compare the current model with:

  • A Baseline
  • An exported Enterprise Architect XMI file on disk
  • A version-controlled Enterprise Architect XMI file on disk

Package Baselines

The Compare Utility (Diff)


Auditing [Enterprise Architect User Guide]

Auditing

Auditing is a project-level feature that enables model administrators to record model changes in Enterprise Architect.

Guide:

Topic

Detail

See also

Overview

By enabling Auditing, you can view information on changes such as:

  • Who changed an element
  • How many elements they changed
  • When they changed the data
  • What the previous values were, and
  • What type of elements they changed

Auditing does not record changes to:

  • RTF Templates
  • Model Documents
  • Baselines
  • Profiles

Quickstart

You can quickly enable auditing and see it in action

Auditing Quickstart

Settings

Once auditing is enabled within a project, you have a variety of options available for customizing what is recorded by the audit

Audit Settings

The Audit View

To view what has been recorded by the audit, use the Audit View, which provides an interface to everything recorded by auditing

If security is enabled, you must have Audit View permission to display data in the Audit View

Audit View

List of Available Permissions

Model Views

You can also obtain a snapshot of selected items in the model, using the Model View facility

In the Corporate, Business and Software Engineering, Systems Engineering or Ultimate editions of Enterprise Architect, this facility enables you to automatically generate a snapshot at intervals and, if there are changes in the items collected by the defined search, to trigger a notification to you of such changes

This enables you to monitor work flow and other events of concern to you

Model View

Monitor Events

RTF Report

You can generate an RTF report that includes the audit history information for the selected element or package, by choosing the basic + audit RTF template

RTF Dialog Options

Audit History

Using Auditing, you can track changes to an element or connector over time

However, enabling Auditing also enables an Audit History tab in the System Output window, which summarizes all changes made to the selected element or connector

Audit History Tab

Performance Issues

By enabling auditing on a project, you increase the time taken for most actions

For most modeling tasks, this increase is insignificant, however, there are some instances where the difference is more substantial

Performance Issues

Notes:

  • The Auditing facility is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • Warning - If your site runs separate editions of Enterprise Architect, when Auditing is turned on in a project any Desktop or Professional edition users are locked out of the project; to restore access, turn Auditing off in the project from the Corporate, Business and Software Engineering, Systems Engineering or Ultimate edition instance of Enterprise Architect


Auditing Quickstart [Enterprise Architect User Guide]

Auditing Quickstart

You can quickly enable auditing and see it in action.

Access: Project | Audit View: Audit Settings button

How to:

Step

Action

See also

1

Select the Audit View menu option to open the Audit View

The Audit View

2

Click on the Audit Settings button

The Audit Settings dialog displays

Auditing Settings

3

Select the Enable Auditing checkbox

4

Click on the OK button to close the Audit Settings dialog

5

Close the Audit View dialog

6

Change and save your project; for example:

  • Add a new package
  • Add a new Class
  • Add a new connector
  • Change the name of an element
  • Delete an element

7

Open the Audit View again and click on the Refresh (or Load) button to display a record of the changes you made


Auditing Settings [Enterprise Architect User Guide]

Auditing Settings

The Audit Settings dialog enables you to change what is recorded by the Auditing facility.

Access: Project | Audit View: Audit Settings

Use to:

  • Define the areas of processing in Enterprise Architect to audit
  • Administer your audit records
  • Indicate the kind of model objects for which changes are to be recorded
  • Configure auditing to record changes to only certain types of elements

Reference:

Action

Usage

See also

Enable Auditing

Turn the Auditing facility on

Audit XMI Import

Include XMI importing in the audit

As version control uses XMI, this option must be selected to record changes from checking out packages

Version Control

Audit XMI Export

Include XMI exporting in the audit

As version control uses XMI, this option must be selected to record changes from checking out packages

Version Control

Audit Reverse Engineering

Include reverse engineering in the audit

Use Database Timestamp

Use the database server's timestamp instead of each user's local timestamp; this improves security

Not available for .eap project files

Save Logs

Save a copy of the logged audit items currently held in the project; these items remain in the project - use Clear Logs to remove them

Enterprise Architect prompts you to specify whether to save items covering a specific period of time

  • Click on the No button to save all log items currently held in the database
  • Click on the Yes button to display the Time Filter dialog, on which you select a standard time period or define your own

This function can be accessed through the Automation Interface

Audit View Controls

Repository

Clear Logs

Permanently delete all log data from the current project; use the Save Logs button first, to save the audit records outside the project

Enterprise Architect prompts you to specify whether to clear items covering a specific period of time

  • Click on the No button to clear all log items currently held in the database
  • Click on the Yes button to display the Time Filter dialog, on which you select a standard time period or define your own

This function can be accessed through the Automation Interface

Audit View Controls

Repository

Load Logs

Load a previously saved set of logs back into the project; if the same record exists in both project and file, it is not reloaded

This function can be accessed through the Automation Interface

Repository

Core

Record changes to elements (including attributes and operations), packages, connectors and some model-level information

Standard

Record the same changes as the Core option, plus changes to diagrams

Extended

Record the same changes as the Standard option, plus changes to security

Maintenance

Audit maintenance elements only; that is:

  • Package
  • Requirement
  • Feature
  • Use Case
  • Actor
  • Note
  • Issue
  • Change

Core Structural

Audit maintenance elements plus some structural elements; that is:

  • Package
  • Class
  • Interface
  • Signal
  • Node
  • Component
  • Artifact
  • Part
  • Port
  • Device

All

Audit all elements

Custom

Audit element types that you specify

The Customize button is made available; click on this button to display a list of element types, and select the checkbox against each element type to include in the audit (or click on the Select All button to select every element type)

Click on the OK button to save the selection

Notes:

  • As the number of records increases, the performance of the Audit View reduces; it is recommended that audit records that are not regularly required are saved to file, then cleared from the project, to help ensure high performance
  • Connectors are audited when they are connected to an element that is included in the Audit Options
  • If security is enabled, you must have Audit View permission to turn Auditing on, and Audit Settings permission to change Audit settings


The Audit View [Enterprise Architect User Guide]

The Audit View

The Audit View provides an interface to the information that has been recorded by auditing.

Access: Project | Audit View

Guide:

The Audit View is divided into three main areas:

Action

Usage

See also

View controls

The view controls provide a variety of settings for controlling auditing and the display of audit records

Audit View Controls

Audit tree

The audit tree displays the log items that have been recorded by auditing

What is displayed in the tree is affected by the view controls, such as:

  • Sorting
  • Filter (by time)
  • Mode
  • Auditing settings (what was actually recorded)

If synchronizing with the Project Browser, it is also affected by the package, diagram or element you have selected

In the audit tree:

  • The green tick indicates a creation
  • The yellow pencil indicates an edit
  • The red cross indicates a deletion

Right-clicking an element in the audit tree (such as MyClass) displays a context menu that enables you to locate the selected element in:

  • The Project Browser
  • Any diagrams in which it exists

Audit View Controls

Auditing settings

The Project Browser

Record display

The record display is in two parts: the identity of the selected change, and the actual change made

The data in the record display is determined by the view controls and mode and, if synchronizing with the Project Browser, by the package, diagram or element you have selected

Identity:

The identity of a change consists of:

  • The Windows username of the user that made the change; if security is enabled, the name is of the format WindowsUsername(SecurityUser)
  • When the change was made
  • The path of the change; for example: Class Class1 - Attribute Att1 - Attribute Constraint Constraint

Changes:

Changes are displayed in a table format, showing the:

  • Property (or data item) name
  • Its original value before the change and
  • Its value after the change

If you double-click on an item in the list of changes (or right-click and select the Show Differences context menu option) the Difference window displays:

This shows the specific changes that have been made, highlighting the edited, created, deleted or formatted characters

Changes to the format of text in the element, made through the element Properties dialog, are not apparent in the initial table; they are visible in the Difference window, identified by HTML formatting tags

Audit View Controls

The Project Browser

Notes:

  • If security is enabled, you must have Audit View permission to display data in the Audit View

Learn More:

  • List of Permissions


Audit View Controls [Enterprise Architect User Guide]

Audit View Controls

The Audit View controls provide a variety of settings for controlling auditing and the display of audit records.

Reference:

Action

Usage

See also

Load or Refresh

Click to reload the Audit Tree, updated with any new audit results

Search

Click to search through log items for a particular area - you can search by Name, Type or GUID

The items are loaded and filtered with the current Sort By, Time Filter and Mode settings

If you refresh the Audit View, you must run the search again

Audit Settings

Click to open the Audit Settings dialog

Audit Settings

Sort-by

Select the appropriate radio button for the required display setting:

  • Type - changes are grouped under element type (such as Class or Requirement), and then grouped under the changed element

  • User - changes are grouped under user name, each with the number of changes for that user

    Under each user name, changes are grouped as for the Type sort

Filter By Date/Time

Select to enable the Filter Settings button, to filter the audit results by time period

Changes that occur outside the selected filter period are not shown in the Audit View

Filter Settings

Click to display the Time Filter dialog, to set the filter time period:

  • Today - to display changes occurring today
  • Previous Hour - to display changes occurring in the last 60 minutes
  • Previous 24 Hours - to display changes occurring in the last 24 hours
  • Previous Week - to display changes occurring in the last 7 days
  • Previous 30 Days - to display changes occurring in the last 30 days
  • Previous Year - to display changes occurring in the last 365 days
  • Custom - to define your own time period, using the From and To fields

The six pre-configured time periods automatically update when you click on the Refresh button; custom periods are static and do not automatically update

If you have set a filter period, and you deselect the Filter By Date/Time checkbox, the period remains set; the custom time period, too, is retained so that you can re-use it or modify it later if required

Status Text

Read to see which:

  • Mode has been selected and
  • Time filter is being applied to the data

Mode

Click to display a menu of options to change the mode of the Audit View; select:

  • Standard - to automatically synchronize with the Project Browser; where changes have been made, the Audit View reflects your selection from the Project Browser - if you click on:
  • An element, the Audit View displays the history for that element
  • A package, the Audit View displays the history for that package and its immediate children (but not the contents of nested packages)
  • A diagram, the Audit View displays the history for that diagram and its contents (which could be drawn from a wide area of the Project Browser)
  • Advanced - to load large sets of log items independent of the Project Browser; in this mode, a special Audit Settings group can be displayed in the Audit Tree, which records:
  • When Auditing has been enabled and disabled
  • Who made the change
  • The date and time of the change
  • Changes to the Audit Settings
  • When Audit Operations are executed
  • Security changes (which can be browsed in the same way as other changes)
  • Deleted - to display only deleted records, but otherwise data is shown as in Advanced mode; records can be sorted by element type or by user as required
  • Raw - to display all audit records in chronological order without sorting, enabling you to see a progression of changes; this can be especially useful in determining date-time inconsistencies

    Any search and filtering you define still apply, enabling you to view all of today’s changes in order, or all changes for a particular element in order, or both

    Additional database information is displayed; this additional information might be insignificant or only in machine-readable format

The Audit View


Audit History Tab [Enterprise Architect User Guide]

Audit History Tab

When Auditing is turned on, an Audit History tab is enabled in the System Output window.

Access: View | System Output > Audit History tab

Guide:

Topic

Detail

See also

Prerequisite

To see this tab, you must have the Audit View open

The tab continues to display if you subsequently close the Audit View

The Audit View

Information Shown

The tab shows a history of changes to whichever element or connector you have selected in the:

  • current diagram
  • Project Browser
  • Audit View, or
  • Package Browser

As you select different elements or connectors, the Audit History tab automatically updates to reflect your current selection

For each change made to the element or connector, the tab shows:

  • Who made the change
  • When the change was made
  • Where the change was made
  • The value of the characteristic before the change
  • The value of the characteristic after the change

Notes:

  • If security is enabled, you must have Audit View permission to display data on the Audit History tab

Learn More:

  • System Output Window
  • List of Permissions


Auditing Performance Issues [Enterprise Architect User Guide]

Auditing Performance Issues

Enabling auditing on a project increases the time taken for most actions.

For most modeling tasks, this increase is insignificant; however, there are some situations where the difference is more substantial.

Topic | Detail | See also
Large Deletions | Deleting large packages or package structures, or large numbers of elements, takes significantly longer with auditing on You might disable auditing before performing such a deletion | Auditing Settings
XMI Imports | Importing XMI takes longer with auditing enabled A project-level option is provided for disabling auditing of XMI Imports | Import From XMI Auditing Settings
Reverse Engineering | Reverse engineering code takes longer with auditing enabled A project-level option is provided for disabling auditing of reverse engineering | Import Source Code Auditing Settings
Replication | You cannot remove replication from a model with Auditing enabled If you have to remove replication, disable Auditing and - if prompted to do so - allow Enterprise Architect to roll back the database version; you can then remove replication | Remove Replication Auditing Settings


Audit View Performance Issues [Enterprise Architect User Guide]

Audit View Performance Issues

Most operations in the Audit View are affected by the volume of use of the database - both by other facilities and by auditing itself.

Some potential problems and their solutions are outlined below:

Topic

Detail

See also

Navigating the Project Browser Within Auditing is Slow

Try setting the time filter to a period in the immediate past, such as Today, Previous 24 Hours or Previous Week; this time period updates each time you open or refresh the Audit View

Save log items outside the project with the Save Logs button; if you then clear the logs you have just saved, the load time of the Audit View is reduced

You can reload logs into the project at any time, using the Load Logs button

Audit View Controls

Auditing Settings

The Audit View is Slow in Loading and Changing Modes

Navigating the Audit Tree is Slow

Close the Audit History tab in the Output window

Audit History Tab


Package Baselines [Enterprise Architect User Guide]

Package Baselines

Enterprise Architect includes tools to help you manage and review changes to your models over time. These tools apply the concepts of Baselines, Differencing and Merges.

You use Baselines, Differencing and Merges essentially to compare two snapshots of a specific part of your project, to capture the differences between them and either roll back or incorporate selected changes or all changes.

Topic

Detail

See also

Baselines

Enterprise Architect provides a facility to create a Baseline or 'snapshot' of the contents of a selected package and its child packages at a particular point in time; this enables you to later compare that branch of the model at that time with the current state of the branch

Baselines are stored in the same XML format as is used for version control, but are stored within the project in compressed format

You can also have parallel copies of parts of your model for team development, and create Baselines within each copy to merge changes into the project master

Baselines

Differencing

Differencing (Diff, or Compare) enables you to explore the differences between:

  • The current state of a specific part of your project, and
  • Previous or parallel versions captured in a Baseline or an XMI 1.1 file on disk

The section includes an example of such a comparison

The Compare Utility (Diff)

Example Comparison

Merges

Once Differencing is complete, you can merge information from the Baseline into the current project; it is not possible to go the other way

You can:

  • Merge information manually, change by change
  • Merge information automatically by electing to merge in all changes in one batch procedure
  • Revert completely to the original Baseline by importing the stored XMI directly
  • Merge information and elements from a Baseline in a different project, making it possible to keep multiple versions of a single model in synch

The merge options are available through the toolbar, context menus and the keyboard on the Compare Utility tab, which shows the results of a comparison

Compare Utility Tab Options

Notes:

  • Package Baseline facilities are available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect
  • The Enterprise Architect Corporate, Business and Software Engineering, System Engineering and Ultimate editions provide another facility, Auditing, which you can switch on to perform continuous monitoring of changes across the project; you can dovetail your use of each facility to meet the range of your change management requirements
  • If a package under version control forms part of a Baseline, and that package is checked in to the model, you cannot merge the original data from the Baseline into that package
  • You can also obtain a snapshot of selected items in the model, using the Model Views facility; this facility enables you to automatically generate the snapshot at intervals and, if there are changes in the items collected by the defined search, to trigger a notification to you of such changes, which enables you to monitor work flow and other events of concern to you
  • If security is enabled you must have Baselines - Manage permission to create, import and delete Baselines, and Baselines - Restore permission to merge data from a Baseline; security permissions are not required to select an existing Baseline and perform a comparison with the model

Learn More:

  • Auditing
  • List of Permissions
  • Model Views
  • Monitor Change Events


Baselines [Enterprise Architect User Guide]

Baselines

Enterprise Architect provides a facility to 'Baseline' (snapshot) a model branch at a particular point in time for later comparison with the current package state.

Topic

Detail

See also

Baselines

Baseline comparison is most useful for determining the changes made to the model during development compared to some Baseline saved at a crucial point - for example the completion of a phase or version iteration

More than one Baseline can be stored against a single Enterprise Architect package

Baselines are particularly useful during requirements management to check for changes, additions and deletions that have occurred since the start of the current work phase; knowing how a model has changed is an important part of managing change and the overall development process

Baselines are stored within the model in compressed XML format; you can save a Baseline to an external XML file for storage or archive, or for distributing to other users working on models derived from a master project

Baselines are generally used in conjunction with the Compare utility

The Compare Utility (Diff)

Scenario

A typical scenario for using Baselines would be:

  • Create the base model branch to a sufficient point to create a Baseline (checkpoint); create and store the Baseline as Version 0.1a
  • As work continues on development, managers and developers can check the current model branch against the Baseline for important modifications, additions and deletions

    The Compare utility can be invoked from the Baseline dialog to check the current model branch against the stored version
  • As required, minor Baselines can be created to check recent progress; these 'temporary Baselines' are useful for managing change when a lot of work is being done and it is important to only see what has changed in, for example, the last 24 hours
  • At sign-off or the move to a new version/phase, a major Baseline can be created to capture the new state of the model

    Minor Baselines created earlier can be deleted if required to save space

Manage Baselines

Create Baselines

Considerations
  • Baselines are based on the GUID or unique ID of a particular package:
  • Enterprise Architect checks for that ID as the root element within the XML document being used as a Baseline
  • When you export a package to XML, the package you export is the root element; likewise when you create a Baseline, the current package is the root package of the XML Baseline
  • When you save information in a version control system, the current version-controlled package is again the root package of the document
  • It is not useful to create a Baseline by importing an XMI package file created by version controlling a package that itself contains version-controlled child packages; that type of XMI package file contains stubs for the child packages, not full information on the child packages and elements
  • If a package under version control forms part of a Baseline, and that package is checked in to the model, you cannot merge the original data from the Baseline into that package
  • XML files must be in the same format used by the Baseline engine - currently the UML 1.3 XMI 1.1 format (plus Enterprise Architect extensions), which contains all the information necessary to reconstruct a UML model, even a UML 2.x model

Notes:

  • The Baseline facility is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • The Compare utility is available in the Professional edition of Enterprise Architect, as well as in the Corporate and extended editions above


Manage Baselines [Enterprise Architect User Guide]

Manage Baselines

Enterprise Architect provides a range of facilities for working with and managing Baselines, through the Manage Baselines dialog.

Access: Right-click model branch package | Package Control | Manage Baselines

Field

Usage

See also

Current Baselines For Package: <Name>

Review the baselines for the current model branch, listed by version reference with the highest alphabetical/numerical value at the top

If an entry is longer than the display area, a horizontal scroll bar displays at the bottom of the panel; use this to scroll to the text that is not shown

Create Baselines

Show Differences

Run the Compare utility on the selected Baseline and the current model branch, to display the differences between the two

The Compare Utility

Example Comparison

Restore to Baseline

Completely restore the model branch from the selected Baseline

New Baseline

Create a new Baseline

Create Baselines

Delete Selected

Delete the selected Baseline

Load Other Baselines

Display a drop-down menu that enables you to load Baselines from another model, in either a .EAP file or a DBMS file

  • For .EAP files, a browser displays; locate the required project file
  • For DBMS files, the Windows Data Link Properties dialog displays; select the data provider and click on the OK button to display the Select Data Source dialog, from which you select the required project

In either case, the Connected To: message at the bottom of the Manage Baselines dialog changes to the name of the alternative model

To return the dialog to the original project, select the third option on the drop down list: Load From Selected Package

Import File

Import an XML 1.1 file from the file system as a new Baseline for this current model branch

Export File

Export the selected Baseline to an XML file on disk

Compare Model to File

Compare the selected model branch with an XML 1.1 file on disk; a browser displays, which you use to locate the file

Options

Set filters to make the comparison more specific

Compare Options


Create Baselines [Enterprise Architect User Guide]

Create Baselines

Access: Right-click model branch package | Package Control | Manage Baselines: New Baseline button

The New Baseline dialog displays

Field | Usage | See also
Name | Display the package name of the currently selected model branch | Manage Baselines
Version | Type a unique version reference for this Baseline - this can consist of any alphanumeric characters The Manage Baselines dialog sorts the Baselines according to the value of this field |
Include Sub-packages | Include the entire sub-package hierarchy of this branch in the Baseline - defaults to selected If you deselect the checkbox, only the immediate contents (XMI stubs) of the package are included in the Baseline |
Note | Edit the default current time and date to any other value The field is a single-line entry, for display on the Manage Baselines dialog (a one-line-per-entry list) |
OK | Click to create a new Baseline and return to the Manage Baselines dialog |


The Compare Utility (Diff) [Enterprise Architect User Guide]

The Compare Utility (Diff)

 Return to Introduction

Enterprise Architect has a comprehensive and powerful built in Compare (diff) utility, which enables you to:

  • Explore what has changed within a model over time
  • Explore how previous versions of a model branch differ from what is currently in the model
  • Perform a full model comparison by exporting all of Model A to XMI, then using Compare Model to File from within the current model (Model B)

Comparing and checking model development at various points in the process is an important aspect of managing change and development, monitoring what is being modified and ensuring the development and design process is on track.

Access:

  • Project Browser package context menu | Package Control | Manage Baselines: Show Differences - use the Baseline dialog
  • Project Browser package context menu | Package Control | Compare with XMI File (package not under version control)
  • Project Browser package context menu | Package Control | Compare with Controlled Version (package under version control)

Use to:

  • Compare a model branch in Enterprise Architect with a Baseline created using the Baseline functionality (Corporate, Business and Software Engineering, System Engineering and Ultimate editions)
  • Compare a model branch in Enterprise Architect with a Baseline stored in a different model
  • Compare a model branch in Enterprise Architect with an XML 1.1 file on disk created previously using the Enterprise Architect XML export facility (user selects file)
  • Compare a model branch in Enterprise Architect with the current version-controlled XMI 1.1 file on disk as created when using Version Control in Enterprise Architect (file automatically selected)

Guide:

Topic

Detail

See also

Differencing With Baselines

As a Baseline is stored within a model and contains all the information, elements and connections for a package at a point in time, it can be used within Enterprise Architect to track changes to model elements over time

The Differencing engine first builds a representation of the current package in memory, based on what is currently in the model

It then compares this with the stored Baseline, highlighting changes, new elements, missing elements and elements that have been moved to other packages

It is possible to filter the resultant output to display only one particular kind of change: for example, additions to the model.

If a Baseline has been created to ignore child package content, a comparison between that Baseline and the model does not include any child package content in the model

See the example model comparison

Compare Options

Create Baselines

Example Comparison

Notes:

  • This utility is available in the Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • You cannot compare the current model with an XMI 2.1 file; the utility can only compare with an XMI 1.1 file


Compare Options [Enterprise Architect User Guide]

Compare Options

The Compare Options dialog enables you to refine the output of the Compare utility when it compares the current model with a Baseline.

To display the dialog, either:

  • Click on the Options button on the Manage Baselines dialog
  • Click on the Compare Options icon on the Compare Utility tab toolbar

Field

Usage

See also

Always Expand to Differences

Always display the list of elements fully expanded to show changes

If you deselect the checkbox, when the Compare Utility tab is first opened it lists the package contents to element level, and you expand each element as required to show the changed items

For large branches of the model, it is better to leave the checkbox unselected

Show Elements that are

List elements that:

  • Have been changed since the Baseline was created
  • Are in the Baseline only (that is, have been deleted from the model since the Baseline was created)
  • Are in the model only (that is, have been created since the Baseline was created)
  • Have not changed since the Baseline was created (you might generally leave this checkbox unselected)

Suppress these Changes

Exclude:

  • Changes to diagrams
  • Changes to the Date Modified field for an item
  • Changes to the Date Created field for an item
  • Child items of a deleted item
  • Changes to advanced properties (defaults to selected)

If the Compare Utility tab shows the results of a Baseline comparison, when you click on the OK button the display refreshes to refine the information according to the options you have selected.

Learn More:

  • Compare Utility Tab Options


Example Comparison [Enterprise Architect User Guide]

Example Comparison

The diagram below shows the result of a comparison between a package (Business Process Model) in the current project and that package in a Baseline (version 0.1) captured at an earlier date.

The results of the comparison are displayed on the Compare Utility tab.

Guide:

Topic

Detail

See also

Interpretation

A hierarchy of model elements is displayed in the left-hand pane

It is clearly visible, from the Status column and from the triangle-based icons, which items in the hierarchy have,since the Baseline was captured, been:

  • Changed (Changed)
  • Deleted from the model (Baseline only)
  • Added to the model (Model only) or
  • Switched to different packages (Moved)

If you click on an item with a Status entry in the left hand pane, the right-hand pane displays a table of properties showing the values of those properties in the current model and in the Baseline

For each property where there is a difference between the model and the Baseline, the row is highlighted; for example, the Class element named Application was moved from the Business Process Model package (as shown in the Baseline column) to the Business Rules Model package on 5 June 2009 (as shown in the Model column)

The Compare Utility tab enables you to perform operations (such as merging or rolling back changes) on the reported information, using the toolbar, context menu and keyboard

Compare Utility Tab Options

Increase Level of Detail

The right panel of the Compare Utility tab might, for some fields, display only part of the value (such as Advanced Properties, above)

It might also not be immediately obvious what a change is

In either case, you can double-click on the property to display full details and to highlight the exact differences; the following example shows the highlighted changes to the Parent Package property


Compare Utility Tab Options [Enterprise Architect User Guide]

Compare Utility Tab Options

The Compare Utility tab enables you to perform operations on the reported information, using the toolbar, context menu, Merge dialog and certain keyboard keys.

  • The toolbar is at the top of the left-hand panel; the icons operate either on the comparison as a whole or on the currently-selected item in the left hand panel of the Compare Utility tab
  • Each item in the hierarchy has a context menu, which you display by right-clicking on the item; the options displayed depend on the level of the item in the hierarchy
  • The Merge dialog enables you to specify which changes to roll back in the model from the baseline
  • You can use a selection of keyboard keys to move up and down the hierarchy, or to roll back changes

Reference - Toolbar:

Action | Usage | Shortcut | See also
Refresh | Re-run the comparison to refresh the current display |  |
Merge To Model | Merge the values of the currently-selected item in the Baseline back into the model |  |
Next Change | Highlight the next changed item (skips Moved items) |  |
Previous Change | Highlight the previously-changed item |  |
Expand All | Fully expand the selected item |  |
Collapse All | Collapse the changed items in the selected item |  |
Expand To Changed Items | Expand the selected item to show changed items only (in the event that you have selected to also show unchanged items in the comparison) |  | Compare options
Find in Project Browser | Highlight the item in the Project Browser |  |
Log To XML | Log the changes to an XML file A browser displays, on which you specify the file name and location |  |
Compare Options | Display the Compare Options dialog |  | Compare Options
Manage Baselines | Display the Manage Baselines dialog |  | Manage Baselines
Help | Display the Help topic Package Baselines |  | Package Baselines

Reference - Context Menu:

Action | Usage | Shortcut | See also
Merge from Baseline Add from Baseline | Restore the item in the model to the Baseline state, or restore a deleted item from the Baseline |  |
Delete from Model | Remove a recently-created item from the model |  |
Merge From Baseline (with Options) | (For the root node of the hierarchy on the Compare Utility tab) Display the Merge dialog (see below) which enables you to specify options for rolling back the whole model branch to the Baseline state |  |
Refresh | (Object-level items) Re-run the comparison to refresh the current display |  |
Find in Project Browser | Locate and highlight the item in the Project Browser |  |
Expand All | Fully expand the selected item |  |
Expand To Changed Items | Expand the selected item to show changed items only |  |
Collapse All | Collapse the changed items in the selected item |  |
Log To XML | Log the changes to an XML file A browser displays, on which you specify the file name and location. |  |
Compare Options | Display the Compare Options dialog |  | Compare Options

Reference - Merge Dialog:

Field | Usage | Shortcut | See also
Changed | Restore all changed items in the model branch to the Baseline state |  |
In Baseline Only | Restore all deleted items to the model branch from the Baseline |  |
In Model Only | Remove all recently-created items from the model branch |  |
Moved | Restore all moved items to their original locations, as identified in the Baseline |  |
Full Restore from XMI | Completely restore the model branch to the version held in the Baseline XMI 1.1 file, (using the XMI Import function). (Automatically selects all the other options.) |  |

Reference - Keyboard:

  • ( Ctrl+$ ) - expand and highlight the next changed item
  • ( Ctrl+# ) - expand and highlight the previous changed item
  • ( Ctrl+! ) - undo the changes for a selected item (roll back to the Baseline values)


Model Transfer [Enterprise Architect User Guide]

Model Transfer

Enterprise Architect enables you to transfer data between projects, using three different mechanisms.

Topics:

Topic | Detail | See also
XMI Import and Export | Packages can be exported from and imported into Enterprise Architect models This greatly improves the flexibility and robustness of Enterprise Architect models by enabling Analysts and Modelers to externalize model elements in XMI for version control, distributed development, post processing and transferring packages between models | XMI Import and Export
CSV Import and Export | You can import and export information about Enterprise Architect elements in CSV format This enables you to store and retrieve information from spreadsheet tools such as Microsoft Excel | CSV Import and Export
Data Transfer | Enterprise Architect enables you to move complete models between files, and between files and repositories, row by row, table by table | Perform a Project Data Transfer


XMI Import and Export [Enterprise Architect User Guide]

XMI Import and Export

XML Metadata Interchange (XMI), defined by the OMG and based on XML, is an open standard file format that enables the interchange of model information between models and tools.

Topics:

Topic

Detail

See also

XMI and Enterprise Architect

Enterprise Architect uses XMI as a method of importing and exporting model specifications between different UML packages, Enterprise Architect projects and other tools that support XMI

Enterprise Architect supports the XMI 1.1, 1.2 and 2.1 specifications. XMI 1.1 has support for UML 1.3, whereas XMI 2.1 has support for UML 2.x.

Enterprise Architect does not fully support the older 1.0 specification. When importing or exporting to XMI 1.0, some loss of data occurs due to the limitations of XMI 1.0

With XMI, model details can be exchanged between different UML tools and other tools that are capable of using XMI

Limited support for export to Rational Rose is provided using the Rose version of the XMI 1.1 specification, as implemented by Unisys for Rational products.

Packages can be exported from and imported into Enterprise Architect models, which greatly improves the flexibility and robustness of the models by enabling Analysts and Modelers to externalize model elements in XMI for:

  • Version control
  • Distributed development
  • Post processing and
  • Transferring packages between models

When performing Enterprise Architect-to-Enterprise Architect transfers, ensure that either XMI version 1.1 or 2.1 is selected.

When importing an XML file over an existing package, all information in the current package is deleted first, before importing from the XML file. Please make sure you do not have important changes that you do not want to lose before importing from XML.

XMI Tasks

Tasks you might perform in importing and exporting XMI include:

  • Setting XML Options - XMI import, export and package control all rely on saving and loading XML files; you can set a number of options to streamline this process
  • Exporting a package to XMI in XMI 2.1 (and earlier)
  • Importing from XMI with support for XMI 2.1 (and earlier)
  • Setting up controlled packages
  • Manually controlling a package by linking it to an XMI file
  • Batch exporting controlled packages
  • Batch importing controlled packages
  • Factoring in the limitations of XMI
  • Applying a UML Data Type Definition (DTD)

XML Specifications

Export to XMI

Publish Model Package

Import from XMI

Controlled Packages

Manual Version Control with XMI

Batch XMI Export

Batch XMI Import

Limitations of XMI

The UML DTD

Notes:

  • XMI 2.1 exported by Enterprise Architect 7.0 (or later) might not be correctly imported into earlier versions of Enterprise Architect.
  • When performing Enterprise Architect-to-Enterprise Architect transfers, ensure that either XMI version 1.1 or 2.1 is selected.

Learn More:

  • XML/XMI Technology


Export to XMI [Enterprise Architect User Guide]

Export to XMI

The Export Package to XMI dialog is used to export a package to various XMI (XML-based) formats. This dialog, by default, allows exporting to either XMI 1.1 or XMI 2.1. The exported XMI file contains all the information required for completely round-tripping the package within Enterprise Architect; that is, performing Enterprise Architect-to-Enterprise Architect transfers.

Access: Click on a package in Project Browser, then:

Project | Model Import/Export | Export Package to XMI File
Right-click | Import/Export | Export Package to XMI

Use to:

  • Move Enterprise Architect model elements between models, for distributed development, manual version control and other benefits

Reference:

Field/Option/Button

Usage

See also

Root Package

Indicates the name of the selected package

Filename

Specify the file path where the XMI file is to be generated

Export Type

Option/Button | Usage
XMI 1.1 | Export the selected package to XMI 1.1
XMI 2.1 | Export the selected package to XMI 2.1
Publish | Opens the Publish Model Package dialog for exporting to other versions of XML

Publish Model Package

View XMI

View the exported XMI file

Export

Initiate XMI Export

Close

Close this dialog

Help

Display this Help topic

Progress

Lists the progress of the XMI Export

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Export XMI permission to export to XMI
  • Alternate Images used in the package being exported are not included in the exported XMI file unless the Export Alternate Images option is selected in the XML Specifications section of the Options dialog
  • The Log file for the package being exported is not generated unless the Write Log option is selected in the XML Specifications section of the Options dialog

Learn More:

  • Limitations of XMI
  • List of Available Permissions
  • Manual Version Control with XMI
  • XML Specifications


Publish Model Package [Enterprise Architect User Guide]

Publish Model Package

The Publish Model Package facility is used to export a package to various XML formats, including XMI 1.1, XMI 2.1, ArcGIS and BPMN 2.0 XML.

Access: Click on a package in Project Browser, then:

Project | Model Publisher

Project | Model Import/Export | Export Package to XMI File: Publish
Right-click | Import/Export | Export Package to XMI: Publish

Use to:

  • Move Enterprise Architect model elements between models, for distributed development, manual version control and other benefits
  • Export BPMN 2.0 models to BPMN 2.0 XML
  • Export Enterprise Architect model elements to Rational Rose and other tools that implement the:
  • UML 1.3 XMI 1.1 / XMI 1.0 standard
  • UML1.4 XMI 1.2 standard, or
  • UML 2.1 XMI 2.1 standard

Reference:

On the Publish Model Package dialog:

Field/Option/Button | Usage | See also
Root Package | Displays the name of the selected package |
Filename | Type in or browse for the file path into which the XML file is to be generated |
XML Type | Select the XML/XMI version to export the package to The selected version might render some of the following eight options unavailable |
Export Diagrams | Export all the diagrams in the selected package |
Export Alternate Images | Export the alternate images used in the diagrams in the selected package | Image Manager
Format XML Output | Format the output into readable XML (this takes a few more seconds at the end of the run) |
Write Log File | Write a log of the export activity (recommended) The log file is saved to the directory into which the XML file is exported |
Use DTD | Use the XMI DTD when exporting to XMI 1.0 or XMI 1.1 Setting this option validates the correctness of the model and checks that no syntactical errors have occurred |
Exclude EA Tagged Values | Exclude Enterprise Architect-specific Tagged Values from the export |
Unisys/Rose Format | Export in Unisys/Rose compatible XMI format |
Generate Diagram Images | Generate the exported diagrams in the format you select from the Format drop-down list The generated diagrams are saved in a package called Images in the directory into which the XML file is exported |
Stylesheet | Select an XSL Stylesheet to post-process the XML content before saving to file (Optional) You can post-process the XML content before saving the package to file, using an XSLT to convert the output to HTML, XSL, code or other versions of XML; to do this, you must import the required style sheet into the project through the Resources window | Resource Window
View XML | View the exported XML file |
Export | Initiate XML export |
Close | Close this dialog |
Help | Display this Help topic |
Progress | Indicates the progress of the XML export |

Notes:

  • When exporting and importing with XMI 1.0 with Enterprise Architect, some loss of data occurs due to the limitations of XMI 1.0
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Export XMI permission to export to XML
  • XMI 2.1 exported by Enterprise Architect 7.0 (or later) might not be correctly imported into earlier versions of Enterprise Architect
  • When you select to apply a Data Type Definition (DTD) during an XMI 1.1 export, the UML_EA.DTD file is written to the output directory into which the XML files are written (unless the UML_EA.DTD file is already present in the directory); no error is generated if the UML_EA.DTD file is not present in this directory during the XMI export

Learn More:

  • Limitations of XMI
  • List of Available Permissions
  • The Resources Window
  • Manual Version Control with XMI
  • Export to BPMN 2.0 XML
  • Export to ArcGIS XML


Import from XMI [Enterprise Architect User Guide]

Import from XMI

You can import a package from an XMI (XML-based) file in any of the following formats:

  • UML 1.3 (XMI 1.0)
  • UML 1.3 (XMI 1.1)
  • UML 1.4 (XMI 1.2)
  • UML 2.0 (XMI 2.1)
  • UML 2.1 (XMI 2.1)
  • MOF 1.3 (XMI 1.1)
  • MOF 1.4 (XMI 1.2)

You can also import the *.emx and *.uml2 files generated by tools such as Rational Software Architect (RSA) and Rational Software Modeler (RSM) as well as XML files exported by ArcGIS.

Access: Click on target package in Project Browser, then:

Project | Model Import/Export | Import Package From XMI File or
Right-click | Import/Export | Import Package From XMI

Use to:

  • Move Enterprise Architect Model elements between models, for distributed development, manual version control and other benefits

Reference:

On The Import Package From XMI dialog:

Field/Option/Button | Action | See also
Filename | Type the directory path and filename from which to import the XMI file |
Import diagrams | Select the checkbox to import diagrams |
Strip GUIDs | Select the checkbox to remove Universal Identifier information from the file on import This enables the import of a package twice into the same model; the second import requires new GUIDs to avoid element collisions |
Write log file | Select the checkbox to write a log of import activity (recommended) The log file is saved in the directory from which the file is being imported, with the same name as that of the imported file plus the suffix _import.log |
Import using single transaction | Defaults to selected If the import encounters locking issues, or if you are importing a large XMI file, deselect the checkbox to import the data items separately and identify problem items without blocking the whole import |
Treat Imported Datatypes | If you are importing from Rose XMI 1.1, click on the drop-down arrow and select the datatypes to add to the model |
Import | Click to start the import |
Close | Click to close the dialog |
Help | Click to display this Help page |
Import Progress | Indicates the progress of the import |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Import XMI permission to import packages from XMI
  • When you import an XML file over an existing package, ALL information in the current package is deleted first; before you import the XML file, please make sure you do not have important changes that you do not want to lose
  • If you are importing an XMI 1.1 file that was previously exported with a UML_EA.DTD file, the UML_EA.DTD file must be present in the directory into which the XMI file is being written; an error occurs if the UML_EA.DTD file is absent

Learn More:

  • List of Available Permissions
  • The Resources Window
  • Manual Version Control with XMI
  • The UML DTD
  • Import EMX/UML2 Files
  • Import ArcGIS File


Import EMX/UML2 Files [Enterprise Architect User Guide]

Import EMX/UML2 Files

Rational Software Architect (RSA) enables you to add many UML models under a single root. These models can have cross references between them.

However, RSA cannot save the entire root as one file; it saves each UML model as a separate EMX file. This means that an EMX file with cross-references is not self-contained as it references elements in another EMX file.

In releases earlier than release 7.0, Enterprise Architect treats each EMX file as a separate model and hence does not allow for cross-references between them. From release 7.0, Enterprise Architect enables these cross-references.

You therefore have the options of:

  • Importing a single EMX/UML2 file or
  • Importing a group of related EMX/UML2 files together, thereby retaining the cross-references between the different files

Access: Click on target package in Project Browser, then:

Project | Model Import/Export | Import Package From XMI File: Other XML File Formats | EMX/UML2 option or
Right-click | Import/Export | Import Package From XM File: Other XML File Formats | EMX/UML2 option

Use to:

  • Import Enterprise Architect Model elements from *.emx /*.uml2 files

Reference:

On the Import Package from EMX/UML2 dialog:

Field/Option/Button | Action | See also
Directory | Click on the ( ... ) (Browse) button The Select Import EMX / UML2 File(s) dialog displays, which enables you to select multiple files Select the file or files (use (Ctrl) + click or (Shift) + click to select several files) and click on the Open button to return to the Import Package from EMX/UML2 dialog |
Selected Files | Lists the selected *.emx/*uml2 files |
Write Log File | Select to write a log of import activity (recommended) The log file is saved in the directory from which the files are being imported, with the name import.log |
Import | Click to import the *.emx/*uml2 files |
Close | Click to close this dialog |
Help | Click to display this Help page |
Import Progress | Indicates the progress of the import |


Limitations of XMI [Enterprise Architect User Guide]

Limitations of XMI

Whilst XMI is a valuable means of specifying a UML model in a common format, it is relatively limited in the amount of additional information it can tolerate using the standard syntax.

Topics:

Topic

Detail

See also

Notes on Enterprise Architect

A lot of information from an Enterprise Architect model must be converted to Tagged Values, which import into other modeling systems as additional information or are ignored completely

Enterprise Architect can both generate and read:

  • XMI 1.0 and 1.1 using UML 1.3 format
  • XMI 1.2 using UML 1.4 format, and
  • XMI 2.1 using UML 2.0 and UML 2.1 format

Round-tripping model elements using XMI in Enterprise Architect is possible using XMI 1.1 or XMI 2.1; XMI 1.1 uses the additional Tagged Values to store the UML 2.x information - this ensures model completeness when round-tripping UML 2.x model elements using XMI 1.1

Please note that Enterprise Architect exclusively uses XMI 1.1 for round-tripping models using Version Control

Notes for Exporting to Rose and Other Tools

There are discrepancies in the Unisys/Rose implementation with regard to spelling mistakes and slightly different syntax to the official XMI 1.1 specification, so problems might occur

The way packages are arranged in different models can impact successful import into other systems; experimentation is the only work around for this problem

Some parts of the XMI import/export process do not work as expected in products like Rational Rose; for example, Note Links are not supported, and State Operations import but do not appear in diagrams

Rational Rose only supports import of a full project, not a single package.

For best results, it is recommended that you keep the model elements to export to Rose simple and conforming as closely as possible to the UML 1.3 specification


The UML DTD [Enterprise Architect User Guide]

The UML DTD

When you import or export Enterprise Architect packages to XMI, the import or export process can be validated using a Data Type Definition (DTD).

Guide:

Topic

Detail

See also

Notes on DTDs

The XML parser uses the DTD to validate the correctness of the model and to check that no syntactical errors have occurred

It is always best to use a DTD when moving packages between Enterprise Architect models as it ensures correctness of the XMI output, and prevents attempted imports of incorrect XML

Several DTDs for XMI/UML exist; the OMG defines a standard UML1.3 DTD for use in XMI 1.1, and Enterprise Architect uses an extension of this with some additional element extensions for non-standard UML types, such as testing details

Whenever you read an XML file, the XML parser looks in the current directory for the DTD - if specified - using the DOCTYPE element in the XML file

If the parser cannot find the DTD, it records an error and aborts processing; you must ensure the UML_EA.DTD file is in the current XML output path (generated by default)


Controlled Packages [Enterprise Architect User Guide]

Controlled Packages

Controlled packages are a powerful means of 'externalizing' parts of an Enterprise Architect model.

Guide:

Topic

Detail

See also

Using Controlled Packages

A controlled package is a package configured to save and load in XML format to a named file; the XML output is UML1.3 compliant XMI, with Enterprise Architect extensions to support diagrams and additional model elements

Package XML is standard XMI-compliant output that can be loaded into any XML viewer, or used by any XML-based tool to perform manipulations and extracts, such as document or code generators

Controlled packages appear in the Project Browser with a small colored rectangle to the left of the package icon, as shown below for the CIM package:

Using controlled packages you can support:

  • Widely distributed development by having team members submit packages in the form of XML for import into a central Enterprise Architect repository
  • Version control, by writing model elements in XML text files suitable for version control using standard version control software

    Using XMI this way enables you to manually connect to third-party version control software outside the Enterprise Architect environment

    Enterprise Architect internally supports the configuration of version control through SCC and CVS
  • Import and export of model elements between different models

    For example, a Class library can be re-used in many models and kept up to date in target models using controlled packages, reloading packages as required when new versions of the Class model become available

Version Control

Notes:

  • If you are importing an XMI 1.1 file that was previously exported with a UML_EA.DTD (Data Type Definition) file, the UML_EA.DTD file must be present in the directory into which the XMI file is being written; an error occurs if the UML_EA.DTD file is absent
  • When you select to apply a DTD during an XMI 1.1 export, the UML_EA.DTD file is written to the output directory into which the XML files are written (unless the UML_EA.DTD file is already present in the directory); no error is generated if the UML_EA.DTD file is not present in this directory during the XMI export


Controlled Package Menu [Enterprise Architect User Guide]

Controlled Package Menu

Access: Project Browser > package | Package Control

This menu is for a package that is not itself under version control (but that might contain child packages that are under version control).

Action

Usage

Shortcut

See also

Configure (various settings for the package)

Display the Package Control Options dialog, which enables you to specify whether this package (and its child packages) is controlled and which file it is controlled through

Ctrl + Alt + P

Configure Packages

Manage Baselines

Create a Baseline of the current package, or compare the current package with a previous Baseline

Ctrl + Alt + B

Managing Baselines

Check In Branch

For the selected branch of the model, (that is, the selected package and all of its child packages) display the Select Packages to Check In dialog, listing all version controlled packages within that branch that are checked out to you

You can then select packages in the displayed list, to be submitted for check-in.

Check in a Model Branch

Check Out Branch

For the selected package, check out the package and recursively check out all of its contained sub-packages

Enterprise Architect retrieves the latest version of the packages from the central repository, overwriting the current packages

After check out, the packages are available for editing

Check Out a Model Branch

Save package to file

Save a controlled package to an XMI file

Ctrl + Alt + S

Save a Package

Load package from file

Load a previously-saved XMI file

Ctrl + Alt + L

Load a Package

View package XMI

Display the package XMI after the package has been exported to XMI

Ctrl + Alt + X

Compare with XMI file

(Package not under version control) Compare the current package with a previously-saved XMI file of the package

The Compare Utility (Diff)

Add Branch to Version Control

Apply version control to all packages within a selected model branch, in a single operation

Apply Version Control to Branches

Export as Model Branch

Export a newly created model branch from your own private copy of a model

Export Controlled Model Branch

Import a Model Branch

Retrieve a model branch and import it into either the source model or another model

Import Controlled Model Branch

Get package (for version control)

Enables you to gain access from packages in the version-controlled repository that is currently available in your model

Version Control

Get All Latest (for version control)

Retrieve the latest version of the package from the repository. Available only for packages that are checked in

The alternative option Get Latest - if displayed - is not intended for sharing .EAP files and should only be used when users have their own individual databases

Version Control

Re-synch Status With VC Provider

(Version controlled package) Update the version control status value recorded for the selected package in the Enterprise Architect project to match the value reported by the version control provider, without performing an XMI import or export

Version Control Settings

Display the Version Control Settings dialog

Version Control Settings Dialog

Update Package Status

Provide a bulk update on the status of a package. This includes status options such as Proposed, Validate and Mandatory

Update Package Status

Learn More:

  • For a package that is directly under version control, see Package Version Control Menu


Configure Packages [Enterprise Architect User Guide]

Configure Packages

Before you can use a controlled package, you must configure it with options such as the filename to save to/load from, the type of export and the version number.

Once a package is configured and marked as controlled, it is displayed in the Project Browser with a small colored rectangle next to the package icon, indicating it is a controlled package; for example, the RQ01: Formal Requirements package below.

Access: Project Browser | Package Context Menu | Package Control | Configure

How to:

To configure a controlled package, follow the steps below:

Step

Action

See also

1

Select the package to control or configure, and the Configure context menu option

The Package Control Options dialog displays

2

Select the Control Package checkbox to indicate that this is a controlled package

3

Click on the Version Control drop-down arrow and select the version control repositories; this connects the package to a specific version control configuration

4

In the XMI Filename field, type or browse for the path and XMI file for importing and exporting XMI files

The field accepts Local Path Substitution strings; for example, use an XMI local path definition where:

myLocalPath="C:\Documents and Settings\John\Desktop\EA Models"

Then %myLocalPath%\CIM.xml is equivalent to

C:\Documents and Settings\John\Desktop\EA Models\CIM.xml

5

In the UML/XMI Type field, click on the drop-down arrow and select the type of XMI generated; options include:

  • Enterprise Architect XMI/UML 1.3
  • Rational Rose/Unisys UML 1.3 and
  • Generic XMI 1.0/UML 1.3

Currently only Enterprise Architect UML 1.3 is supported for complete import/export round tripping of packages

6

In the Version ID field, type the version ID number

7

In the Owner field, type or select the name of the package owner

8

If required, click on the Use DTD checkbox to use a Data Type Definition (DTD)

9

If required, click on the Log Import/Export checkbox to log import and export activity to a log file

10

If required, click on the Batch Import checkbox to mark the package as a Batch Import package

11

If required, click on the Batch Export checkbox to mark the package as a Batch Export package

12

If required, click on the Include sub-package checkbox to deselect it, to include only the immediate contents of the package in an XMI export (XMI stubs); this is available only for an XMI 1.1/UML 1.3 export

If you leave the checkbox selected, the entire sub-package hierarchy of this branch is included in the export.

13

Click on the OK button to set the Package Control options.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Configure Packages permission to configure controlled packages and package properties
  • For batch import, the file date of the XMI file is stored; you can bypass the batch import if there is no change; that is, the file date of the last import matches that of the current file

Learn More:

  • List of Available Permissions


Remove Package from Control [Enterprise Architect User Guide]

Remove Package from Control

If required, you can remove the control from a package. Before removing the package control, you must check in the package if it is being used for version control.

Access: Project Browser | Package Context Menu | Package Control | Configure (Ctrl+Alt+P)

How to:

To remove control from a package, follow the steps below:

Step | Action | See also
1 | Select the package and the Configure menu option The Package Control Options dialog displays |
2 | Deselect the Control Package checkbox If the package is under version control, this sets the Version Control field to (None) |
3 | Click on the OK button to remove package control Package control for the selected package has now been removed |

Notes:

  • When disconnecting a package from version control, the association between the package and the exported XML file is removed from your model; however, the XML file itself is not removed from version control, nor is it deleted from your local version control working copy folder

    This is because it is possible for another model to be using the version controlled package and still referencing the associated version controlled XML file

Learn More:

  • Check In a Package


Save a Package [Enterprise Architect User Guide]

Save a Package

Once you have correctly configured a package, you can save the controlled package to the designated XMI file.

Access: Project Browser | Package Context Menu | Package Control | Save Package to File

How to:

To save a controlled package to file, follow the steps below:

Step | Action | See also
1 | Select the package and the Save package to File menu option The export process executes automatically according to your configured preferences, overwriting any existing file |

Notes:

  • If you are using a version control package in conjunction with the exported package files, you must check out the XMI file first to enable Enterprise Architect to overwrite the existing version

Learn More:

  • Configure Packages


Load a Package [Enterprise Architect User Guide]

Load a Package

If a package has been marked for control it is displayed in the Project Browser with a red rectangle to the left of the package icon. If you have previously saved the controlled package, you can reload it.

Access: Project Browser | Package Context Menu | Package Control | Load package from file

How to:

To load a controlled package from an XMI file, follow the steps below:

Step | Action | See also
1 | Select the package and the Load package from file menu option If you have configured the package control details, Enterprise Architect prompts you to confirm the import. |
2 | Click on the Yes button to confirm the import The current package is deleted and the saved package is imported |

Notes:

  • Importing deletes the current package entirely from the model, and the action cannot be undone; you must be careful not to lose any current changes or information

Learn More:

  • Configure Packages


Batch XMI Export [Enterprise Architect User Guide]

Batch XMI Export

You can export a group of controlled packages to XMI in one step.

Access: Project | Model Import/Export | Batch XMI Export

How to:

To export a group of controlled packages to XMI, follow the steps below:

Step

Action

See also

1

Select the Batch XMI Export menu option

The Batch XMI Export dialog displays

2

Select the checkbox against each package to include in this export run

Select the Select All checkbox to select all packages in the list

3

Select the Restore Cross References Without Prompting checkbox to automatically restore any missing cross package references without displaying a prompt

Report Deletion of Cross-Package References

3

To save this configuration as the default, click on the Save Settings button

4

Click on the Run Export button

Enterprise Architect cycles through each checked package and exports it using the options specified in the Package Control Options dialog

As long as a valid filename exists, Enterprise Architect exports the package to XMI and proceeds to the next package

Configure Packages

Notes:

  • The Restore Cross References Without Prompting checkbox is enabled only if the option Report Cross Package Reference Deletions (XMI 1.1) is set on the XML Specifications page of the Options dialog
  • The option is applicable only to XMI 1.1 controlled packages

Learn More:

  • XML Specifications


Batch XMI Import [Enterprise Architect User Guide]

Batch XMI Import

You can import a group of controlled packages from XMI into Enterprise Architect in one step.

As Enterprise Architect processes each package, it updates the Status column against each package name on the Batch XMI Import dialog.

  • If the import is successful, Enterprise Architect updates the package status to Imported
  • If the import is unsuccessful, Enterprise Architect updates the package status to Not Imported

Common reasons for an import to fail include:

  • The package not being correctly configured
  • The last import file date matches the import date of the file currently on disk

Access: Project | Model Import/Export | Batch XMI Import

How to:

To import a group of controlled packages from XMI, follow the steps below:

Step | Action | See also
1 | Select the Batch XMI Import menu option The Batch XMI Import dialog displays |
2 | Select the checkbox against each package to include in the import Select the Select All checkbox to select all packages in the list |
3 | To save this configuration as the default, click on the Save Settings button |
4 | Click on the Run Import button Enterprise Architect cycles through each checked package and imports it | Configure Packages

Notes:

  • To avoid re-importing the same module multiple times, select the Check file date before import checkbox; Enterprise Architect then does not import a file if the last import file date matches that of the one currently on disk


Manual Version Control with XMI [Enterprise Architect User Guide]

Manual Version Control with XMI

You can use XMI to support version control by writing model elements in XML text files suitable for use with standard version control software.

Using XMI in this manner enables you to manually connect to third-party version control software outside the Enterprise Architect environment.

Enterprise Architect internally supports the configuration of version control through SCC and CVS configurations.

How to:

Before using XMI for version control, follow the steps below:

Step | Action | See also
1 | Select suitable packages in the Project Browser, to be marked as controlled packages |
2 | Configure these with filenames that are visible to a version control system of your choice | Configure Packages
3 | Save the controlled packages to establish a model base and check these into the version control system | Save a Package

To apply version control, follow the steps below:

Step | Action | See also
1 | Continue working on a package until versioning is required |
2 | Check out the package XMI file from the version control system |
3 | Save the relevant package using the controlled package support |
4 | Check the package back into the version control system |

To recover an earlier version, follow the steps below:

Step | Action | See also
1 | Save the current version first This is important, because the package is completely deleted during the import process If necessary, manually update the version control system |
2 | Get the required package version from the version control system |
3 | Select the package to reload |
4 | Select the Package Control | Load package from file menu option to import the previous version Enterprise Architect deletes the controlled package and restores the previous version | Load a Package

Learn More:

  • Version Control


Report Deletion of Cross Package References [Enterprise Architect User Guide]

Report Deletion of Cross Package References

When saving an XMI 1.1 controlled package, if the Report Cross Package Reference Deletions (XMI 1.1) option is set in the Options dialog, Enterprise Architect compares the package being exported with the latest XMI 1.1 revision of the package.

Topics:

Topic

Detail

See also

Scenario

Master.eap contains two controlled packages - Package1 and Package2

You now import just the controlled package, Package2, into a new .eap file, New.eap

Since New.eap does not contain Package1 (and hence its element Class1), Enterprise Architect cannot show Class1 and the Association connector on the diagram Package2

When the package Package2 is exported to XMI from New.eap, the XMI file does not contain the information that the diagram Package2 used to contain the element Class1 and the Association connector

If you import this XMI file into Master.eap, Enterprise Architect removes the element Class1 and the Association connector from the diagram Package2

Identify Cross-Package References

In order to retain such cross-package references in XMI 1.1, you can set the Report Cross Package Reference Deletions (XMI 1.1) option so that when you save a controlled package, Enterprise Architect compares the latest XMI 1.1 revision of the package with the package being exported

Any items that are missing from the package are listed on the Missing Cross References dialog

XML Specifications

Actions

To merge missing items, as identified in the Missing Cross References dialog, into the XMI file that is being saved:

  • Select the checkbox against each item type
  • Click on the OK button

If you do not select any items, they are omitted from the saved XMI file

To abort or cancel this XMI Export (or Check-in, or Put Latest) operation

  • Click on the Cancel button

To review the details of an entry:

  • Double-click on the type

The details of each item are shown on the Missing <item type> dialog

You can copy a value from any of the columns in this dialog to the clipboard:

  • Click on the column value to highlight it; the selected value is shown in the bottom left corner of the dialog
  • Copy that value to the clipboard ( Ctrl+C )


CSV Import and Export [Enterprise Architect User Guide]

CSV Import and Export

Enterprise Architect enables you to import and export information about Enterprise Architect elements to and from CSV text files.

Topics:

Topic

Detail

See also

Specifications

To import and export element data from Enterprise Architect using CSV files, you must first set up one or more file specifications

You do this because the specification defines what types of value from the spreadsheet are to be imported, and how the information is translated between the spreadsheet and Enterprise Architect

CSV Specifications

Import From CSV

Once you have defined a CSV import specification, you can read in major element characteristics from a CSV text file

CSV Import

Export To CSV

Once you have defined a CSV export specification it is possible to write out major element characteristics to a CSV text file

CSV Export


Compare Projects [Enterprise Architect User Guide]

Compare Projects

It is often useful to compare the size and row counts of two projects; for example, after:

  • a database crash
  • importing from XMI, or
  • deleting model elements

Enterprise Architect examines the number of rows in each database and produces a report indicating the total records in each and the difference in record count between the two. No examination is made of the data in the table.

Comparing projects this way is a convenient 'sanity check' after restoring a backup or doing a project data transfer. If discrepancies are found, you must investigate further manually.

Access: Tools | Data Management | Project Compare

Use to:

  • Compare a .EAP file to another .EAP file
  • Compare a .EAP file to a DBMS-based repository
  • Compare two DBMS repositories

How to:

Step

Action

See also

1

Select the Project Compare menu option

The Project Compare dialog displays

2

Select the required comparison:

  • .EAP to .EAP
  • DBMS to .EAP
  • .EAP to DBMS
  • DBMS to DBMS

3

In the Source Project and Target Project fields, type the name or connection string for the Source and Target projects

4

Click on the Compare Projects button

The results of the comparison display in the panel at the bottom of the dialog

5

If required, click on the Print List button to print the results


CSV Specifications [Enterprise Architect User Guide]

CSV Specifications

To import and export element data to and from Enterprise Architect using CSV files, you must first set up one or more file specifications.

A file specification defines the:

  • Fields from the spreadsheet in the order they are imported or exported
  • Filename (optional) and
  • Delimiter between columns

Once you have defined one or more specifications, one can be selected in the CSV Import/Export dialog as the current specification to apply during an import or export action.

CSV Import/Exports only imports and exports elements (within packages) and their properties; items such as Class attributes cannot be imported or exported through this mechanism.

XMI import/export provides a solution to this limitation, as does use of the Automation Interface (Object Model).

Access: Project | Model Import/Export | CSV Import/Export Specifications

How to:

To define a specification:

  • Select the CSV Import/Export Specifications menu option
  • The CSV Import/Export Specification dialog displays; complete the fields as required, as indicated in the following table:

Field

Usage

See also

Specification Name

Select the unique name for this specification

Delimiter

Specify the character delimiter to use between record fields

If a field contains an instance of the delimiter, the field is exported wrapped in " (quotation marks) and all instances of " in the field are doubled (that is, " becomes "")

Notes

Record a brief description of the specification

Default Filename

Select the default filename

Default Direction

Set the default action - Import or Export

A specification can be used in either direction, but this enables you to set the default type

Default Types

Limit the element types being exported, by entering a comma-separated list: for example: class,requirement,component,node,object.

  • If you specify element types, ONLY elements of those types are exported or imported; therefore, in order to enable the Preserve Hierarchy option to operate (if selected) you must include Package as an element type, otherwise there are no packages in which to preserve the hierarchy
  • If you do not specify any default element types, all elements including Packages are exported or imported and the hierarchy can be preserved

Preserve Hierarchy

Include fields generated by Enterprise Architect to embed/reconstruct the package hierarchy

Using Preserve Hierarchy

Available Fields

Select from a list of possible record fields, not yet allocated

File Specification

List the record fields (in the order they are plotted across the spreadsheet) already assigned

Add Field

Move all selected fields in the top list to the bottom list

Remove Field

Move all selected fields in the bottom list back to the available list

New

Create a new specification

Save

Save changes to the currently selected specification

Save As

Save the current specification with a new name

Delete

Delete the current specification

Close

Close this dialog

Notes:

  • In Available Fields and File Specification, the record fields Created Date and Modified Date are not set when imported from CSV

Learn More:

  • XMI Import and Export
  • Enterprise Architect Object Model


Using Preserve Hierarchy [Enterprise Architect User Guide]

Using Preserve Hierarchy

The Preserve Hierarchy option on the CSV Import/Export Specification dialog includes fields generated by Enterprise Architect to embed/reconstruct the package hierarchy in a CSV import or export.

When selected, the Preserve Hierarchy option inserts two fields into the CSV specification that are:

  • automatically populated by Enterprise Architect on export and
  • used to reconstruct the exported package's hierarchy upon import.

Field | Usage | See also
CSV_KEY | A unique identifier for the current element This key is unique per export; subsequent exports produce different keys for the same set of elements |
CSV_PARENT_KEY | The corresponding CSV_KEY of the current element's parent If the field is left blank or references a non-existent CSV_KEY, the element is added to the top level of the package |

It is highly recommended that you do not change these fields if they have been automatically generated by Enterprise Architect's CSV exporter.

If you intend to import hierarchical information from a spreadsheet that was not populated by exporting data from Enterprise Architect, you must add these two fields to your spreadsheet as the last two columns, and populate the columns yourself.

For example:


CSV Export [Enterprise Architect User Guide]

CSV Export

Enterprise Architect enables you to export information about elements to a CSV text file, using a CSV export specification.

If you intend to re-import the exported information into Enterprise Architect at some point, it is recommended that you include the GUID field in the CSV export specification. This ensures that Enterprise Architect can identify and update existing elements, rather than creating duplicates.

Access: Project Browser | Package Context Menu | Import/Export | CSV Import/Export

How to:

To export data in CSV format, follow the steps below

  1. In the Project Browser, right-click on the package containing the elements to export and select the CSV Import/Export menu option
  2. The CSV Import/Export dialog displays; complete the fields as required, as indicated in the following table:

Field

Usage

See also

Package

Confirm the name of the current selected package

Specification

Specify the name of the export specification to use

CSV Specifications

Edit/New

Edit the export specification or create a new one

File

Specify the filename to export to

Types

List the element types to export: leave blank for all, or enter a comma-separated list of types

If you specify element types, ONLY elements of those types are exported; therefore, to enable the Preserve Hierarchy option in the specification to operate (if selected) you must include Package as an element type, otherwise no Packages are exported in which to preserve the hierarchy

If you do not specify any element types, all elements including Packages are exported and the hierarchy can be preserved

Action

Select the Export radio button to export to file

Print Results

Print out the result list

View File

View the resultant CSV file with the default Windows application for CSV files

Run

Perform the export

Close

Exit this dialog

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have both Export XMI and Import XMI permissions to use the CSV Import/Export option

Learn More:

  • List of Available Permissions


CSV Import [Enterprise Architect User Guide]

CSV Import

Enterprise Architect enables you to import information about elements from a CSV text file, using a CSV export specification.

You import the CSV file into a selected package; if this package or any element within the package has a lock on it, you cannot import the CSV file into it. The Import option on the dialog is grayed out.

The format and content of the source data file should resemble the following:

Access: Project Browser | Package Context Menu | Import/Export | CSV Import/Export

How to:

To import data in CSV format, follow the steps below:

  1. In the Project Browser, right-click on the package to import into and select the CSV Import/Export context menu option
  2. The CSV Import/Export dialog displays; set the required options; as outlined below:
Field | Usage | See also
Package | Confirm the name of the current selected package |
Specification | Specify the name of the import specification to use | Import specification
Edit/New | Edit the import specification or create a new one |
File | Specify the spreadsheet filename to import from |
Types | Not used for import |
Action | Select the Import radio button to import from the file (grayed-out if the package or a child item in the package is locked) |
Print Results | Print out the result list |
View File | View the source CSV file with the default Windows application for CSV files |
Run | Perform the import |
Close | Exit this dialog |

Notes:

  • When importing, Enterprise Architect checks the specification to see if there is a GUID field included; if there is, Enterprise Architect attempts to locate the element identified by the GUID and, if successful, updates the current element rather than creating a new one
  • If no GUID field is defined, or Enterprise Architect cannot locate the identified element, a new element is created and placed in the current package; during import, Type is a mandatory field in the source file and must match one or more of the legal Enterprise Architect element types: for example: Requirement, or Class
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have both Export XMI and Import XMI permissions to use the CSV Import/Export option

Learn More:

  • List of Available Permissions
  • Enterprise Architect element types


Perform a Project Data Transfer [Enterprise Architect User Guide]

Perform a Project Data Transfer

The Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect support a range of data repositories.

At some point, it might become necessary to move a complete model from one repository to another, row by row, table by table.

Access: Tools | Data Management | Project Transfer

Use to:

  • Upload an existing .EAP file to a SQL Server or MySQL repository
  • Download a repository in MySQL or SQL Server to a .EAP file
  • Move a repository from SQL Server to MySQL or from one server to another
  • Move all records from a .EAP file with replication to a model with none (Remove Replication)
  • Copy all records from a .EAP file to another (recommended after serious network crash or repeated database corruption)
  • Copy all records from a JET 3.5 to JET 4 (Access 2000 or XP) repository - or back the other way

How to:

To perform a project data transfer, follow the steps below:

Step

Action

See also

1

Take a backup of the target project to ensure that you can recover any important information it contains

2

Select the Project Transfer menu option

The Project Transfer dialog displays

3

Click on the option for the required transfer type:

  • .EAP to .EAP
  • DBMS to .EAP
  • .EAP to DBMS
  • DBMS to DBMS

4

In the Source Project and Target Project fields, type or select the name or connection string for the Source and Target projects

5

If you want to capture the transfer in a log file, select the Logfile checkbox and browse for the appropriate log file location

6

Click on the Transfer button

7

It is good practice to do a Project Compare after this process to verify that all records are written

Compare Projects

Notes:

  • All records in the target repository are overwritten
  • You cannot move a model from a source .EAP file of a version earlier than 3.5.0
  • You must transfer data into a repository (where scripts have been run to set up tables), not just a database; if necessary, follow the steps below:
  • Install the DBMS software and create a database; ensure that the collation is set to the alphabet you use, such as Latin or Cyrillic
  • Run a script supplied by Sparx Systems to create the required tables
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Transfer Data permission to transfer project data between repositories

Learn More:

  • Sparx Systems Scripts webpage
  • Create a Repository
  • List of Available Permissions


Copy Packages Between Projects [Enterprise Architect User Guide]

Copy Packages Between Projects

Using the XML import/export capabilities of Enterprise Architect, you can copy and move packages between Enterprise Architect projects.

This gives you a high level of flexibility in building a project from re-usable parts and from elements produced in widely-dispersed geographic regions.

Access: Project Browser | Package Context Menu | Import/Export | Export package to XMI file
Project Browser | Package Context Menu | Import/Export | Import package from XMI file

Use to:

  • Copy individual child packages within or between models
  • Duplicate larger structures, such as complete models or projects

How to:

To copy a package from one Enterprise Architect project to another, follow the steps below:

Step | Action | See also
1 | Open the Enterprise Architect project to copy from |
2 | In the Project Browser, right-click on the package to copy and select the Export package to XMI file option The Export Package to XMI dialog displays |
3 | Select the appropriate options and filename | Export to XMI
4 | Click on the Export button to begin the export process |
5 | When the export is complete, open the Enterprise Architect project to copy into |
6 | In the Project Browser, navigate to the location to import the package into |
7 | Right-click and select the Import package from XMI file option The Import Package from XMI dialog displays |
8 | Select the appropriate options and filename | Import from XMI
9 | Click on the Import button The package is copied from the source project to the destination project. |

Notes:

  • If the package you are importing already exists in the target project (that is, it has been imported previously), you must either import over the existing package or select the Strip GUIDs option

    In the latter case, Enterprise Architect creates a copy of the original package

Learn More:

  • Copy a Package
  • Copy Elements Between Packages


Project Management [Enterprise Architect User Guide]

Project Management

Enterprise Architect provides strong support for:

  • Project Management, in estimating project size, measuring risk and effort, and assigning resources to elements
  • Change control and maintenance

Topics:

Topic

Detail

See also

Metrics and Estimation

Project estimation is working out how much time and effort is required to build and deploy a solution

Enterprise Architect provides the Use Case metrics facility as a means of:

  • Measuring the complexity of a system
  • Getting an indication of the effort required to implement the model
  • Getting an indication of the project timescale

You base these estimates on carefully-calibrated metrics

Use Case Estimation

Resource Management

Resources are the people who work on a project

You can assign roles to resources and allocate tasks on specific model elements, which enables tracking of effort and estimation of time to complete

Project Resources

Project Maintenance

During a project you monitor and manage the development and progress of individual model elements

You can record problems, changes, issues and tasks that affect these individual elements as they arise, and document the solution and associated details

Similarly, Enterprise Architect helps you to manage changes and issues that apply to the whole system

Maintenance

Changes and Defects

Project Tasks and Issues

In the course of a project, there are various non-technical tasks that are vital to the successful management and completion of the project, such as meetings

Enterprise Architect helps you to record and monitor these, and to manage non-technical project issues as they arise

Project Tasks

Project Issues

Project Task Allocation

Learn More:

  • The Project Management Window
  • Personal Information
  • The Project Information Window
  • Project Calendar
  • Project Glossary
  • Update Package Status
  • Manage Bookmarks
  • Monitor Change Events


The Project Management Window [Enterprise Architect User Guide]

The Project Management Window

The Project Management window enables you to input the following quantities associated with an element contained in the model:

  • Resources - the people who work on a project, who can be assigned roles and allocated tasks
  • Effort - effort expended in work on the element
  • Risks - risk associated with the element
  • Metrics - metrics measured for an element

Each of these four quantities has a separate tab in the window.

Access: View | More Element Tools | Project Management

Reference:

Action | Usage | See also
New | Create new item | Resource Allocation Effort Management Risk Management Metrics
Save | Save changes to an item |
Save As New | Duplicate an existing entry You must change an item's Role for this to become enabled |
Delete | Delete an item from the list |
Sort | Sort the items in the list into alphabetical order |
Print | Print item data from the list |
Browse Element | Display the Element Browser window for the selected element, to list and select the project management items for the element | The Element Browser
Show/Hide Properties | Swap between detailed and summary window styles |
Help | Show help contents for this window. |

Notes:

  • Click on an element in the Project Browser to display project management information for that element in the Project Management window
  • The window has two formats:
  • List mode - provides a detailed list showing several columns of information
  • Item mode - a summary list plus an editor to add or edit information for a single selected item
  • Toggle between these modes using the Show/Hide Properties button in the window toolbar; each tab toggles between Item mode and List mode independently
  • An asterisk on a tab name indicates that the tab contains saved information; if there is no information for a category of item, or the information has not yet been saved, its tab has no asterisk
  • Right-click on the list to view the context menu, which enables you to add and delete list items


Project Resources [Enterprise Architect User Guide]

Project Resources

Resources are the people who work on a project. They can be assigned roles and allocated tasks, which enables tracking of effort and estimation of time to complete.

Resources are added, modified and deleted using the Project Management window.

Access: View | More Element Tools | Project Management (Ctrl+Shift+7)

Use to:

Usage | See also
Allocate a resource to an element | Resource Allocation
Record additional project management information for an element | Effort Management Risk Management Metrics
Obtain a report of resource allocation details | Resource Report
Configure Project Management data and populate the drop-down lists used on the Project Management dialog tabs | Roles Clients Effort Types Metric Types Risk Types

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Project Information permission to update and manage project resources, effort, metrics and risks

Learn More:

  • The Project Management Window
  • List of Available Permissions


Resource Allocation [Enterprise Architect User Guide]

Resource Allocation

In Enterprise Architect, the Project Manager can connect a named resource in a named role to a given model element.

To select the element to which to allocate resources, click on the required element in the Project Browser.

Access: View | More Element Tools | Project Management > Resource Allocation: New (Ctrl+Shift+7)

Use to:

  • Track how far development of required components and Classes has progressed

How to:

To enter resource allocation details for an element, follow the steps below:

Step

Action

See also

1

Select the element in the Project Browser

2

Select the Project Management menu option

The Project Management window displays, showing the Resource Allocation tab

The Project Management Window

3

Click on the New icon on the Project Management window toolbar

4

On the Resource Allocation tab enter the:

  • Name of the resource (click on the drop-down arrow and select, or type the name in)
  • Role of the resource (click on the drop-down arrow and select, or type the name in)
  • Start and end date for the availability of the resource
  • Time allocated to the resource
  • Percentage of the task the resource has completed
  • Expected time allocated to the resource
  • Actual time expended by the resource
  • Description of the work being done by the resource (this text is also displayed in the Notes window; it cannot be edited in that window)
  • Notes on the activity history of the work done by the resource (this text is also displayed in the Notes window; it cannot be edited in that window)

Notes

5

Click on the Save icon in the Project Management window toolbar

Notes:

  • To edit existing Resource Allocation items for this element, click on the required item in the:
  • List panel to the left of the window, in Item mode
  • List, in List mode
  • Project Management folder in the Element Browser window - if this window is not displayed, click on the Browse Element icon in the Project Management window toolbar; resource allocation item icons have an R in the bottom right corner

Learn More:

  • The Element Browser


Effort Management [Enterprise Architect User Guide]

Effort Management

In Enterprise Architect, the Project Manager can allocate effort (as time) to work on a given model element.

To select the element to which to allocate effort, click on the required element in the Project Browser.

Access: View | More Element Tools | Project Management > Effort: New (Ctrl+Shift+7)

Use to:

  • Enter the effort allocated to an element

How to:

To enter effort allocation details for an element, follow the steps below:

Step

Action

See also

1

Select the element in the Project Browser

2

Select the Project Management menu option

The Project Management window displays, showing the Resource Allocation tab

3

Click on the Effort tab

4

Click on the New icon on the Project Management window toolbar

5

On the Effort tab enter the:

  • Name of the effort (a short description)
  • Type of the effort (type the name or click on the drop-down arrow and select; the selection list is drawn from the global Effort Type list, but any new efforts you type in the Type field are not added to the list)
  • Time the effort is expected to expend
  • Notes on effort (this text is also displayed in the Notes window; it cannot be edited in that window)

Effort Types

Notes

6

Click on the Save icon in the Project Management window toolbar

Notes:

  • To edit existing Effort items for this element, click on the required item in the:
  • List panel to the left of the window, in Item mode
  • List, in List mode, or
  • Project Management folder in the Element Browser window - if this window is not displayed, click on the Browse Element icon in the Project Management window toolbar; effort item icons have an E in the bottom right corner
  • Although Enterprise Architect does not currently provide detailed reports on effort within a model, you can use the Automation Interface or similar tools to create your own custom reports based on effort information you enter

Learn More:

  • The Element Browser
  • Enterprise Architect Object Model


Risk Management [Enterprise Architect User Guide]

Risk Management

In Enterprise Architect, the Project Manager can allocate the possible weighting of defined risks to work on a given model element.

To select the element to which to allocate risk weightings, click on the required element in the Project Browser.

Access: View | More Element Tools | Project Management > Risks: New (Ctrl+Shift+7)

Use to:

  • Enter the details of risks that might impact work on an element

How to:

To enter risk details for an element, follow the steps below:

Step

Action

See also

1

Select the element in the Project Browser

2

Select the Project Management menu option

The Project Management window displays, showing the Resource Allocation tab

3

Click on the Risks tab

4

Click on the New icon on the Project Management window toolbar

5

On the Risks tab enter the:

  • Name of the risk (a short description)
  • Type of the risk (Mandatory: type the name or click on the drop-down arrow and select; the selection list is drawn from the global Risk Type list, but any new risks you type in the Type field are not added to the list)
  • Weighting allocated to the risk
  • Notes on the risk (this text is also displayed in the Notes window; it cannot be edited in that window)

Risk Types

Notes

6

Click on the Save icon in the Project Management window toolbar

Notes:

  • The risks described here are not the same as those represented by Risk elements; the risks described above are properties of a single element, whilst the Risk element represents something that can impact a range of other elements
  • If you select a global risk type from the Type drop-down list and the associated Weight field is empty, the default Weight value is allocated to the Weight field on the Risks tab
  • To edit existing Risk items for this element, click on the required item in the:
  • List panel to the left of the window, in Item mode
  • List, in List mode
  • Project Management folder in the Element Browser window - if this window is not displayed, click on the Browse Element icon in the Project Management window toolbar; risk item icons have an Ri in the bottom right corner
  • Although Enterprise Architect does not currently provide detailed reports on risks within a model, you can use the Automation Interface or similar tools to create your own custom reports based on risk information you enter

Learn More:

  • The Element Browser
  • Enterprise Architect Object Model
  • Risk Elements


Metrics [Enterprise Architect User Guide]

Metrics

In Enterprise Architect, the Project Manager can allocate the possible weighting of defined metrics to work on a given model element.

To select the element to which to allocate metric weightings, click on the required element in the Project Browser.

Access: View | More Element Tools | Project Management > Metrics: New (Ctrl+Shift+7)

Use to:

  • Enter the details of metrics that you might apply to work on an element

How to:

To enter metric details for an element, follow the steps below:

Step

Action

See also

1

Select the element in the Project Browser

2

Select the Project Management menu option

The Project Management window displays, showing the Resource Allocation tab

3

Click on the Metrics tab

4

Click on the New icon on the Project Management window toolbar

5

On the Metrics tab enter the:

  • Name of the metric (a short description)
  • Type of the metric (Mandatory: type the name or click on the drop-down arrow and select; the selection list is drawn from the global Metric Type list, but any new metrics you type in the Type field are not added to the list)
  • Weighting allocated to the metric
  • Notes on the metric (this text is also displayed in the Notes window; it cannot be edited in that window)

Metric Types

Notes

6

Click on the Save icon in the Project Management window toolbar

Notes:

  • If you select a global metric type from the Type drop-down list and the associated Weight field is empty, the default Weight value is allocated to the Weight field on the Metrics tab
  • To edit existing Metric items for this element, click on the required item in the:
  • List panel to the left of the window, in Item mode
  • List, in List mode
  • Project Management folder in the Element Browser window - if this window is not displayed, click on the Browse Element icon in the Project Management window toolbar; metric item icons have an M in the bottom right corner
  • Although Enterprise Architect does not currently provide detailed reports on metrics within a model, you can use the Automation Interface or similar tools to create your own custom reports based on metric information you enter

Learn More:

  • The Element Browser
  • Enterprise Architect Object Model


Effort Types [Enterprise Architect User Guide]

Effort Types

Enterprise Architect enables you to add an effort type to the global list of effort types that can be added to any element in the model.

The global list of effort types displays in the Type field drop-down list on the Effort tab of the Project Management window.

Access: Settings | Project Types | Project Indicators > Effort: New

Use to:

  • Specify the effort types used when assigning effort to an element

How to:

To add a new effort type to the global list, follow the steps below:

Step

Action

See also

1

Select the Project Indicators menu option

The Project Indicators dialog displays

2

Click on the Effort tab.

3

Click on the New button

(To edit an existing effort type, click on the effort type name in the Defined Effort Types list)

4

Complete the fields as follows:

  • In the Effort field type the name of the effort type
  • In the Description field type a short description of the effort type
  • In the Weight field type the default weighting to apply to the effort type
  • In the Note field, type any additional information on the effort type

5

Click on the Save button.

Notes:

  • Although Enterprise Architect does not currently provide detailed reports on effort within a model, you can use the Automation Interface or similar tools to create your own custom reports based on effort information you enter
  • You can transport effort types between models, using Export Reference Data and Import Reference Data

Learn More:

  • The Project Management Window
  • Enterprise Architect Object Model
  • Export Reference Data
  • Import Reference Data


Metric Types [Enterprise Architect User Guide]

Metric Types

Enterprise Architect enables you to add a metric type to the global list of metric types that can be added to any element in the model.

The global list of metric types displays in the Type field drop-down list on the Metrics tab of the Project Management window.

Access: Settings | Project Types | Project Indicators > Metric: New

Use to:

  • Specify the metric types used when assigning metrics to an element

How to:

To add a new metric type to the global list, follow the steps below:

Step

Action

See also

1

Select the Project Indicators menu option

The Project Indicators dialog displays

2

Click on the Metric tab.

3

Click on the New button

(To edit an existing metric type, click on the metric type name in the Defined Metrics list)

4

Complete the fields as follows:

  • In the Metric Type field type the name of the metric type
  • In the Description field type a short description of the metric type
  • In the Weight field type the default weighting to apply to the metric type
  • In the Note field, type any additional information on the metric type

5

Click on the Save button.

Notes:

  • Although Enterprise Architect does not currently provide detailed reports on metrics within a model, you can use the Automation Interface or similar tools to create your own custom reports based on metric information you enter
  • You can transport metric types between models, using Export Reference Data and Import Reference Data

Learn More:

  • The Project Management Window
  • Enterprise Architect Object Model
  • Export Reference Data
  • Import Reference Data


Risk Types [Enterprise Architect User Guide]

Risk Types

Enterprise Architect enables you to add a risk type to the global list of risk types that can be added to any element in the model.

The global list of risk types displays in the Type field drop-down list on the Risks tab of the Project Management window.

Access: Settings | Project Types | Project Indicators > Risk: New

Use to:

  • Specify the risk types used when defining risks to an element

How to:

To add a new risk type to the global list, follow the steps below:

Step

Action

See also

1

Select the Project Indicators menu option

The Project Indicators dialog displays

2

Click on the Risk tab.

3

Click on the New button

(To edit an existing risk type, click on the risk type name in the Defined Risks list)

4

Complete the fields as follows:

  • In the Risk Type field type the name of the risk type
  • In the Description field type a short description of the risk type
  • In the Weight field type the default weighting to apply to the risk type
  • In the Note field, type any additional information on the risk type

5

Click on the Save button

Notes:

  • Although Enterprise Architect does not currently provide detailed reports on risks within a model, you can use the Automation Interface or similar tools to create your own custom reports based on risk information you enter
  • You can transport risk types between models, using Export Reference Data and Import Reference Data

Learn More:

  • The Project Management Window
  • Enterprise Architect Object Model
  • Export Reference Data
  • Import Reference Data


The Project Information Window [Enterprise Architect User Guide]

The Project Information Window

The Project Information window documents tasks and issues that relate directly to the current project, and enables you to view and develop the project glossary of terms.

Access: View | More Project Tools | Project Information ( Alt+2 )

Use to:

Usage | See also
Review major project tasks that require attention; you can filter tasks based on their current status | Project Tasks
Review events, occurrences and situations that impact on project development and delivery | Project Issues
Review the technical and business terms already defined for a model You can add to the list, delete or change items, and filter the list to exclude by type | Project Glossary

You can add or work on an item in the Project Information window by right-clicking (context menu) or double-clicking on the blank or completed item line.

Notes:

  • Right-clicking in the Project Information window displays a context menu that has options for filtering tasks/issues by status, and glossary by term; you can also rearrange the sort-order by clicking in the title bar of the column that the items are to be indexed on


Project Tasks [Enterprise Architect User Guide]

Project Tasks

The Project Tasks List is a convenient 'To Do' list of major project work items that are not recorded elsewhere, and can be used to track events such as requests or corrections. It is a tab of the Project Information window.

Notes:

  • Right-click on the list to view the context menu, and select to add, modify or delete tasks, or to set a status filter
  • To set the sort order, click the title-bar of the column on which to index the tasks
  • To print out the currently displayed items, select the Print List context menu option
  • You can transport task definitions between models using Export Reference Data and Import Reference Data

Learn More:

  • Add, Modify and Delete Tasks
  • Export Reference Data
  • Import Reference Data


Add, Modify and Delete Tasks [Enterprise Architect User Guide]

Add, Modify and Delete Tasks

This topic explains how to maintain project tasks.

Access: View | More Project Tools | Project Information > Project Tasks
View | Project Calendar > Project Tasks mode
View | Personal Information > Project Tasks

Use to:

  • Add project tasks
  • Edit project tasks
  • Delete project tasks

How to:

To maintain tasks, follow the steps below:

Step

Action

See also

1

If creating a new task:

  • Double-click in a blank area of the Project Tasks tab, or on a cell of the Project Calendar

If editing an existing item:

  • Double click on the item on the Project Tasks tab or Project Calendar

The Task Detail dialog displays

The Project Information Window

Project Calendar

2

Enter or update the following details of the task, selecting a value from the field's drop-down list where appropriate:

  • The task name
  • Auto counters - if you have configured these, click on the Auto button
  • The task type
  • The task owner
  • The expected start and end date for the task (select the check boxes to activate the dates)
  • The current status of the task
  • The person this task has been assigned to
  • The task priority: high, medium or low
  • The expected total time for the task and the actual time expended
  • The percentage complete
  • The phase associated with this task
  • A description of the task
  • Any progress history appropriate to the task

Use Auto Naming and Auto Counters

3

Click on the Apply button

4

To create another entry, click on the New button, or to close, click on the OK button

5

To delete a task:

  • Right-click on the task and select the Delete context menu option
  • Click on the Yes button on the confirmation prompt


Project Issues [Enterprise Architect User Guide]

Project Issues

Any identified issues can be recorded against the current project, on either the:

  • Project Issues tab of the Project Information window, or
  • Project Issues dialog

For each Issue, you record the description, date, owner and status.

Access: View | More Project Tools | Project Information > Project Issues tab ( Alt+2 )
Project | Documentation | Issues

Usage | See also
Add, edit and delete Issues | Add, Delete and Modify Issues
Generate and view a rich text format report of your issue list | Report From Project Issues Dialog Report From Project Issues Tab Report Output Sample

Notes:

  • You can transport these issue definitions between models, using Export Reference Data and Import Reference Data
  • To print out the currently displayed items, select the Print List context menu option
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Issues permission to update and delete Issues records

Learn More:

  • Export Reference Data
  • Import Reference Data
  • List of Available Permissions


Add, Delete and Modify Issues [Enterprise Architect User Guide]

Add, Delete and Modify Issues

This topic explains how to maintain project issue records using either the:

  • Issue Detail dialog from the Project Issues tab of the Project Information window, or
  • Project Issues dialog

These two dialogs have very similar fields.

Access: View | More Project Tools | Project Information > Project Issues tab ( Alt+2 )
Project | Documentation | Issues

Use to:

  • Add project issues
  • Edit project issues
  • Delete project issues

How to:

To maintain issues, follow the steps below:

Step

Action

See also

1

If creating a new issue:

  • On the Project Issues tab, double-click in a blank area to display the Issue Detail dialog
  • On the Project Issues dialog, click on the New button

If editing an existing item:

  • On the Project Issues tab, double click on the item
  • On the Project Issues dialog, click on the item in the Project Issues & Discussion list

The Project Information Window

2

Enter or update the following issue details, selecting a value from the field's drop-down list where appropriate:

  • The issue name
  • Auto counters - if you have configured these, click on the Auto button
  • The issue priority
  • The date the issue was raised
  • The issue status
  • The issue owner
  • A description of the issue
  • The name of the person who resolved the issue
  • The date on which the issue was resolved (select the check box to activate the date)
  • Any comments on the resolution

Use Auto Naming and Auto Counters

3

Click on the Apply or Save button

4

If the issue is closed (and all the Resolution fields are completed), click on the Close Issue button

5

To create another entry, click on the New button, or to close, click on the OK or Close (Project Issues dialog) button.

6

To delete an issue:

  • On the Project Issues tab, right-click on the entry and select the Delete context menu option, then click on the Yes button on the confirmation prompt
  • On the Project Issues dialog, click on the item in the Project Issues & Discussion list, ensure that the Resolution fields are complete, then click on the Delete button

Notes:

  • You cannot delete a Closed issue through the Project Issues dialog
  • You can filter the list of issues by status, to include or exclude:
  • On the Project Issues dialog, closed issues, using the Show Closed Issues checkbox
  • On the Project Issues tab, all issues or just Open, Closed or Under Review issues, using the Set Term Filter context menu option


Report From Project Issues Dialog [Enterprise Architect User Guide]

Report From Project Issues Dialog

This topic explains how to generate an RTF report on your project issue records using the Project Issues dialog.

Access: Project | Documentation | Issues

Use to:

  • Generate and view an RTF report on project issues

How to:

To generate your project issues report, follow the steps below:

Step | Action | See also
1 | On the Project Issues dialog, click on the Report button The Save As dialog displays |
2 | Browse for and select the appropriate file location In the File name field, type the file name for the report |
3 | Click on the Save button A status message displays when the report has been generated |
4 | Click on the OK button and then on the View RTF button The report displays in your default viewer | Report Output Sample


Report From Project Issues Tab [Enterprise Architect User Guide]

Report From Project Issues Tab

This topic explains how to generate an RTF report on your project issue records using the Project Issues tab of the Project Information window.

Access: View | More Project Tools | Project Information > Project Issues tab ( Alt+2 )

Use to:

  • Generate and view an RTF report on project issues

How to:

To generate your project issues report, follow the steps below:

Step | Action | See also
1 | Right-click on the Project Issues tab; select the Create RTF Report context menu option The Save As dialog displays |
2 | Browse for and select the appropriate file location In the File name field, type the file name for the report |
3 | Click on the Save button A status message displays when the report has been generated |
4 | Click on the OK button and then on the View RTF button The report displays in your default viewer | Report Output Sample


Report Output Sample [Enterprise Architect User Guide]

Report Output Sample

The following illustration is an example of the output from an Issues report.

List of Project Issues: 24-Jul-2010 9:47:00 AM

Issue | Date/Owner | Description | Resolution
Test servers will be delayed | 24/07/2010 Eloise Norman | The test server builds have been delayed because the particular (unusual) memory requirements to match the customer's site are not available on shore. They are being sourced from Singapore but it will delay the builds and delivery of the machines. | Closed: 24/07/2010 Geoffrey Sparks The machines will be built and delivered using standard memory and the proprietary memory will be added later. All performance tests will be delayed until the memory is available.
Public Holidays | 24/07/2010 Joanna Stoat | The schedule includes staff working on public holidays. A number of staff have indicated that contrary to what they stated earlier they are not available. | Open: 24/07/2010
Compiler Version disparity | 24/07/2010 Eloise Norman | A number of the developers have downloaded different versions of a number of the compilers. This has lead to unpredictable builds impacting on testing. | Under Review: 24/07/2010


Project Glossary [Enterprise Architect User Guide]

Project Glossary

The Project Glossary enables you to set up a list of defined terms for your project.

Access: View | More Project Tools | Project Information > Project Glossary ( Alt+2 )
Project | Documentation | Glossary

Usage

See also

Add, delete and modify the project glossary entries through either the:

  • Project Glossary tab on the Project Information window, or
  • Glossary dialog

Project Glossary Tab

The Glossary Dialog

Separate glossary items by category; for example, Business terms and Technical terms

Project Glossary Tab

The Glossary Dialog

Save the glossary in Rich Text format for inclusion as part of a larger project document

Generate a Report

Create glossary terms and definitions from text in the Notes window, or from any Notes or Description fields that have the Notes toolbar

Notes

Insert existing glossary terms into any other Notes fields

Notes

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Glossary permission in order to create, update or delete Glossary items; if security is not enabled, you can manage Glossary items without any permissions
  • You might include a Glossary Report in your project requirements or functional specifications documents
  • You can transport glossary definitions between models, using Export Reference Data and Import Reference Data

Learn More:

  • Export Reference Data
  • Import Reference Data


Project Glossary Tab [Enterprise Architect User Guide]

Project Glossary Tab

The Project Glossary tab in the Project Information window shows displays the glossary terms already defined for your model.

Access: View | More Project Tools | Project Information > Project Glossary tab ( Alt+2 )

Use to:

  • Add glossary terms
  • Modify glossary terms
  • Change a definition type for all terms of that type
  • Filter the display show terms of a specific type only
  • Print the displayed list of terms
  • Delete glossary terms

How to:

Right-click on an entry on the Glossary tab, and select the appropriate context menu option for the operation you intend to perform (as listed above); if you select the:

  • Add New or Modify Selected options, the Glossary Detail dialog displays; complete the fields as indicated in the following table:

Field

Usage

See also

Term

Type the term to include in the glossary

Type

(Mandatory) Select the required type

If you require a different glossary type, click on the ( ... ) (browse) button and specify the name of the new type

This field applies the type only to the selected term; you can rename a type for all terms of that type, using the context menu as described below

Meaning

(Mandatory) Type the definition or description of the term

If necessary, format the text of this description using the Notes toolbar at the top of the field

Notes

New

Clear the dialog fields so that you can define a new Glossary term

Apply

Save the new or updated glossary entry

Delete

Delete the entry

A prompt displays to confirm the deletion; click on the Yes button to remove the term from the glossary

  • Rename type option, the Rename Glossary Type dialog displays on which you enter the alternative type name (either one of the existing types or a new type); when you click on OK, all entries of the original type are changed to the new type
  • Set term filter option, the Term Type Filter dialog displays on which you enter the type of glossary term to list; when you click on OK, only items of that type are shown on the Project Glossary tab
  • Remove term filter option, the Project Glossary tab refreshes to show glossary items of all types
  • Print List option, the Print dialog displays on which you define the printing parameters; when you click on OK, the currently-displayed list prints out
  • Delete option, a prompt displays to confirm the deletion; click on the Yes button to remove the term from the glossary

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Glossary permission in order to create, update or delete Glossary items; if security is not enabled, you can manage Glossary items without any permissions


The Glossary Dialog [Enterprise Architect User Guide]

The Glossary Dialog

The Glossary dialog enables you to create and maintain definitions of terms used in your project, as a Glossary.

Access: Project | Documentation | Glossary

Use to:

  • Add, modify and delete glossary entries
  • Filter the dialog display to list entries of a specific type only

How to:

Select the Glossary menu option and complete the Glossary dialog as indicated below

Field

Usage

See also

Glossary Term

Type the term to include in the glossary

Glossary Type

(Mandatory) Select the required type

If you require a different glossary type, click on the ( ... ) (browse) button and specify the name of the new type

This field applies the type only to the selected term; you can rename a type for all terms of that type, using the Project Glossary tab of the Project Information window

Project Glossary Tab

Description

(Mandatory) Type the definition or description of the term

If necessary, format the text of this description using the Notes toolbar at the top of the field

Notes

Limit Display To

Select the appropriate glossary type to filter the Type | Term list to show entries of that type only

Select All to display all glossary entries

New

Clear the dialog fields so that you can define a new Glossary term

Type | Term

Review the list of defined glossary terms; click on an entry to edit it in the dialog fields

Save

Save the new or updated glossary entry

Delete

Delete the entry selected from the Type | Term list

Report

Generate and print a glossary report

Generate a Report

Glossary Report Output Sample

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Glossary permission in order to create, update or delete Glossary items; if security is not enabled, you can manage Glossary items without any permissions


Generate a Report [Enterprise Architect User Guide]

Generate a Report

You can generate a rich text format file of your model's glossary, which you can either print or attach to any other appropriate document file.

The file can contain all glossary entries, or just those of selected types.

Access: Project | Documentation | Glossary: Report

Use to:

  • Generate a formatted RTF document file of your model glossary

How to:

To generate an RTF report of the project glossary, follow the steps below:

Step | Action | See also
1 | Select the Glossary menu option The Glossary dialog displays |
2 | Click on the Report button The Glossary Report dialog displays |
3 | In the Filename field, type or select a filename for the glossary |
4 | In the Heading field, type a suitable heading for the glossary |
5 | In the Include Glossary Items panel, select the checkbox for each type of glossary entry to include To select all types of entry, click on the Select All button |
6 | If necessary, to define the page setup and language for the report, click on the Page Setup and/or Language buttons |
7 | To include page breaks, select the Page break between sections checkbox |
8 | Click on the Generate button to generate the report |
9 | Click on the View button to open the report | Glossary Report Output Sample


Glossary Report Output Sample [Enterprise Architect User Guide]

Glossary Report Output Sample

An example of the output from a Glossary report is shown below:

Glossary

Business Terms

Accounting Periods

A defined period of time whereby performance reports can be extracted. (normally 4 week periods).

Customer

A person or a company that requests An entity to transport goods on their behalf.

Technical Terms

Association

A relationship between two or more entities. Implies a connection of some type - for example one entity uses the services of another, or one entity is connected to another over a network link.

Component Model

The component model provides a detailed view of the various hardware and software components that make up the proposed system. It shows both where these components reside and how they inter-relate with other components. Component requirements detail what responsibilities a component has to supply functionality or behavior within the system.

Deployment Model

A model of the system as it is physically deployed.

Extends Relationship

A relationship between two Use Cases in which one Use Case 'extends' the behavior of another. Typically this represents optional behavior in a Use Case scenario - for example a user might optionally request a list or report at some point in a performing a business Use Case.


Project Task Allocation [Enterprise Architect User Guide]

Project Task Allocation

The Project Task Allocation window enables you to review the allocation of work to elements in the project, focussing on either the elements that require work, or the resources required to perform the work. The window primarily shows information that is entered through other windows and dialogs, but once a record exists in the window you can edit it and, for example, add to or change the resources on an element.

Access: View | Task Allocations

Topics:

Topic | Detail | See also
Resource View | The Resource View shows the current commitments of each allocated resource in the project as a list of allocation records and a Gantt chart of the progress of the allocations | Resource View
Element View | The Element View lists the elements in the project that have resources assigned to them, and the resources assigned to each element, as a list of allocation records and a Gantt chart of the progress of the allocations | Element View
Report View | A Resource report shows how your resources are deployed in your project, displaying a list of all elements that have resources allocated to them | Report View


Resource View [Enterprise Architect User Guide]

Resource View

The Resource View of the Project Task Allocation window shows the current commitments of each allocated resource in the project as a list of allocation records and a Gantt chart of the progress of the allocations.

The display initially shows the resources and their overall commitment; click on the 'plus-box' to the left of the name of the resource to expand the entry to show the elements and the allocation period for each element.

The display shows both complete allocations and those that are still in progress; an internal filter hides completed allocations two weeks after the end date, and incomplete allocations one month after the end date.

Access: View | Task Allocations > Resource View

Use to:

  • Check the dates on which specific resources or all resources are currently allocated
  • Check the elements to which each resource is allocated
  • Check the dates on which a resource is allocated to work on a specific element
  • Check the general progress of the resource in completing the work
  • Check the specific details of the allocation of a resource to an element and task or role

How to:

On the Resource View tab, make selections from the options as indicated below:

Option

Usage

See also

Filter the display

Right-click on the window and select the Apply Filter context menu option

The Filter Bar displays at the top of the Resource and Role or Task columns; type in a text string to filter for element names and role or task names, respectively, that begin with the text

List Header

Display the properties of the element to which the resource is assigned

Right-click on the entry and select the Object Properties context menu option

The Properties dialog for the element displays

Properties Dialog

Display the resource allocation details

Right-click on the entry and select the Task Properties context menu option

The Assigned Resources dialog displays; you can edit the details and, if necessary, change the resource allocated to the element

Resource Allocation

The Project Management Window

Refresh the report

Right-click on the entry and select the Refresh context menu option

The content of the display is refreshed and collapsed to resource level

Display the Resource Allocation records for the element

Right-click on the entry and select the Locate in Resource Window context menu option

The Project Management window opens at the Resource Allocation tab, with the details of the selected entry shown in the fields and the other resource allocations for the element listed in the left-hand panel

You can edit the details and, if necessary, change the resource allocated to the element

Resource Allocation

The Project Management Window

Reposition the Gantt chart to show the start date or end date of an allocation, or today's date

Right-click on the entry and select the required option:

  • Go To | Task Start
  • Go To | Task End
  • Go To | Today's Date

The display shifts to put the required date in the center of the chart

Locate the element in the Project Browser

Right-click on the element name and select the Find in Project Browser context menu option

The area of the Project Browser containing the element is brought into focus and expanded, and the element is highlighted

Save an image of the Gantt chart to file

Right-click on the tab and select the Save Image to File context menu option

The Save As Image dialog displays, on which you specify the file name, location and graphics file type to save to

Save an image of the Gantt chart to the clipboard

Right-click on the tab and select the Copy Image to Clipboard context menu option

You can paste the image from the clipboard into your preferred graphics package


Element View [Enterprise Architect User Guide]

Element View

The Element View of the Project Task Allocation window lists the elements in the project that have resources assigned to them and the resources assigned to each element, as a list of allocation records and a Gantt chart of the progress of the allocations. An allocation can be partial, in that a role or task is assigned but no specific resource has been identified.

The display initially shows the elements and their overall resource commitment; click on the 'plus-box' to the left of the name of the element to expand the entry to show the resources and the allocation period for each resource.

The display shows both complete allocations and those that are still in progress; an internal filter hides completed allocations two weeks after the end date, and incomplete allocations one month after the end date.

Access: View | Task Allocations > Element View

Use to:

  • Check the dates on which specific elements have resources currently allocated
  • Check which resources are currently allocated to an element
  • Assign further resources to the element
  • Check the dates on which a resource is allocated to work on a specific element
  • Check the general progress of the resource in completing the work
  • Check the specific details of the allocation of a resource to an element and task or role

How to:

On the Element View tab, make selections from the options as indicated below:

Option

Usage

See also

Filter the display

Right-click on the window and select the Apply Filter context menu option

The Filter Bar displays at the top of the Element and Role or Task columns; type in a text string to filter for resource names and role or task names, respectively, that begin with the text

List Header

Display the properties of the element

Right-click on the element and select the Properties context menu option

The Properties dialog for the element displays

Properties Dialog

Display the resource allocation details

Right-click on the resource and select the Properties context menu option

The Assigned Resources dialog displays; you can edit the details and, if necessary, change the resource allocated to the element

Resource Allocation

The Project Management Window

Assign a new resource to the element

Right-click on the resource and select the Assign Resource context menu option

The Assigned Resources dialog displays; complete this as for the Resource Allocation tab of the Project Management window

Resource Allocation

The Project Management Window

Refresh the report

Right-click on the display and select the Refresh context menu option

The content of the display is refreshed and collapsed to element level

Display the Resource Allocation records for the element

Right-click on the entry and select the Locate in Resource Window context menu option

The Project Management window opens at the Resource Allocation tab, with the details of the selected entry shown in the fields and the other resource allocations for the element listed in the left-hand panel

You can edit the details and, if necessary, change the resource allocated to the element

Resource Allocation

The Project Management Window

Reposition the Gantt chart to show the start date or end date of an allocation, or today's date

Right-click on the entry and select the required option:

  • Go To | Task Start
  • Go To | Task End
  • Go To | Today's Date

The display shifts to put the required date in the center of the chart

Locate the element in the Project Browser

Right-click on the element name and select the Find in Project Browser context menu option

The area of the Project Browser containing the element is brought into focus and expanded, and the element is highlighted

Save an image of the Gantt chart to file

Right-click on the tab and select the Save Image to File context menu option

The Save As Image dialog displays, on which you specify the file name, location and graphics file type to save to

Save an image of the Gantt chart to the clipboard

Right-click on the tab and select the Copy Image to Clipboard context menu option

You can paste the image from the clipboard into your preferred graphics package


Report View [Enterprise Architect User Guide]

Report View

The Report View shows how your resources are deployed in your project, displaying:

  • a list of all elements that have resources allocated to them, and the type of each element
  • the resource allocated, and the role played by that resource
  • the start and end dates of the allocation
  • the time allocated, expected and expended
  • the percentage completion of the allocation

You can tailor the displayed information by:

  • Hiding columns of information
  • Grouping types of information
  • Filtering the data by status
  • Filtering the data by start date or end date
  • Filtering any column to show only a specific value

Having displayed the information you require, you can print it.

Access: View | Task Allocations > Report View

Use to:

Identify, for example:

  • What elements each resource is working on
  • What resources are assigned to an element or package
  • How close to completion your resources are, or
  • How long a resource is assigned to a particular area.

How to:

On the Report View tab, make selections from the options as indicated below:

Option

Usage

See also

Run the report

Click on the first icon in the Report View toolbar (the rotating arrows)

The report results display

If you have the report open for a while, you can update the information; either:

  • Run the report again or
  • Right-click on the content and select the Refresh context menu option

Adjust column headings

Drag and drop column headings into the sequence you require

Right-click on the column headings and select the Field Chooser context menu option, to add or remove columns using the Field Chooser dialog

List Header

Group entries by column heading

Right-click on the column headings and select the Enable Group Box context menu option, to cluster the report information according to your preferred hierarchy of column headings

List Header

Filter columns

Either:

  • Click on the third toolbar icon from the right (the spy glass), or
  • Right-click on the column headings and select the Toggle Filter Bar context menu option

The filter field displays at the top of every column

Type in whatever text string you require in the appropriate column to filter the report to show only entries containing that text string in that column

List Header

Filter by degree of completion

In the first field in the toolbar, click on the drop-down arrow and select one of the following values:

  • All - Display all entries regardless of degree of completion
  • Completed - Display only those entries where the allocation is 100% completed
  • Above cut-off - Display only those entries that are more than a certain percentage complete
  • Below cut-off - Display only those entries that are less than a certain percentage complete

In the second field, either type a threshold value or increment to the value using the up/down arrows, to set the percentage completion for the Above/Below cut-off options

Filter according to start/end date

Click on the fourth toolbar icon from the right (the funnel)

The Resource Filters dialog displays

In the Start Date and/or End Date field, click on the drop-down arrow and select the appropriate qualifier:

  • After
  • Before
  • Equal To
  • Not Equals

In the date fields, click on the checkbox to activate the fields and either type in the day, month and year or click on the drop-down arrow to select the date from a calendar

The fields have an AND relationship; an entry must satisfy both date criteria before it is displayed

Display the properties of the element to which the resource is assigned

Right-click on the entry and select the Object Properties context menu option

The Properties dialog for the element displays

Properties Dialog

Display the resource allocation details

Right-click on the entry and select the Task Properties context menu option

The Assigned Resources dialog displays

Resource Allocation

The Project Management Window

Display the Resource Allocation records for the element

Right-click on the entry and select the Locate in Resource Window context menu option

The Project Management window opens at the Resource Allocation tab, with the details of the selected entry shown in the fields and the other resource allocations for the element listed in the left-hand panel

Resource Allocation

The Project Management Window

Locate the element in the Project Browser

Right-click on the entry and select the Find in Project Browser context menu option

The area of the Project Browser containing the element is brought into focus and expanded, and the element is highlighted

Print the report

Either:

  • Click on the second toolbar icon from the right (the printer) or
  • Right-click on an entry in the report and select the Print context menu option

The Print dialog displays, on which you specify the printer to use and the characteristics of the print job


Spell Checking [Enterprise Architect User Guide]

Spell Checking

Enterprise Architect provides a powerful spell checking facility. This operates at both project level and package level.

Topics:

Topic

Detail

See also

Automatic Spell Checking

The spell checker can be set to run automatically, so that it highlights possible errors in text as it is created or pasted in:

  • Select Tools | Options > Objects
  • Deselect or select the Disable spelling checkbox

Spelling Configuration

You can configure what types of text error the spell checker should detect, using the Spelling Options dialog

Select Spell Checker Options

Using Languages Other Than English

Enterprise Architect is supplied with dictionaries for US English and British English; you can download a set of dictionaries for other languages from the Sparx Systems website

Use Languages Other Than English

Using the Spell Checker

You can run the spell checker manually on the whole model, or on a selected package

Using the Spell Checker

Correcting Text

As the spell check progresses, Enterprise Architect highlights any errors or unknown words; you have several options for responding to these potential spelling errors

Correcting Words

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Spell Check permission to perform any spell check or change any spell check options

Learn More:

  • List of Available Permissions


Select Spell Checker Options [Enterprise Architect User Guide]

Select Spell Checker Options

You can configure the spell checker to ignore or detect specific types of text conformation. Ignoring the conformation means to skip over the text without identifying it as an error.

Access: Tools | Spelling Tools | Spelling Options

How to:

To configure the spell checker, select the options for the checks you require on the Spelling Options dialog, as described below:

Option

Action

See also

Ignore capitalized words

Ignore any words beginning with a capital letter, such as David

You might enable this option if the text being checked contains many proper names

Ignore all-caps words

Ignore any words containing all capital letters, such as RADAR

You might enable this option if the text being checked contains many acronyms

Ignore Words with Numbers

Ignore any words containing embedded digits, such as Win95 and Q4

You might enable this option if the text being checked contains many code words or other symbols containing digits

Ignore Words with Mixed Case

Ignore any words containing an unusual mixture of upper- and lower-case letters, such as MicroHouse and CapsLock.

You might enable this option if the text being checked contains many variable names or other symbols that use case changes to distinguish words

Ignore Domain Names

Ignore any words that appear to be Internet domain names, such as wintertree-software.com

Report Doubled Words

Detect any word appearing twice in a row, such as the the

Case Sensitive

Distinguish between capitalized and non-capitalized words

For example, canada would be considered as different from Canada, and therefore reported as a misspelling

When the option is disabled, canada and Canada are considered to be identical

Note that the performance of the spell checker is reduced if this option is disabled

Phonetic Suggestions

Suggest alternative words based on phonetic (sounds-like) similarity to the misspelled word; this option tends to improve the correction of badly misspelled words

Enabling this option increases the time required to locate suggestions

Note that either this option or the Typographical Suggestions option must be enabled in order to list suggestions of alternative words

Typographical Suggestions

Suggest alternative words based on typographical (looks-like) similarity to the misspelled word. This option is appropriate for people who are generally good spellers

Note that either this option or the Phonetic Suggestions option must be enabled in order to list suggestions of alternative word

Suggest Split Words

Suggest two separate words as a replacement for a misspelling containing two joined words

For example, is the would be suggested as a replacement for isthe

Auto Correct

Automatically change words marked with Auto Change actions to their specified replacements

When this option is disabled, a confirmation prompt displays before the words are changed

Main Dictionary Language

Set the language of the main dictionary used to check spelling; the drop-down list shows only languages for which dictionaries are installed on your system

To check spelling in a different language, select the language in the list

Use Languages Other Than English

Suggestions

Determine the speed and accuracy of the initial automatic search for suggested replacements for misspelled words

Click on the appropriate radio button for your choice

OK

Close the Options dialog, and save any changes made to the option settings

Cancel

Close the Options dialog, and discard any changes made to the option settings

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Spell Check permission to to perform any spell check or change any spell check options

Learn More:

  • List of Available Permissions


Use Languages Other Than English [Enterprise Architect User Guide]

Use Languages Other Than English

Enterprise Architect is supplied with three dictionaries, for US English, Canadian English and British English. Additional dictionaries are available as a set, for download from the registered pages of the Sparx Systems website.

Use to:

  • Download and install the language pack of dictionaries so that you can select another language in which to perform the spell check

How to:

To download the additional language dictionary pack, follow the steps below:

Step | Action | See also
1 | Access the registered user page on the Sparx Systems web site | Registered User page
2 | At the end of the page, download the EADict.zip file from the Enterprise Architect Dictionary section |
3 | Unzip the file into the Enterprise Architect install directory - C:\Program Files\Sparx Systems\EA This makes the non-English spelling dictionaries available to the Enterprise Architect spell checker | Select Spell Checker Options

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Spell Check permission to perform any spell check or change any spell check options
  • Enterprise Architect .EAP files default to use Jet 3.5 as the database engine; this does not support unicode character sets, which makes the use of certain languages - such as Polish - difficult, including spell checking words in those languages

    If you use such languages, it is recommended that you either upsize to a DBMS repository or set JET 4.0 as the database engine

    If your .EAP project is not in a Jet 4.0 database, you should also download a copy of the Jet 4.0 EABase model from the Sparx Systems website, and do an EAP to EAP transfer of your model into the Jet 4.0 file

Learn More:

  • Server Based Repositories
  • General
  • EABase Jet4 page of the website
  • Perform a Project Data Transfer
  • List of Available Permissions


Using the Spell Checker [Enterprise Architect User Guide]

Using the Spell Checker

Enterprise Architect has an inbuilt spell checker, which you can configure to detect a range of types of possible spelling error in your project, and to use one of several language dictionaries other than English.

Access: Tools | Spelling Tools | Spell Check Project
Tools | Spelling Tools | Spell Check Current Package

How to:

To run the spell checker, follow the steps below:

Step | Action | See also
1 | Select the Spell Check Project or Spell Check Current Package menu option, as required The Spell Check dialog displays |
2 | (Spell Check Project option) Select the checkbox against each of the items to spell check within your model |
3 | Click on the Start button to begin the spell check As the spell check proceeds, the text being checked displays in the text panel at the bottom of the screen; if an error is detected, the Check Spelling dialog displays, offering several options to correct the error | Correcting Words

Notes:

  • The Spell Check Project menu option enables you to check spelling for the entire project
  • The Spell Check Current Package option only checks the package currently open, and does not enable you to select items to check
  • Enterprise Architect currently supports checking an entire model or a single package; a future release should support more detailed spell checking at the element and diagram level
  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Spell Check permission to perform any spell check or change any spell check options

Learn More:

  • List of Permissions


Correcting Words [Enterprise Architect User Guide]

Correcting Words

As a spell check progresses, Enterprise Architect highlights any errors or unknown words in the Check Spelling dialog. The inbuilt spell check stores user-defined words in the user dictionary (userdict.tlx) stored in the Enterprise Architect installation directory. During the spell check process, if you add a word, it is written into this file for later reference.

Use to:

  • Correct the spelling of a word
  • Ignore the error
  • Add the word to the user dictionary
  • Suggest alternatives or
  • Otherwise assist in the spelling correction process

How to:

As the Spell Checker identifies possibly mis-spelled words, make the appropriate response:

Action

See also
  • Modify the spelling by hand and click on the Change or Change All button to change the word to that spelling
  • Click on a suggested alternative and click on the Change or Change All button to change the word to that spelling
  • Click on the Ignore or Ignore All button to exclude the word from the spell check
  • Click on the Add button to add the word to the user dictionary
  • Click on the Suggest button to list alternative spellings or words
  • Click on the Cancel button to abort the spell check entirely


Personal Information [Enterprise Architect User Guide]

Personal Information

The Personal Information window enables you to record and manage your personal work within the project. The window operates on your identity as a defined Author on the project.

Access: View | Personal Information

Topics:

Topic | Detail | See also
Model Mail | You have the facility to send simple emails to registered project team members, and to receive messages from your team members | Internal Mail
Allocated Work | Presents a Gantt chart on which you record the work that you are currently engaged in. | Recording Work
Project Tasks | Enables you to monitor and maintain the work tasks that have been assigned to you, or that you have created yourself | Monitor Your Tasks
Workflow | Enables you to list and run your workflow scripts | Monitor Workflow
Working Sets | Enables you to capture your current work area (diagrams and facilities currently open) as a working set for subsequent re-use | Working Sets


Internal Mail [Enterprise Architect User Guide]

Internal Mail

The Model Mail tab shows all emails that you have received from project team members within the project, under your User Security ID. You can open and respond to these emails and create new ones.

The Sent Items tab shows all the emails you have sent to project team members under your User Security ID. You can forward these emails and make further responses (see the final table in this topic).

This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, with User Security enabled; the mail system uses the individual and group users defined in User Security.

Access: View | Personal Information > Model Mail
View | Personal Information > Sent Items

Use to:

  • Read messages from other project team members
  • Read and respond to messages sent to you as a member of a group that holds a group mailbox
  • Organize and sort both sent and received messages
  • Create new messages, and reply to and forward received messages
  • Delete messages from your Intray and Sent Items mailboxes

How to:

On the Model Mail tab, review your messages as indicated below:

Option

Usage

See also

Open a message

Double-click on the message

If the message contains a hyperlink, click on the link to open or display the target file or object

Flag

Check the flag color to establish the significance of the message (the meanings of the flag colors should be defined within the project team)

Status

Check for the read or unread icon; unread message items are anyway displayed in bold

Sender

The name of the project team member who sent the message

Subject

The topic of the message

Date

Indicates the age of the message, whether it was sent:

  • Today
  • Yesterday
  • This week
  • This Month
  • Last Month
  • Older

Sent

The exact date and time the message was sent

Select Columns

Right-click on the column headings and select the Field Chooser menu option, which enables you to add or remove specific columns from the display

You can also click on the column headings and drag them across the header bar to reposition the columns in a different sequence

Select the To column to display the names of the people to whom the email was sent; this is very useful to identify whether the email was sent to you as an individual or as a member of a group - if you received the email as a member of a group, remember that your actions on this single instance of the email affect all other recipients

List Header

Reorganize messages in the list

Either:

  • Click on the column heading and click on the arrow head to list items in order or reverse order, or
  • Right-click on the column head and select the Enable Group Box option to organize the messages into groups

On the Model Mail tab, make selections from the toolbar options as indicated below:

Option

Usage

See also

Compose Message

Open the Model Message dialog, through which you create and send a mail message

Create a Message

Delete Messages

Delete a selected message or messages; you are prompted to confirm the deletion

Reply

Open the Model Message dialog, through which you create a response to the sender of the message, which includes a copy of the message and any earlier messages in the thread

Create a Message

Reply to All

Open the Model Message dialog, through which you create a response to the sender of the message and the other recipients, which includes a copy of the message and any earlier messages in the thread

Forward

Open the Model Message dialog, through which you forward the message to other project team members with, if necessary, your own comments

Mark as Unread

Mark the selected messages as unread

Mark as Read

Mark the selected messages as read

Viewing Panel

Select to:

  • Display the message text viewing panel underneath or to the right of the message list, or
  • Hide it so that you have to open the message to read it

Help Contents

Display this Help topic

On the Model Mail tab, make selections from the context menu options as indicated below:

Option | Usage | Shortcut | See also
Compose New Message | Click to open the Model Message dialog, through which you create and send a mail message |  | Create a Message
Reply | Create a response to the sender of the message, which includes a copy of the message and any earlier messages in the thread | Ctrl + R
Reply to All | Create a response to the sender of the message and the other recipients, which includes a copy of the message and any earlier messages in the thread | Ctrl + Shift + R
Forward | Forward the message to other project team members with, if necessary, your own comments | Ctrl + F
Set Message Flag | Select the appropriate flag color to establish the significance of the message (the meanings of the flag colors should be defined within the project team) |  |
Mark as Unread | Mark the selected messages as unread | Ctrl + U |
Mark as Read | Mark the selected messages as read | Ctrl + Q |
Delete | Delete a selected message or messages; you are prompted to confirm the deletion |  |

On the Sent Items tab, manage the messages you have sent as indicated below:

Option

Usage

See also

Open a message

Double-click on the message

From the open message you can reply to the sender, reply to the sender and all other recipients, or forward the message to other team members

Create a Message

Flag

Check the flag color to establish the significance of the message (the meanings of the flag colors should be defined within the project team)

To

Check the name(s) of the project team member(s) to whom the message was sent

Subject

The topic of the message

Date

Indicates the age of the message, whether it was sent:

  • Today
  • Yesterday
  • This week
  • Last Week
  • This Month
  • Last Month
  • Older

Sent

The exact date and time the message was sent

Select Columns

Right-click on the column headings and select the Field Chooser menu option, which enables you to add or remove specific columns from the display

You can also click on the column headings and drag them across the header bar to reposition the columns in a different sequence

Add the Sender column to your window; this is useful to identify whether you have responded to an email as an individual or as a member of a user group

List Header

Reorganize messages in the list

Either:

  • Click on the column heading and click on the arrow head to list items in order or reverse order, or
  • Right-click on the column head and select the Enable Group Box option to organize the messages into groups

Delete messages

Right-click on the message and select the Delete context menu option

You are prompted to confirm the deletion

Reply to All

Right-click on the message and select the Reply to All context menu option

The Model Message dialog displays

Create a Message

Forward

Right-click on the message and select the Forward context menu option

The Model Message dialog displays


Create a Message [Enterprise Architect User Guide]

Create a Message

The Model Message dialog enables you to compose messages to project team members within the project, under your Author ID.

Access: View | Personal Information > Model Mail

Use to:

  • Create messages to other project team members
  • Reply to messages from other team members
  • Forward messages to other team members
  • Link model components to the message, or add hyperlinks to files or other objects of relevance

How to:

To create a message to another project team member as a new message, a reply to a message, or a forwarded message, follow the steps below:

Step

Action

See also

1

If your message or response concerns a diagram or model object, you could click on that object in the Project Browser now so that it is immediately available to be linked to your message

2

Select the appropriate toolbar icon, context menu option or message button to create, reply to or forward a message

The Model Message dialog displays

Internal Mail

3

If you are creating or forwarding a message, or you want to send a reply to a wider audience, for each person you intend to send the message to:

  • Click on the To: button
    A list of project team member and group IDs displays
  • Scroll to the required name and double-click on it
    The name is added to the To: field

4

In the Subject field, type or edit the subject of the message as necessary

5

In the Flag field click on the drop-down arrow and on the appropriate flag color or option for your message

6

In the text panel, write the text of your message

You can format the text using the facilities of the Notes toolbar at the top of the field

Notes Toolbar

7

If you intend to link a diagram or model object to this message, place the cursor at the appropriate position in your message text and click on the Insert Quick Link button

Select the object you highlighted in Step 1; a hyperlink to that object is inserted in the message text

8

If you did not select a model object and now intend to link to one, or you want to link to another target such as a file, Model Search or Team Review message, click on either:

  • The Hyperlink icon in the toolbar or
  • The Insert Quick Link button and select the Other option

The Hyperlink Details dialog displays; create the required link

Hyperlinks

9

Click on the Send button to send the message to the recipients

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, with User Security enabled


Recording Work [Enterprise Architect User Guide]

Recording Work

The Allocated Work tab lists the elements to which your model Author ID has been allocated as a resource, where your Author ID is the same as:

  • Your Enterprise Architect security user ID, if security has been enabled, or
  • Your workstation login ID if security has not been enabled

For each element, the tab:

  • In the left-hand panel lists the roles or tasks assigned to you as a resource on that element, for which the Complete % field value is less than 100
  • In the right hand panel displays a Gantt chart showing your progress in performing each role or task

You can add further work items for an element through the Allocated Work tab; however, you cannot delete any records. A record is no longer listed when the Complete % field value is 100.

You or your supervisors can also add records through the Resource Allocation tab of the Project Management window.

Access: View | Personal Information > Allocated Work

Use to:

  • View the elements to which you have been allocated as a resource, and the tasks you have been set to complete
  • View and edit the properties of the elements you have been allocated to as a resource
  • View and edit the details of each assigned role or task including, if you follow your project team procedures, re-assigning your task to another resource
  • Add further tasks to an element
  • Filter the display to show only items having a specific text element in the title, or restrict selected items to show just the element, not the tasks
  • Locate the elements in the Project Browser
  • Locate the tasks in the Resource Allocation tab of the Project Management window
  • Print a list of tasks
  • Capture an image of the display to a file or to the clipboard

How to:

On the Allocated Work tab, make selections from the options as indicated below:

Option

Usage

See also

Review element properties

Double-click on the element name

(Alternatively, right-click on the element name and select the Properties context menu option)

The Properties dialog for the element displays; review the pages as required

Properties Dialog

Review resource task details

Double-click on the task item

(Alternatively, either:

  • Double-click on the progress bar for the item on the Gantt chart, or
  • Right-click on the task or role name and select the Properties context menu option)

The Assigned Resources dialog displays, which has the same content, format and functions as the Resource Allocation tab of the Project Manager window, in Item mode

Should it be necessary to reassign the item to another resource, click on the drop-down arrow on the Resource field and select the appropriate Author ID; when you save the changes, the item no longer appears in the list of tasks assigned to you

Resource Allocation

The Project Management Window

Create new task item

Right-click on the element name and select the Assign Resource context menu option

The Assigned Resources dialog displays, with your Author ID in the Resource field

Complete the dialog as for the Resource Allocation tab of the Project Manager window

Resource Allocation

Refresh display to incorporate changes

Your work item can be edited in a number of places in Enterprise Architect, such as the Project Task Allocation window and the Resource Allocation tab; the element to which it is assigned can be edited in these and many other areas

To refresh the display with any changes made elsewhere, right-click on the display and select the Refresh context menu option

Resource Allocation

Project Task Allocation

Properties Dialog

Display the Resource Allocation tab of the Project Management window

Right click on the list of items and select the Show Resources Window context menu option

The Resource Allocation tab of the Project Management window displays, listing all items for all resources associated with the element, and displaying the details for the first item in the list

Resource Allocation

Locate the item in the Resource Allocation tab of the Project Management window

Right-click on the work item and select the Locate in Resource Window context menu option

The Resource Allocation tab of the Project Management window displays, showing the item details for the selected item only

Resource Allocation

Locate the element in the Project Browser

Right-click on either the element or the work item and select the Find in Project Browser context menu option

The appropriate package hierarchy expands in the Project Browser, and the selected element is highlighted

Expose hidden sections of the work item progress

Some items might cover a long period of time, and you might not be able to display the complete progress line for the item in the Gantt chart

To locate the start point, expected end point, or today's date on the progress line for an item, right-click on either the item or the progress line and select the appropriate context menu option:

  • Go To | Task Start
  • Go To | Task End
  • Go To | Today's Date

The Gantt chart shifts left or right to position the required point in the center of the display

Filter the work items

You can refine the list of work items to show only those containing text that matches the filter item

Right-click on the tab and select the Apply Filter context menu option

The filter bar displays at the top of the panel; type in the filter text

As you type, the items listed and the Gantt chart are filtered to show only items where the item names match the text string

The filter does not operate on the element names

If you do not want to use the filter, right-click on the tab and select the Hide Filter Bar context menu option

Capture an image of the Allocated Work data as a graphics file

Right-click on the tab and select the Save Image to File context menu option

The Save As Image dialog displays, on which you specify the file name, location and graphics file type to save to

Copy an image of the Allocated Work data to the clipboard

Right-click on the tab and select the Copy Image to Clipboard context menu option

You can paste the image from the clipboard into your preferred graphics package


Monitor Your Tasks [Enterprise Architect User Guide]

Monitor Your Tasks

The Project Tasks tab lists the tasks that you either:

  • Own, or
  • Are assigned to

These tasks can be created through the:

  • Project Tasks tab itself
  • Tasks tab of the Project Information window
  • Project Tasks view of the Resource Calendar

Access: View | Personal Information > Project Tasks

Use to:

  • Review the status and progress of tasks that you are responsible for
  • Create new tasks
  • Update existing tasks
  • Delete tasks
  • Modify and filter the display of task information

How to:

On the Project Tasks tab, make selections from the options as indicated below:

Option

Usage

See also

Add or Modify a task

You add or modify a task through the Task Detail dialog, which displays when you double-click on an entry (edit) or blank line (create)

Add, Modify and Delete Tasks

Delete a task

Right-click on the message and select the Delete context menu option

You are prompted to confirm the deletion

Select columns

Right-click on the column headings and select the Field Chooser menu option, which enables you to add or remove specific columns from the display

You can also click on the column headings and drag them across the header bar to reposition the columns in a different sequence

List Header

Reorganize tasks in the list

Either:

  • Click on the column heading and click on the arrow head to list items in order or reverse order, or
  • Right-click on the column headings and select the Enable Group Box option to organize the messages into groups

You can also use the filter bar to filter the display on an appropriate column value, such as the value New in the Status column; to display or hide the filter bar, right-click on the column headings and select the Toggle Filter Bar context menu option

List Header

Set persistent Status filter

Right click on the tab and select the Set term filter context menu option

The Filter by Status dialog displays, which enables you to select to list tasks of any status or only of one specific status

The filter you set persists when you close the Personal Information window or exit from Enterprise Architect

Print the task list

Right click on the tab and select the Print List context menu option

The Print dialog displays, on which you specify the local printer and the print characteristics

Learn More:

  • Project Task Display
  • Project Tasks


Monitor Workflow [Enterprise Architect User Guide]

Monitor Workflow

The Workflow tab lists all of the workflow scripts that you have created:

You can execute any of the scripts listed on the tab.

Access: View | Personal Information > Workflow

Use to:

  • Select and execute your workflow scripts

How to:

On the Workflow tab, double-click on the required script to execute it.

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect

Learn More:

  • Workflow Scripts


Working Sets [Enterprise Architect User Guide]

Working Sets

The Working Sets tab lists the working sets that you have created.

A working set, rather like a project shortcut, is a group of diagrams and views that you have either captured from a work session or specifically drawn together, in either case using the Create Working Set dialog. It is a personal list, not visible to or active for any other user.

A view is:

  • A Relationship Matrix profile to open
  • The Team Review
  • A Model Search to perform

Access: View | Personal Information > Working Sets

Use to:

  • Capture your currently-open diagrams and views to resume work in the same configuration in a subsequent work session
  • Create a working set by selecting diagrams, searches and profiles to open
  • Open an existing working set to resume work in the required configuration (manually and automatically)
  • Change a working set to remove, replace or add to the diagrams and views defined in it
  • Delete a working set

How to:

On the Working Sets tab, select the required option as indicated below:

Option

Usage

See also

Open Working Set

Click on a working set name and either:

  • Select the third icon in the toolbar or
  • Right-click and select the Open Working Set context menu option

Enterprise Architect opens all the diagrams and views listed in that set

If you already have a working set open, the 'new' set of views is added to the original set, with the last-listed diagram or view on top and in focus

You can open only one Model Search, Matrix profile or Team Review at a time; therefore, the last-opened Search, profile or Team Review replaces the previous instances

Create New Working Set

Either:

  • Click on the first icon in the toolbar or
  • Right-click on the body of the tab and select the Create Working Set context menu option

The Create Working Set dialog displays

In the Name field, type a name for the working set

If you have diagrams and views open, the dialog lists them in the order in which they were opened; you can change the order using the 'hand' buttons at the bottom of the dialog

Either select the checkbox against each diagram or view to include in the working set, or click on the Include All button

To add more diagrams or views that are not currently open, click on the Add Other button and select an option from the list:

  • Add Diagram
  • Add Matrix Profile
  • Add Search
  • Add Team Review

You are prompted to select the required diagram, profile, search or Team Review topic; the view is then added to the list with its checkbox selected

Click on the OK button to create the working set

Build a Working Set from open diagrams or files

A variation on creating a working set is to generate the set from diagrams or files that are currently open

Right-click on the body of the tab and select the Create Working Set From context menu option, and either the Open Diagrams or Open Files sub-option as appropriate

The Create Working Set dialog displays

In the Name field, type a name for the working set

The dialog lists the diagrams and views that are currently open, in the order in which they were opened; with the checkboxes against the open diagrams or the open files already selected

You can either:

  • Immediately click on the OK button to create the working set from the current environment, or
  • Change the content and selections as described for Create New Working Set (above)

Add an open view or diagram to a working set

If, in your work, you open a diagram or view that you decide to add to a working set:

  1. Open the Working Sets tab
  2. Right-click on the required set name and select the Add Active View context menu option

The open view is added to the working set

Duplicate a Working Set

If you want to use a variation of a working set without losing the original, you can create a copy and amend that copy as required

Right-click on the source working set and select the Copy as New context menu option

The Create Working Set dialog displays

In the Name field, type a name for the working set

Each of the listed diagrams and views is already selected; make any changes you require, and click on the OK button to save the list as a new working set

Edit a working set

To change the diagrams and views in a working set, or change the set name,click on the set name and either:

  • Click on the second icon in the toolbar or
  • Right-click and select the Edit context menu option

The Create Working Set dialog displays

Make any changes you require, and click on the OK button to save the changes

Delete Working Set, or View in Working Set

Expand the working set and select a specific item (to remove that item) or the set name (to move the whole set)

Either:

  • Click on the fifth icon in the toolbar or
  • Right-click on the set and select the Delete Working Set Item context menu option

A prompt displays to confirm the deletion; click on the Yes button

The item or set is removed

If you delete a working set that you have opened, the diagrams and views from that set remain open until you specifically close each one or close Enterprise Architect

Automatically apply the working set when the model is opened

Right-click on the working set name and select the Apply when model opens context menu option

This option is a toggle that turns the same option off for the previous working set on which it was selected

The folder turns green, indicating that the option is on for this working set

When you close the model and subsequently open it, the diagrams and views in the working set are automatically opened

Track working set/views last opened

You might use several working sets in a work session, and close some views and open others

To capture the diagrams and views you actually have open when you close down Enterprise Architect, right click on the body of the tab and select the Store Main Tab View History context menu option

When you reopen the model in a new work session, the working set at the top of the tab - Windows open when Model was last closed - is populated with the list of open diagrams and views; this is a read-only set that cannot be edited

You can expand the set and double-click on specific windows to re-open them, or right-click on the set and use the Open Working Set option to reopen all the diagrams and views you had open before

However, it is recommended that you use the Apply when model opens context menu option on the set; thereafter, whenever you open the model, all the diagrams and views you had open when you closed the model are automatically re-opened

Locate item in Project Browser

To find a diagram from your working list in the Project Browser, right-click on the diagram name and select the Find in Project Browser context menu option

The section of the Project Browser containing the diagram is expanded, and the diagram name is highlighted

Learn More:

  • Create Project Shortcut
  • Capture Current Work Environment


Project Calendar [Enterprise Architect User Guide]

Project Calendar

The Project Calendar provides a project management overview in calendar format of the deployment of resources, timeframes for tasks, and upcoming project events such as meetings and milestones. The calendar displays in the Diagram View workspace, consisting of a:

  • Calendar panel, displaying months of the year
  • Diary panel sectioned into days or weeks
  • Toolbar at the top of the window, which enables you to define what information is displayed and how it is formatted

Access: View | Project Calendar

Topic

Detail

See also

Calendar Panel

The calendar panel, when viewed normally on the screen, displays a calendar of six months that by default includes the current month

By closing or reducing other panels on the screen, and depending on the size of your screen, you can show the months for a period of up to 3 years and six months

You can review data for up to several decades into the past, if such data has been recorded, and plan ahead for up to several decades into the future; to display future or past months, either:

  • Click on the arrows in the names of the months on the left and right of the top row of months, or
  • Click and hold the mouse on the name of a month so that a list of months and years displays, and move the mouse forwards to scroll up the list or backwards to scroll down the list; when you reach the required month, ensure that it is highlighted and release the mouse button

On the calendar, today's date has a red border; if you have scrolled the calendar so that today's date is not shown, click on the second icon in the toolbar ( Todayicon) to position the current month in the top left of the calendar with today's date highlighted

Diary Panel

The diary panel displays a set of day fields, each of which can contain one or more markers for an event or task

The content of the display is determined by the selections you make in the toolbar, and principally by the object type you select from the first drop-down field:

  • Project Calendar
  • Allocated Resources
  • Project Tasks

The structure of the display depends on the period you want to review, specified using the icons on the toolbar:

  • 1 day (Project Calendar only)
  • 5 days (Mon - Fri) (Project Calendar only)
  • 7 days (Mon - Sun)
  • 31 days

However, in the Calendar panel you can highlight specific periods of between 1 and 7 days (Project Calendar only) and 14, 21, 28, 35 and 42 days, to display just those periods in the Diary panel

If you select a period of between 1 and 7 days, each day is divided into one hour time intervals; you can adjust the time intervals for these periods, using the toolbar (see below)

For the current day, the current time is also highlighted

Also, if you click on today's date in the Calendar panel the Diary panel changes to show the shortest period (7 days or 1 day) for the object type, again with adjustable time intervals for the times of day

For displays of 7 or more days, you can scroll up or down to display the information for earlier or later dates; if you scroll away from today's date, you can return to it by right-clicking anywhere on the display and selecting the Show Today context menu option (not Project Calendar)

Calendar

Allocated Resources

Project Tasks

Toolbar

The toolbar options modify what is displayed on the Diary panel, and enable you to add certain kinds of information

The icons and fields in the toolbar, from left to right, have the following functions:

  • Add New <object> - enables you to create a new record for an event or task
  • Assign Resource - for Allocated Resources, enables you to assign a new resource to the task
  • Show Today - re-focuses the Diary panel and Calendar panel on today's date, for any object type
  • 1, 5, 7, 31 - sets the number of days displayed in the Diary panel
  • First drop-down - identifies the type of information to display: Calendar events, allocated Resources, or Tasks
  • Second drop-down - identifies the type or characteristic of object to filter for (and depends on the value selected in the first field)
  • Third drop-down - for Allocated Resources, identifies the element type to filter for
  • Options:
  • Configure Event Subtypes - Displays the Configure Subtype dialog, which you use to define categories of event to record on the Calendar
  • Time Scale - where the display includes times of day, enables you to reset the time interval
  • Show End Time - for the Project Calendar, where the times of day are NOT shown and an event occurs within one day, this shows or hides the time at which the event finishes (the start time displays automatically)
  • Show Time As Clocks - toggle between showing start and end times in digital format and as a clock face
  • Compress Weekend Days - in 31-day format, toggle between showing Saturday and Sunday as separate fields and a pair of half-fields
  • Show ToolTips - toggle between showing and hiding mouse roll-over tooltips

Configure Event Subtypes

Notes:

  • The Project Calendar is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • In the Lite edition of Enterprise Architect, you can view Calendar entries but not change them


Calendar [Enterprise Architect User Guide]

Calendar

Project Calendar is a display mode of the project Calendar facility. In Project Calendar mode, the Diary panel shows the selected period of time (see the Project Calendar topic) containing flags for each event that takes place in or through that period. These events can be, for example, meetings, staff absences or commitments, product releases or public holidays.

You can customize the range of events that you record, using the Configure Subtype dialog.

Access: View | Project Calendar > Project Calendar

How to:

To record an event in the Project Calendar, follow the steps below:

Step

Action

See also

1

Double click on the required day, or the first day in a longer period

The Project Event dialog displays

2

In the Subject field, type the name of the event

3

If the event is to take place at a specific place, in the Location field type the name of the place or room

4

In the Category field, click on the drop-down arrow and select the appropriate categorization:

  • Event (such as an external trade show, or internal presentation)
  • Meeting (whether internal or external)
  • Milestone/Objective (such as a product test or release)
  • People (an absence or commitment of a specific staff member)

5

If the event is likely to occupy one complete day, select the All day event checkbox; this:

  • Places the event icon at the top of the day field in the Diary, above any time sections
  • Hides the time sections of the Start time and End time fields

6

In the Start time and End time fields, specify the start and end dates and/or times of the event

In the date section of each field, either:

  • Click on the drop-down arrow to display the current month and select the month and date, or
  • Click on the 'spin' arrows to roll the date forwards or backwards by one day at a time

In the time section of each field, click on the hour or minute components (which are separate) and either:

  • Type in the required time or
  • Click on the 'spin' arrows to roll the time backwards or forwards

7

In the Event Type field, click on the drop-down arrow and select an appropriate type label for the event; the options change depending on the value you selected for the Category field

This provides the fill color for the event icon, as indicated by the fill box next to each option

8

In the Defined as field, click on the drop-down arrow and select the indicator for whether the event is internal or external to your organization

9

If the event consists of a telephone call, select the Phone Call checkbox

10

In the description field, type any notes required on the event; these display in the mouse roll-over tool tip for the event on the Diary panel

11

If this is event repeats at regular intervals, click on the Recurrence button and complete the Event Recurrence dialog (see below)

12

Click on the OK button to save the event and display it on the Calendar

To define a recurring event on the Event Recurrence dialog, follow the steps below (some information defaults from the Project Event dialog, but you might have to edit it to accurately define the recurrence details):

Step

Action

See also

1

In the Start and End fields, specify the start and end times of the event; click on the hour or minute components (which are separate) and either:

  • Type in the required time or
  • Click on the 'spin' arrows to roll the time backwards or forwards

2

In the Duration field, click on each of the day(s), hours and minutes portions and either type or 'spin' to the required value

The hours and minutes portions are linked to the Start and End fields, so that:

  • As you edit the Start field or the Duration field, the End field adjusts to maintain the duration relative to the start time
  • As you edit the End field, the Duration field changes to match the difference between the start and end times

3

In the Recurrence pattern panel, select the appropriate radio button for the frequency of the event

As you select the radio button, the fields on the right of the panel change to further define when the event recurs

4

Select the appropriate radio buttons and field values, with the following guidance:

  • Daily can be every 1, 2, 3, 4, 5 or 6 days, or every day of the working week
  • Weekly is on one or more specific days of the week, the events being separated by a period of between 1 and 51 complete weeks
  • Monthly can be on a specific date or a specific day of the month, the events being separated by a period of between 1 and 11 complete months
  • Yearly can be on a specific date or a specific day of a specific month

5

In the Range of recurrence panel, in the Start field, specify the date on which the event cycle begins

Click on the day, month and year components (which are separate) and either:

  • Type in the required value or
  • Click on the 'spin' arrows to roll the date backwards or forwards

6

Select the appropriate radio buttons to indicate that the recurrence cycle:

  • Has no defined end point
  • Ends after a specific number of occurrences of the event (type in the number)
  • Ends by a specific date (enter the date)

7

Click on the OK button, and again on the Project Event dialog

The event icon displays at all points in the Calendar where it is scheduled to occur, as defined in the Event Recurrence dialog; the recurrence is indicated by a graphic depicting two recirculating arrows

8

If the recurrence is no longer required:

  • Double-click on the icon for any occurrence of the event, to display the Project Event dialog
  • Click on the Recurrence button to display the Event Recurrence dialog
  • Click on the Remove Recurrence button; the Event Recurrence dialog closes
  • Click on the OK button; the Project Event dialog closes

Only the first occurrence of the event remains in the Calendar

Notes:

  • The Project Calendar is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • In the above editions, if security is enabled you must have Manage Project Calendar permission in order to create, update or delete Project Calendar events; if security is not enabled, you can change data without this permission
  • In the Lite edition of Enterprise Architect, you can view Calendar entries but not change them

Learn More:

  • Project Calendar
  • Configure Event Subtypes
  • List of Available Permissions


Configure Event Subtypes [Enterprise Architect User Guide]

Configure Event Subtypes

The Configure Subtype dialog enables you to define additional types of event to record on the Project Calendar.

Access: View | Project Calendar: Toolbar Options | Configure Event Subtypes

Use to:

  • Define a new event type within a select event category
  • Change an existing event type
  • Delete an existing event type

How to:

To manage the event types for your project, follow the steps below:

Step | Action | See also
1 | On the Configure Subtype dialog, in the Category field, click on the drop-down arrow and select the appropriate category for the event |
2 | Click on the Type field and type a suitable name for the event type (or select an existing event from the list below the Category field) |
3 | In the Color field, click on the drop-down arrow and select or define a color for the event icon |
4 | Click on the Save button to save the new or edited event type to the list for the specified category Click on the New button if you are going to create another event type |
5 | If the event type is no longer required, click on the Delete button |
6 | If required, you can change the sequence of the event types in the displayed list, using the 'Up Hand' and 'Down Hand' buttons at the bottom of the dialog |
7 | Click on the OK button to close the dialog; any new event types are available for use in the Project Calendar |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Project Calendar permission in order to create or delete Project Calendar event subtypes; if security is not enabled, you can change data without this permission

Learn More:

  • Calendar


Allocated Resources [Enterprise Architect User Guide]

Allocated Resources

Allocated Resources is a display mode of the project Calendar facility.

In Allocated Resources mode, the Diary panel shows the selected period of time (see the Project Calendar topic), with at least one icon representing each element in the project to which a resource has been allocated during that period. If an element has more than one allocated resource, each element:resource combination is represented separately.

Each icon shows the element name and resource name, and indicates the status of the assigned work with one of the following symbols:

  • a green square, indicating that the resource has been assigned the work
  • a green tick, indicating that the resource has completed the assigned work
  • a red square, indicating that the resource has not completed the assigned work
  • a square divided diagonally with green and red halves, indicating that the assigned work is to be completed within one working day

Typically, while the work is in progress a resource is represented by:

  • An icon with a green square on the day the work is planned to start, and
  • An icon with a red square on the day the work is planned to finish

When the work is complete, the icons on both days display the green tick.

Resources are initially allocated to elements through the:

  • Resource Allocation tab of the Project Management window, or
  • Allocated Work tab of the Personal Information window

You can then edit these allocations through either of those windows or through the Allocated Resources Calendar itself.

Access: View | Project Calendar > Allocated Resources

Use to:

  • Review the allocation of resources across the project over a period of time
  • Review the status of the work assigned to those resources
  • Display and edit the details of the task assigned to a resource
  • Allocate further resources to an element
  • Delete a resource allocation from an element
  • Create and send an email to the resource allocated to an element

How to:

On the Allocated Resources Calendar, make selections from the options as indicated below:

Option

Usage

See also

Display/edit details of an allocated resource

Either:

  • Double-click on any icon for that element:resource combination, or
  • Right-click on the icon and select the Properties context menu option

The Assigned Resources dialog displays, showing the details of the assignment of the resource to a task on the element

This dialog has the same content, format and functions as the Resource Allocation tab of the Project Manager window, in Item mode

Resource Allocation

The Project Management Window

Add resource to element

Right-click on any icon for the element and select the Assign Resource to <element name> context menu option

The Assigned Resources dialog displays, showing the start and end dates both set to the date from which you selected the icon, and the Allocated Time field set to 1; all other fields are blank

This dialog has the same content, format and functions as the Resource Allocation tab of the Project Manager window, in Item mode

Specify the resource and the role or task that resource is performing, and define the period for which the resource is allocated to the element

Resource Allocation

The Project Management Window

Message Resource

Right-click on any icon for the element:resource combination and select the Message Resource <resource name> context menu option

The Model Message dialog displays, on which you create and send your message to the resource allocated to the element

Create a Message

Delete resource from element

Right-click on any icon for the element:resource combination, and select the Delete Resource from <element name> context menu option

A prompt displays to confirm the deletion; click on the Yes button

The icon and any corresponding icons for that element:resource combination are deleted from the calendar, and the resource is no longer allocated to that element

Locate element in diagrams in which it is used

Right-click on any icon for the element, and select the Find in all Diagrams context menu option

If the element is used in only one diagram, that diagram displays

If the element is used in more than one diagram the Element Usage dialog displays, listing the diagrams in which the element occurs

Select the required diagram and click on the Open button to display that diagram

Show Element Use

Locate element in Project Browser

Right-click on any icon for the element, and select the Find in Project Browser context menu option

The area of the Project Browser containing the element is brought into focus and expanded, and the element is highlighted

Locate resource allocation start date corresponding to allocation end date

Firstly, click on the end date icon for the element:resource combination to highlight it; the corresponding start date icon is also highlighted

If the start date icon is not in view, right-click on the end date icon and select the Show Start/End context menu option; the display scrolls to show the start date and the start date cell is highlighted

Locate resource allocation end date corresponding to allocation start date

Firstly, click on the start date icon for the element:resource combination to highlight it; the corresponding end date icon is also highlighted

If the end date icon is not in view, right-click on the start date icon and select the Show Start/End context menu option; the display scrolls to show the end date and the end date cell is highlighted

Refocus display on today's date

Right-click anywhere on the display and select the Show Today context menu option

The display returns to today's date, which is highlighted and outlined

Notes:

  • The Project Calendar is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • In the above editions, if security is enabled you must have Manage Project Information permission in order to allocate resources to or remove resources from the project Calendar; if security is not enabled, you can change data without this permission
  • In the Lite edition of Enterprise Architect, you can view Calendar entries but not change them
  • As the start and end icons for a completed task are identical, and one-day tasks have only one icon, the methods to show the corresponding start date or end date for an icon are also useful to show whether the icon is for a start or end date, or for a one-day task; alternatively, double-click on the icon and review the allocation dates

Learn More:

  • Project Calendar
  • List of Available Permissions


Project Tasks [Enterprise Architect User Guide]

Project Tasks

Project Tasks is a display mode of the project Calendar facility.

In Project Tasks mode, the Diary panel shows the selected period of time (see the Project Calendar topic), with at least one icon representing each project task scheduled during that period. The icon represents an independent record of the task - there are no comparisons or validations of the tasks. Therefore you can have separate icons for the same task, with different resources allocated or no resources allocated; you can even have identical task records, if these serve a purpose for you.

Each icon shows the task name and resource name, and indicates the status of the task with one of the following symbols:

  • a green square, indicating that the task has been scheduled
  • a green tick, indicating that the task is complete
  • a red square, indicating that the task is incomplete
  • a square divided diagonally with green and red halves, indicating that the task is to be completed within one working day

Typically, while a task is in progress it is represented by:

  • An icon with a green square on the day the work is planned to start, and
  • An icon with a red square on the day the work is planned to finish

When the work is complete, the icons on both days display the green tick.

Tasks can be created and managed through this view of the Project Calendar, or the:

  • Project Tasks tab of the Project Information window, or
  • Project Tasks tab of the Personal Information window

Access: View | Project Calendar > Project Tasks

Use to:

  • Review the tasks across the project over a period of time
  • Review the progress of those tasks
  • Create new tasks
  • Display and edit the details of the task
  • Allocate a resource to a task
  • Delete a task
  • Create and send an email to the resource assigned to a task
  • Create and send an email to the owner of the task

How to:

On the Project Tasks display, make selections from the options as indicated below:

Option

Usage

See also

Create a task

Either:

  • Double-click on the date cell in which the task is to start
  • Right-click on the cell and select the Add New Task context menu option, or
  • Click on the down-arrow next to the first icon in the Calendar toolbar, and select the New Task option

The Task Details dialog displays, through which you create the task

Add, Modify and Delete Tasks

Display and edit a task

Either:

  • Double-click on the task
  • Right-click on the cell and select the Properties context menu option, or
  • Click on the down-arrow next to the first icon in the Calendar toolbar, and select the Properties option

The Task Details dialog displays; if necessary, edit the information

Add, Modify and Delete Tasks

Allocate a resource to a task

Certain tasks might not initially be assigned to a resource, but might later require specific assignment to finish them off

Open the task to edit it, click on the drop-down arrow in the Assigned field and select the required resource

Delete a task

Right-click on any icon for the required task and select the Delete '<task-name>' context menu option

You are prompted to confirm the deletion; click on the Yes button

Create and send a message to the task owner

Right-click on any icon for the task and select the Message Owner context menu option

The Model Message dialog displays, on which you create and send your message to the user who owns the task (as identified in the Task Details dialog)

If the task does not have a defined owner, this option does not operate

Create a Message

Create and send a message to the resource assigned to the task

Right-click on any icon for the task and select the Message Assigned <resource name> context menu option

The Model Message dialog displays, on which you create and send your message to the resource assigned to complete the task (as identified in the Task Details dialog)

If the task does not have a defined resource, this option does not operate

Locate task start date corresponding to task end date

Firstly, click on the end date icon for the task to highlight it; the corresponding start date icon is also highlighted

If the start date icon is not in view, right-click on the end date icon and select the Show Start/End context menu option; the display scrolls to show the start date and the start date cell is highlighted

Locate task end date corresponding to task start date

Firstly, click on the start date icon for the task to highlight it; the corresponding end date icon is also highlighted

If the end date icon is not in view, right-click on the start date icon and select the Show Start/End context menu option; the display scrolls to show the end date and the end date cell is highlighted

Refocus display on today's date

Right-click anywhere on the display and select the Show Today context menu option

The display returns to today's date, which is highlighted and outlined

Notes:

  • The Project Calendar is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • In the Lite edition of Enterprise Architect, you can view Calendar entries but not change them

Learn More:

  • Project Calendar
  • Project Tasks
  • Monitor Your Tasks


Use Case Estimation [Enterprise Architect User Guide]

Use Case Estimation

Project estimation is the task of working out how much time and effort is required to build and deploy a solution.

The Use Case metrics facility in Enterprise Architect provides a starting point for estimating project effort; using this facility you can get a rough measure of the complexity of a system and some indication of the effort required to implement the model. Like all estimation techniques, Use Case metrics requires some experience with previous projects to 'calibrate' the process.

There is additional information available on Use Case metrics on the Sparx Systems website.

Topics:

Topic

Detail

See also

Calibrating

The following values must be carefully calibrated in order to gain the best possible estimates:

  • Technical Complexity Factors, which are values that attempt to quantify the difficulty and complexity of the work in hand
  • Environment Complexity Factors, which are values that attempt to quantify non-technical complexities such as team experience and knowledge
  • Default Hour Rate, which sets the number of hours per Use Case point

Technical Complexity Factors

Environment Complexity Factors

Default Hours

Estimating

Once you have entered all the calibration values, you can estimate the project timescale through the Use Case Metrics dialog

Estimating Project Size

Learn More:

  • Project Estimation Using Use Case Metrics


Technical Complexity Factors [Enterprise Architect User Guide]

Technical Complexity Factors

Technical Complexity Factors (TCFs) are used in the Use Case Metrics estimation technique.

The EABase.eap model contains a default set of TCFs, which you can add to or modify using the Estimation Factors dialog. This set of factors should include all factors that could affect the technical complexity of the project environment.

Access: Settings | Project Types | Estimation Factors > Technical Complexity Factors

How to:

To maintain Technical Complexity Factors, follow the steps below:

Step

Action

See also

1

On the Technical Complexity Factors tab, either:

  • Click on the New button to add another TCF, or
  • Click on the required factor in the Defined Technical Types list to edit it (go to step 3)

2

In the Factor Number field, type the appropriate TCF number

3

In the Description field, type or edit the TCF description

4

In the Weight field, type or edit the technical complexity weighting

This indicates how much technical complexity you assign to a factor; for example, the system is to be developed in ADA might warrant a higher weight than the system is to be a shell script

5

In the Value field, type or edit a value representing the degree of influence the factor has on the project

As a suggested gauge:

  • 0 indicates no influence
  • 3 indicates average influence
  • 5 indicates strong influence

6

Click on the Save button

7

Examine the Defined Technical Types list, and scroll across it to show the Ex Value column (Weight x Value)

The summed Ex Values yield the Unadjusted TCF value (at the bottom of the dialog)

The Unadjusted TCF value is combined with the Environment Complexity Factors to skew the overall complexity up or down, depending on the level of technical complexity and the corresponding level of environmental support

Environment Complexity Factors

Notes:

  • The TCF Weight evaluates its respective factor, but is irrelevant to a project; the Value field assesses each factor's role within a project and, for most purposes, is the only field requiring adjustment
  • The supplied factors and their associated weights are defined by the Use Case Points Method, although they can be adjusted to suit a project's specific requirements
  • You can transport the Technical Complexity Factors between models, using Export Reference Data and Import Reference Data

Learn More:

  • Export Reference Data
  • Import Reference Data


Environment Complexity Factors [Enterprise Architect User Guide]

Environment Complexity Factors

Environment Complexity Factors (ECFs) are used in the Use Case Metrics estimation technique.

The EABase.eap model contains a default set of ECFs, which you can add to or modify using the Estimation Factors dialog. This set of factors should include all factors that could affect the general design and development environment, including team experience and knowledge, team size, expertise and other non-functional environmental factors.

Access: Settings | Project Types | Estimation Factors > Environment Complexity Factors

How to:

To maintain Environment Complexity Factors, follow the steps below:

Step

Action

See also

1

On the Environment Complexity Factors tab, either:

  • Click on the New button to add another ECF, or
  • Click on the required factor in the Defined Environment Types list to edit it (go to step 3)

2

In the Factor Number field, type the appropriate ECF number

3

In the Description field, type or edit the ECF description

4

In the Weight field, type or edit the environment complexity weighting

This indicates how much complexity you assign to a factor

5

In the Value field, type or edit a value representing the degree of influence the factor has on the project

As a suggested gauge:

  • 0 indicates no influence
  • 3 indicates average influence
  • 5 indicates strong influence

6

Click on the Save button

7

Examine the Defined Environment Types list, and scroll across it to show the Ex Value column (Weight x Value)

The summed Ex Values yield the Unadjusted ECF value (at the bottom of the dialog)

The Unadjusted ECF value is combined with the Technical Complexity Factors to skew the overall complexity up or down, depending on the level of technical complexity and the corresponding level of environmental support

Technical Complexity Factors

Notes:

  • The ECF Weight evaluates its respective factor, but is irrelevant to a project; the Value field assesses each factor's role within a project and, for most purposes, is the only field requiring adjustment
  • The supplied factors and their associated weights are defined by the Use Case Points Method, although they can be adjusted to suit a project's specific requirements
  • You can transport the Environment Complexity Factors between models, using Export Reference Data and Import Reference Data

Learn More:

  • Export Reference Data
  • Import Reference Data


Default Hours [Enterprise Architect User Guide]

Default Hours

Setting an hourly rate is the most difficult factor in an accurate estimation. Typical ranges can vary from 10 to 30 hours per Use Case point.

Studying the Use Case Points Method, from which this variable is defined, can help you to understand its role in the estimation and facilitate selection of a suitable initial value.

The best way to estimate this value is through analysis of previous completed projects. By calculating the project estimation on a completed project for which the Use Cases and environment are configured within Enterprise Architect, you can adjust the hour rate to render an appropriate value for your unique work environment.

Access: Settings | Project Types | Estimation Factors > Default Hour Rate

How to:

To set the default hour rate per adjusted Use Case point, follow the steps below:

Step | Action | See also
1 | In the Duration field, type the number of hours per Use Case Point |
2 | In the Hourly Rate field, type the cost per hour |
3 | Click on the Close button |

Notes:

  • The values you enter are stored as local settings on your computer only
  • This option is also active in the 'Lite', read-only version of Enterprise Architect

Learn More:

  • Project Estimation Using Use Case Metrics
  • The Read-only 'Lite' Edition


Estimating Project Size [Enterprise Architect User Guide]

Estimating Project Size

Enterprise Architect uses a simple estimation technique based on the established:

  • Number of Use Cases to be built
  • Difficulty level of those Use Cases
  • Project environment factors and
  • Build parameters

This technique is of value only once you have developed a couple of known projects to use as a baseline. Please DO NOT use the provided 'guesstimates' as a real world measure until you have some real world base lines to measure against.

Access: Select package in Project Browser:

Project | Use Case Metrics
Right-click | Documentation | Package Metrics

How to:

On the Use Case Metrics dialog, work through the fields as indicated in the following table:

Field

Usage

See also

Root Package

Confirm the root package in the hierarchy

All Use Cases under this package could potentially be included in the report

Reload

Re-run the load from the selected package, usually after you change the filter criteria

Phase like

Include Use Cases with a phase that matches the wildcard value in the field

Use * to match any characters, for example 1.* for 1.1 and 1.2

Keyword like

Include Use Cases with a keyword that matches the wildcard value in the field

Use * to match any characters

Bookmarked

Include all Use Cases, or only those that are tagged, or those that are not tagged

Use Cases

Check the total count of Use Cases in the estimate

The Use Cases and their parameters are listed in the panel underneath this field

Include Actors

Select to include Actors in the estimate

Technical Complexity Factor

Review the parameters that describe the degree of technical complexity of the project

While the Unadjusted TCF Value comes from the Technical Complexity Factors tab of the Estimation Factors dialog, the other values compose the Use Case Points Method formula

Modify these fields with caution

The final project estimate is directly proportional to the TCF

Technical Complexity Factors

Environment Complexity Factor

Review the parameters that calculate the degree of environmental complexity of the project, from factors such as programmer motivation or experience

The listed parameters compose the formula calculating the ECF, defined by the Use Case Points Method; the only parameter affected by the project is the Unadjusted ECF Value, derived from the Environment Complexity Factors tab of the Estimation Factors dialog

The final project estimate is directly proportional to the ECF

Environment Complexity Factors

Unadjusted Use Case Points (UUCP)

Check the sum of the Use Case complexity numbers

Ave Hours per Use Case

Check the average number of hours assigned to easy, medium and difficult Use Cases

You cannot change these figures

Total Estimate

Review the detailed breakdown of the final figure

You must tailor the hours per Use Case Point figure to the level that matches your type of project and capability based on known previous project outcomes

Default Rate

Set the default hours to be fed into the final calculation

Default hours

Re-Calculate

Re-run the estimate, usually after you change the hours or Use Case point number

Report

Produce a rich text formatted report from the current estimate


SPEM [Enterprise Architect User Guide]

SPEM

Topics:

Topic

Detail

See also

Introduction

According to the Object Management Group (OMG) Software & Systems Process Engineering Meta-Model Specification (Version 2.0, April 01 2008):

  • The Software and Systems Process Engineering Meta-model (SPEM) is a process engineering meta-model as well as conceptual framework, which can provide the necessary concepts for modeling, documenting, presenting, managing, interchanging, and enacting development methods and processes. An implementation of this meta-model would be targeted at process engineers, project leads, project and program managers who are responsible for maintaining and implementing processes for their development organizations or individual projects.

In 1999, the OMG placed a Request for Proposal concerning Software Process Engineering (SPE). In November 2002, the OMG released the Software Process Engineering Meta-model Specification 1.0. SPEM was defined as a Profile of UML, which used UML as a notation and took an object-oriented approach. To accommodate UML 2, the SPEM specification was upgraded to 2.0 in April 2008.

http://www.omg.org/spec/SPEM/2.0/PDF (Online Resource)

SPEM in Enterprise Architect

SPEM 2.0 focuses on providing the additional information structures that you require for processes modeled with UML 2 Activities or BPMN/BPDM, to describe an actual development process.

Enterprise Architect enables you to develop SPEM diagrams quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The SPEM facilities are provided in the form of:

  • A SPEM diagram type, accessed through the New Diagram dialog
  • A set of SPEM pages in the Toolbox, providing SPEM elements (stereotyped UML elements)
  • SPEM element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

Add New Diagram

SPEM Toolbox

Toolbox Shortcut Menu

Quick Linker

Disable SPEM

If you prefer not to use SPEM in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies


SPEM Toolbox Pages [Enterprise Architect User Guide]

SPEM Toolbox Pages

These pages provide the graphical SPEM elements for drawing the diagrams.

Access: From the Diagram Toolbox: More Tools | SPEM

Example:

Reference:

Page | Item | Action
Base Plug-in | Phase | Create a predefined special Activity representing a significant period in a project.
 | Iteration | Group a set of nested Activities that are repeated more than once. Typically, Iteration is an Activity for which the default value of the isRepeatable attribute is True.
 | Process | Represent a special Activity that describes a structure for particular types of development projects, or parts of them.
 | Delivery Process | Represent a special Process describing a complete and integrated approach for implementing a specific project type.
 | Process Pattern | Represent a special Process to describe a reusable cluster of Activities in a general process area that provides a consistent development approach to common problems.
 | Process Planning Template | Represent a special Process that is prepared for instantiation by a project planning tool.
 | Artifact | Represent a Work Product Definition that provides a description and definition for tangible work product types.
 | Deliverable | Represent a Work Product Definition that provides a description and definition for packaging other Work Products, and that can be delivered to an internal or external party.
 | Outcome | Represent a Work Product Definition that provides a description and definition for non-tangible work products.
Method Content | Category | Categorize content based on the user’s criteria.
 | Guidance | Identify reference items such as Guidelines, Templates, Checklists, Tool Mentors, Estimates, Supporting Materials, Reports and Concepts.
 | Metric | Define a standard measurement for instances of Method Content elements.
 | Role Definition | Define a set of related skills, competencies, and responsibilities.
 | Step | Represent parts or subunits of a Task Definition.
 | Task Definition | Describe an assignable unit of work. Every Task Definition is assigned to specific Role Definitions. A Task is associated with input and output Work Products.
 | Tool Definition | Describe the tools that are recommended or necessary for completing a specific Task.
 | Work Product Definition | Define any forms of document, report or outcome that are consumed, produced or modified by Tasks.
Package | Method Content Package | Create a physical container to organize the Method Content elements.
 | Method Library | Create an overall physical container for all SPEM 2.0 elements.
 | Method Plugin | Create a physical container for Method Content Package and Process Packages. It can be used stand-alone as well as extended to many other Method Plugins.
 | Process Package | Create a physical container that contains different kinds of Process element.
 | Process Component | Create a special Process Package that provides the mechanism of encapsulation.
Process | Activity | Define basic units of work within a Process as well as the Process itself.
 | Composite Role | Represent an aggregation of Role Definition references for an Activity.
 | Milestone | Represent any significant events in a development project.
 | Process | Create a special Activity that describes a structure for particular types of development project.
 | Role Use | Represent a Role Definition in the context of one specific Activity.
 | Task Use | Represent a Task Definition in the context of one specific Activity.
 | Team Profile | Define a nested hierarchy of teams and team members.
 | Work Product Use | Represent a Work Product Definition in the context of one specific Activity.

Topics:

Topic

Detail

See also

Presentation

In Enterprise Architect, every SPEM stereotype can be presented in one of two ways:

  • Iconic presentation, or
  • Textual presentation.

The iconstyle tag is used for switching between these presentations. For example, in the SPEM diagram below, if you want the SPEM_TaskDefinition to have iconic presentation you set the iconstyle Tagged Value to True, and display the element as an icon. To get the textual presentation for SPEM_TaskDefinition, as an outline with a decoration in the top right corner, set the Tagged Value to False.

Example of a SPEM Diagram


Update Package Status [Enterprise Architect User Guide]

Update Package Status

Elements in Enterprise Architect can be assigned a current status, such as Proposed, Validated or Mandatory.

Often a complete package structure moves from one status to another (such as for release) in one operation. To help facilitate this, Enterprise Architect supports a 'bulk' update of package and element status, phase and version.

Access: Project Browser package context menu | Package Control | Update Package Status

Use to:

  • Update the following element fields in the selected package:
  • Status
  • Phase
  • Version
  • Define the scope of the update

Reference:

Field | Action | See also
New Status | Type in or select the new status of the package |
New Phase | Type the new phase |
New Version | Type the new version |
Modified Date | Defaults to today's date; if the change takes effect on a different date, use the 'spin' arrows to select that date |
Set Date | Defaults to selected to apply the Modified Date; if necessary, deselect to ignore the date stamp on the change |
Recursively update all child packages | Select to apply the changes through all child packages of the selected package; deselect to apply the changes to only the selected package |
Include Elements | Defaults to selected; if the changes are to apply only to Package elements, deselect the checkbox |
Include Element Requirements | Defaults to selected, to update the element requirements' Status field; deselect to ignore this field |
Include Element Constraints | Defaults to selected, to update the constraints' Status field; deselect to ignore this field |
OK | Click on this button to update all required elements to the new status |


Manage Bookmarks [Enterprise Architect User Guide]

Manage Bookmarks

A bookmark is a visual clue that something is different about an element; it is represented by a small red triangle that displays above the element in the diagram.

You can assign any meaning to the bookmark as is appropriate to your model.

You can bookmark:

  • Single elements manually, or
  • All elements in a package automatically when they assume a defined status

Guide:

To work with bookmarks, select from the options described below:

Option

Usage

See also

Bookmark a selected element in a diagram

Either:

  • Press (Shift+Spacebar), or
  • Select the Edit | Bookmark Selected menu option

Clear a bookmark on a selected element

Use either of the above two options again

Bookmark Multiple Elements in a Package

Select Project Browser package context menu | Bookmarks

The Manage Bookmarks dialog displays, enabling you to automatically bookmark any elements (and, if required, their children) in the package that have:

  • New changes defined in the Maintenance window
  • New defects defined in the Maintenance window, and/or
  • Test scripts defined in the Testing window

This is useful to highlight elements that have additional project information

Clear all elements of bookmarks

To clear all bookmarks:

  • Throughout the current package, click on the Clear All button on the Manage Bookmarks dialog
  • In the current diagram, select the Edit | Clear All Bookmarks menu option

Notes:

  • You should reload the project to update it with the new or cleared bookmarks
  • The Model Search window enables searching based on bookmarked elements

Learn More:

  • The Maintenance Workspace
  • The Testing Workspace
  • Refresh View of Shared Project
  • Create & Modify Searches


Monitor Change Events [Enterprise Architect User Guide]

Monitor Change Events

You can automatically monitor work events in your project, using the Model Views facility.

Guide:

Topic

Detail

See also

Model Views

This facility enables you to:

  • Automatically refresh a search in a View at an interval that you define
  • Notify you if the results of the search change between two consecutive searches

You can therefore use Model Views to monitor various events in the development project, depending on how you set up the search in a View

Model Views Operations

Example

You could set up a search to detect:

  • Change items, or Issue items, so that Enterprise Architect would notify you as new items were created
  • Element Status, Type, Phase, Version, Priority and/or date of last update, so that Enterprise Architect would notify you as items were progressed to:
  • Fall in to the level of work represented by the search categories or
  • Move out of the categories into the next level of work
  • Tagged Values, so that - again - as items were changed to satisfy the criteria of a sequence of searches, the progression of items through a set of stages could be checked and managed

Personalization

People responsible for different stages in a process could have their own Model View searches so that:

  • As a development, validation or authorization task falls due the responsible person is automatically notified, and
  • When the work is complete both the next person in line and the overseeing manager are notified

Notes:

  • This facility is available in the Enterprise Architect Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions


Project Maintenance [Enterprise Architect User Guide]

Project Maintenance

This topic highlights some administrative functions you might have to carry out to maintain your model.

Topics:

Topic | Detail | See also
Check the integrity of the data in a project | If you have a failed XMI import, network crash or other unforeseen event that could disrupt the integrity of information in the model, it is recommended that you run a Project Integrity Check | Check Project Data Integrity
Reset Auto Increment Columns in Tables | XMI Import/Export can affect the table auto increment column values and push them towards the maximum datatype value; you can re-sequence the columns to avoid this problem | Reset Table Auto Increment or Identity Columns
Upgrade an old project to enable use of new features | The structure of Enterprise Architect project files is occasionally changed to support more features; when this happens, existing project files must be upgraded to the new format to ensure correct operation and to take advantage of all the new features | Upgrade Projects
Rename a project | If you want to rename an Enterprise Architect project, you can do so through Windows Explorer | Rename a Project
Compact a project | After some time, a project .EAP file might benefit from compacting to conserve space | Compact a Project
Repair a project if it did not close properly | If a project has not been closed properly, such as during system or network outages, on rare occasions the .EAP file does not re-open correctly. | Repair a Project

Notes:

  • You only rename, compact and repair models created as .EAP files; these processes are not required for models stored in a DBMS


Check Project Data Integrity [Enterprise Architect User Guide]

Check Project Data Integrity

If you have a failed XMI import, network crash or other unforeseen event that could disrupt the integrity of information in the model, it is recommended that you run the Project Integrity Check function.

You can select a variety of items to check. The integrity check examines all database records and ensures there are no 'orphaned' records or inaccurate or unset identifiers. This function does NOT check UML conformance, only the data relationships and repository structure.

You can run the integrity checker first in report mode to discover if anything should be corrected, and then run it again in 'recover/clean' mode.

When Enterprise Architect 'cleans' the model, it attempts to recover lost packages and elements, and generates a new package at the model root level called _recovered_. Check through any elements that are found and, if required, drag them into the model proper. If they are not required, delete them.

Access: Tools | Data Management | Project Integrity Check

Use to:

  • Ensure that your project data is structurally complete

How to:

To check the data integrity of your project, follow the steps below:

Step

Action

See also

1

Select the Project Integrity Check menu option

The Project Integrity Check dialog displays

2

Select the checkbox for each check to run:

  • Package Structure
  • Object Structure
  • Object Features
  • All GUIDs
  • Cross References
  • Connectors
  • UML 2.0 Migration (see below)

3

Select either:

  • the Report Only option to just view a report on the state of your model, or
  • the Recover/Clean option to recover and clean your project; before selecting this option back up your project file first

4

To write a log of the integrity check, click on the Save Results button and select a log file

5

Click on the Go button to run the check

If you want to display the resulting information in a more readable layout, you can resize the dialog and its columns

UML 2.0 Migration

The UML 2.0 Migration check enables you to migrate the project from UML 1.3 semantics to UML 2.0 semantics. The migration process currently converts activities that are invocations of operations into called operation actions as per the UML 2.0 specification.

The UML 2.0 Migration option is an exclusive process that does not enable any of the other checks to be selected. When you click on the Go button to perform the migration, a prompt displays for you to confirm the operation.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Check Data Integrity permission to perform a data integrity check

Learn More:

  • List of Permissions
  • Run SQL Patches


Reset Table Auto Increment or Identity Columns [Enterprise Architect User Guide]

Reset Table Auto Increment or Identity Columns

This topic explains possible impacts of XML Export/Import on table auto increment columns, and how to re-sequence the columns whose value approaches the maximum datatype value.

Topics:

Topic

Detail

See also

XML Export/Import

XML Export/Import can cause gaps in the numbering sequence of auto increment columns

Each XML Import deletes rows from several tables; the import then adds rows starting from the maximum value of the auto increment column

Repeated XML imports can result in the value of the auto increment approaching the maximum value of the database datatype; for example, SQL Server's int datatype has a maximum value of 2,147,483,647

Replication

Large auto increment values can also arise where the project originated as an EAP replica or design master

The Jet engine assigns random values for auto increment columns with each XML Import into the project

These random values can approach the maximum range of the repository data type, which could present a problem when the EAP project is transferred to a repository

Replication

Access: Tools | Data Management | Reset IDs

How to:

To re-sequence auto increment columns, follow the steps below:

Step

Action

1

Open the project

2

Select the Reset IDs menu option

A dialog displays listing all non-empty tables that contain an auto increment or identity column

  • The Rows column shows the number of rows in the table
  • The Maximum ID column shows the current maximum value of the auto increment column
  • The Action column shows either No Action or Reset, depending on how close the column value is to the datatype's maximum

Tables requiring a reset are automatically selected in the list

3

Click on the Go button to reset the auto increment column values


Project Upgrade [Enterprise Architect User Guide]

Project Upgrade

The structure of Enterprise Architect project files is occasionally changed to support more features. In such cases, the project might have to be upgraded.

Topic

Detail

See also

Upgrading

Upgrading to the new file structure is a simple and quick process that brings your project to the current level to:

  • Ensure correct operation and
  • Support all the latest Enterprise Architect features

Initial Check

When you load a project that was created in an early release of Enterprise Architect (for example, an archived project) using a recent release of Enterprise Architect, the system determines whether the project should be upgraded and, if the upgrade is necessary, displays the Upgrade Wizard

The Upgrade Project Wizard

The Upgrade Project Wizard takes you through the upgrade process and:

  • Advises you of the necessity to upgrade
  • Advises you to back up the current project; it is essential to back up before any changes are made
  • Checks which upgrade path is required
  • Guides you through the steps to perform the upgrade
  • Opens the newly converted project

Notes:

  • If you are using replication in your models, and the upgrade wizard detects that the project you are opening is a replica and not a Design Master, a different upgrade path is required
  • Once upgraded, the project cannot be opened with the version of Enterprise Architect in which it was created

Learn More:

  • Replication
  • Upgrade Replicas


Upgrade Replicas [Enterprise Architect User Guide]

Upgrade Replicas

Models that have replication features added might have to be upgraded differently from regular projects.

  • If the model is a Design Master (the root model of all other replicas) then you can upgrade the model to suit the current version of Enterprise Architect; after upgrading a Design Master you should re-create the replicas, rather than synchronizing
  • If the model is not a Design Master, Enterprise Architect must first remove the replication features, then upgrade the project in the normal manner; the Upgrade Wizard guides you through the steps

Learn More:

  • Project Upgrade
  • Replication
  • Design Masters


Run SQL Patches [Enterprise Architect User Guide]

Run SQL Patches

Occasionally, Sparx Systems might release a patch to correct a model fault.

Access: Tools | Data Management | Run Patch

The patch generally checks how many records are to be updated, and reports on what is to be done.


Rename a Project [Enterprise Architect User Guide]

Rename a Project

If you want to rename a project, you can only do so at the Windows file system level, using Windows Explorer.

How to:

To rename an Enterprise Architect project .EAP file, follow the steps below:

Step | Action
1 | If you have the project open, shut it down
2 | Ensure no other users have the file open
3 | Open Windows Explorer and navigate to the project
4 | Rename the project file using Windows Explorer
5 | You should keep the .EAP extension the same to preserve compatibility with the default project type, as installed in the registry at installation time


Compact a Project [Enterprise Architect User Guide]

Compact a Project

After a long period of use and development, a project .EAP file might benefit from compacting to conserve space.

Always compact and repair projects on a local drive, never on a network drive.

Access: Tools | Data Management | Manage .EAP File | Compact .EAP File

How to:

To compact a project, follow the steps below:

Step | Action
1 | If you have the project open, shut it down
2 | Ensure no other users have the file open
3 | Select the Compact .EAP File menu option
4 | Follow the on-screen instructions to complete the process

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Administer Database permission to compact a project

Learn More:

  • List of Permissions


Repair a Project [Enterprise Architect User Guide]

Repair a Project

If a project has not been closed properly, such as during system or network outages or on poor network connections, on rare occasions the .EAP file does not open correctly. A message displays informing you the project is of an unknown database format or is not a database file.

You can repair the project; however, never attempt to repair a project over a network connection; copy it to a local drive first.

Access: Tools | Data Management | Manage .EAP File | Repair .EAP File

How to:

To repair a project that was not closed properly, follow the steps below:

Step | Action | See also
1 | Ensure that all users are logged off the project you are attempting to repair | General
2 | Copy the project file to a local drive on your PC |
3 | In Enterprise Architect, select Tools | Options to display the Options dialog On the General page, deselect the Use Jet 4.0 - requires restart checkbox |
4 | Close and restart Enterprise Architect and open a copy of the project you intend to repair as a place holder project, to enable access to the Repair .EAP File facility |
5 | Select the Repair .EAP File menu option, and follow the on-screen instructions |
6 | Once you have repaired the project, it is recommended that you perform a data integrity check | Check Project Data Integrity

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Administer Database permission to repair a project

Learn More:

  • List of Permissions


Local Options [Enterprise Architect User Guide]

Local Options

There are many options for customizing how Enterprise Architect displays and works with models and model elements. This topic describes those settings that are local to a particular user and machine.

Most of these settings are stored in your registry so they are set for your use only. For a networked workplace, registry settings can be copied down to any network workstation you log in to. Otherwise, the settings are valid for the current machine only.

Access: Tools | Options

Select the required page of options by clicking on the appropriate category name in the left hand list on the dialog. For information on the options on a specific page, select the appropriate page title link below.

Topic | Detail | See also
General Options | Set options that define how Enterprise Architect operates as a whole | General
Standard colors of objects | Define the display and background colors of objects and properties across Enterprise Architect | Standard Colors
Diagram actions | Configure overall options for new diagrams and general diagram behavior | Diagram
Diagram appearance | Define how diagrams and their contents appear on display | Diagram Appearance
Diagram behavior | Define how a diagram responds to actions taken on it | Diagram Behavior
Options for Sequence diagrams | Configure various font settings and the focus of the control indicator for Sequence diagrams | Diagram Sequence
Object appearance | Configure how elements look and respond in diagrams | Objects
Link or Connector appearance | Define options for the creation, behavior and notation of connectors | Links
Colors of communication messages | Configure the colors used in Communication diagrams | Communication Message Colors
XML Specification options | Configure various settings for working with XML | XML Specifications
Source code engineering options | Set general options that apply to all languages when generating code from Enterprise Architect, including the default language in which to generate code | Source Code Engineering
DDL and code editors | Configure options for Enterprise Architect's internal editor, and for the default editor for DDL scripts | Code Editors
Constructor/Destructor options | Configure options for Object Lifetimes | Object Lifetimes
Attribute and Operation specifications | Configure Attribute and Operation specifications | Attribute/Operations
Code language specifications | Define how Enterprise Architect handles a particular language when generating code, including the default source directory and the default editor for a specific code language | ActionScript
 |  | C
 |  | C#
 |  | C++
 |  | Delphi
 |  | Java
 |  | PHP
 |  | Python
 |  | Visual Basic
 |  | VB.Net


General [Enterprise Architect User Guide]

General

Access: Tools | Options > General

Use to:

  • Set general options

Reference:

Field

Usage

See also

Author

Set the default author when new elements are created and modifications made

Clipboard Format

Set the graphic format in which to save image to the clipboard; Metafile has the best detail

Double-click on Browser

Configure the Project Browser behavior

Set Default (Project Browser) behavior

Use Jet 4.0 - requires restart

Set JET 4.0 as the database engine; this ensures compatibility with .EAP files that are in turn compatible with versions of MS Access later than Access 97, and that support unicode character sets

If your project is not in a Jet 4.0 database, you should also download a copy of the Jet 4.0 EABase Model from the Sparx Systems website, and do an EAP to EAP transfer of your model into the Jet 4.0 file

Perform a Project Data Transfer

Download link:

Sparx Systems website

Use extended « and » characters

Apply the guillemet characters to stereotypes

For some double byte character sets, it is best to select this checkbox.

Allow custom RTF tags in reports

Enable you to use customized rich text format code in report templates when generating reports with the Legacy RTF Report Generator

From release 7.0 of Enterprise Architect, with the Notes formatting facility, this option is not really necessary

Legacy RTF Report generator

Notes toolbar

Project Directory

Specify the default location of Enterprise Architect projects

File Directory

Specify the default location for file

Web Home

Specify the default home page to open when you click on the Home button in the internal web browser

The Web Browser

Web Search

Specify the default web page to open when clicking on the Web Search button in the internal web browser

Web Mail

Specify the email server address (http://xxxxx/exchange/) for accessing email through the web browser within Enterprise Architect

Confirm Deletes

Use or bypass the Confirm Delete dialog; only clear this checkbox if you are an experienced user

Allow Free Sorting

Enable you to re-order elements within a package regardless of element type, in the Project Browser

Show Stereotypes

Show element and feature stereotypes in the Project Browser

Always open maximized

Ensure that Enterprise Architect always starts up in a maximized window

Hide Properties Info Section

Hide or show the properties information status bar on the Properties window

Docked Windows Tabs on Bottom (requires restart)

Display the docked window tabs at the bottom of the window (default)

Clear the checkbox to show the tabs at the top of the windows

Main Diagram Tabs at Bottom (requires restart)

Display the diagram tabs at the bottom of the main view (default)

Clear the checkbox to show the tabs at the top of the main view

File Loading Strategy

Select the Enterprise Architect model loading behavior for .EAP files; choose either:

  • Load on Demand (Lazy Load)
  • Preload Entire Model

Load on Demand does not load the full project view when the model is loaded; instead, only the parts that are necessary to display the visible portion of the tree are loaded

This means that a model loads faster and users can begin work sooner, but at the expense of later small delays as Enterprise Architect loads specific portions of the model

For server connections, the Load on Demand option is set when the connection is created


Standard Colors [Enterprise Architect User Guide]

Standard Colors

The Standard Colors page of the Options dialog enables you to set the display color of a range of objects and their backgrounds. On first use, the page displays the system default colors. To display the range of colors available for an item, or to define a new color, click on the down arrow at the end of the appropriate field.

Access: Tools | Options > Standard Colors

Use to:

  • Set global colors

Reference:

Field

Usage

See also

Paper

Define the paper (background) color in diagrams

Element Fill

Define the fill color of elements

Element Line

Define the line color of elements

Shadow

Define the color of element outline shadows

Attribute

Define the color of attribute text

Method

Define the color of method (operation) text

Note Color

Define the note background color

Note Compartment Text

Define the color of text in the element Note compartment

Screen

Define the screen (element) color

Connector Line

Define the connector line color

Behavior

Define the color for behaviors in Activity diagrams

Custom Colors

Click on the Define Colors button to define up to 16 custom colors to be used in changing the appearance of elements on diagrams

The Show Project Custom Colors in Color Combo Boxes checkbox must be selected in order for this button to operate

Create Project Colors

Show Project Custom Colors in Color Combo Boxes

Enable the use of project custom colors within the Default Appearance dialog

When you select this option, the last 16 squares on the color selection palettes on the Default Appearance dialog are reserved for the custom colors

You must restart Enterprise Architect for changes to this option to take effect

Set an Element's Default Appearance

Notes:

  • Using this page of the Options dialog, you can set the background of all diagrams to be a specific color; you can also use the Diagram Appearance page to set all diagram backgrounds to be either a uniform color or to have a fade gradient from top to bottom
  • As an alternative, you can create a background image for the diagram
  • To override the default appearance of a specific element on all diagrams on which it is found, right-click on the element and select the Appearance | Default Appearance context menu option; the Default Appearance dialog displays
  • To change the appearance of a specific element on the current diagram only, use the Format toolbar; if this toolbar is not displayed, select the View | Toolbars | Format Tool menu option

Learn More:

  • Diagram Appearance
  • Create Custom Diagram Background
  • Default Appearance
  • Format Toolbar


Create Project Colors [Enterprise Architect User Guide]

Create Project Colors

This topic explains how you set the project colors to be made available in the element Default Appearance dialog.

Access: Tools | Options > Standard Colors: Define Colors

Use to:

  • Set the project colors

How to:

To define the custom colors for a project, follow the steps below:

Step

Action

See also

1

Click on the Define Colors button

The Color dialog displays

2

Click on the Define Custom Colors » button

The Color dialog is extended to provide color selection fields on the right of the dialog

3

Click on an empty block in the Custom Colors palette (or, if you are replacing a color, click on that color block in the palette)

4

Create the required project color using the Luminosity slide bar, color mixer panel, Hue/Sat/Lum fields and/or Red/Green/Blue fields

5

Click on the Add to Custom Colors button to add the color to the selected Custom colors block

6

Repeat steps 3, 4, and 5 for any other project colors you want to define

7

Click on the OK button to close the Color dialog, then click on the Close button to close the Options dialog

The custom colors are made available for use in the last 16 squares on the color selection palettes on the Default Appearance dialog


Diagram [Enterprise Architect User Guide]

Diagram

The New Diagram Defaults page of the Options dialog enables you to configure overall options for new diagrams and general diagram behavior.

Access: Tools | Options > Diagram

Use to:

  • Configure diagram options and behaviours

Reference:

Field

Usage

See also

Default Page Size

Show the default page size for new diagrams, which you set by clicking on the Page Setup button to display the Page Setup dialog.

Print with Border

Print pages with a border.

Landscape

Print pages in landscape orientation. This checkbox is controlled from the Page Setup dialog.

Show Public Features
Show Protected Features
Show Private Features

Set the default visibility of Class features.

Show Diagram Notes

Display the diagram details in the top left corner of all diagrams in the model; details include diagram name, package, version and author.

Use Opaque Diagram Labels

Specify where opaque diagram labels should display. Screen and Printing are best, Clipboard and Files might not be desirable.

Strict UML Syntax

Enforce compliance with UML syntax when adding new connectors and other structures

The syntax check is not performed for stereotyped elements that have had the _metatype attribute set

Define a Stereotype as a Metatype

Disable fully scoped object names

Disable fully scoped object names, when an element is in a diagram; don't use when the element is in its home package.

A scoped name is of the format MyClasses::foo, the :: character indicating that the Class is within another namespace.

Allow change of Created Date

Enable the creation date on the Diagram Properties dialog to be altered.

Zoom to best scale

Resize diagrams to neatly fit the screen.

Auto-pan with middle mouse button

Turn on auto-panning using the middle mouse button. With this option off, the middle mouse button causes a different type of panning.

Scale Saved Bitmaps to

Enable Enterprise Architect to save bitmaps at a higher resolution, suitable for using in published works.

Image Memory Limit

Set an image memory limit when generating images for RTF or HTML and when saving images to file. It is important when you have very large diagrams, as it affects the point at which Enterprise Architect starts to scale down the image; a low memory setting means it scales the image sooner.

Diagram Frames

Select whether diagram frames are to be automatically added to images of diagrams in files saved to disk, print-outs, and the default Enterprise Architect clipboard.

A diagram frame is a labeled outline around the diagram image, providing both a border and a reference.

Diagram Frame


Appearance [Enterprise Architect User Guide]

Appearance

The Diagram Appearance page of the Options dialog enables you to define how diagrams and their contents appear on display.

Access: Tools | Options > Appearance

Use to:

  • Configure the appearance settings of a diagram and elements

Reference:

Field

Usage

See also

Configure Default Element Fonts

Set the default model and user text fonts.

Set default fonts

Renderer

Render smooth curves and diagonal lines in diagrams, so that staggered vertical or horizontal pixels are less obvious. Select the type of renderer you prefer to use:

  • Basic is GDI32; it does not provide anti-aliasing and gradient fills
  • Enhanced-1 is parallel to Windows GDI+ but internal to Enterprise Architect; it provides anti-aliasing and gradient fills, and operates well across different platforms
  • Enhanced-2 is Windows GDI+; this can vary across different platforms, performing better than Enhanced-1 in some environments, and less well in others

Experiment with these options and see which works best for your system and requirements.

Default Element Border Width

Set the default element border width (in pixels).

Scale view by

Automatically increase the size of all objects on a diagram by up to 50%, without affecting other users reading that diagram.

You can perform the same function with the Zoom Slider on the Status bar; changes in the 'zoomed' display scale of a diagram update this field and affect any other diagrams that you open.

This has no impact any other diagram Zoom facility in Enterprise Architect.

Status bar

Print in Color

Print your diagrams in color. Deselect the checkbox to print the diagrams in black and white.

Anti-aliased text

Force text anti-aliasing in diagrams.

If you deselect the checkbox, Enterprise Architect applies the MS Windows default setting. Therefore, if you do not want to use anti-aliasing, ensure that the Windows anti-aliasing default is also set to OFF.

Compress text to fit within Element

Determine the behavior of Enterprise Architect when text at zoom levels other than 100% would not fit inside the boundary of an element. Enterprise Architect either compresses the text to fit within the boundary, or expands the element.

Bold Element Names

Display element names in bold text.

Element Shadows On

Display a shadow around the bottom and right edges of each element in a diagram.

Invert rotated text for metafiles

Use different text format when external metafile readers are causing issues.

Use Watermark

Add a watermark to any diagrams you print.

Text

Define the watermark text, if a watermark is to be used.

Show Gradient Fill for Paper Color

Switch between having a color gradient in the diagram background, or having a solid, uniform background color.

Gradient Fill Direction For an Element

Select the direction for the color gradient within element boxes, or <none> for no color gradient.


Set Default Fonts [Enterprise Architect User Guide]

Set Default Fonts

Enterprise Architect enables you to define a standard font to apply across the model, or a font to apply to any diagrams you create personally.

You can define both, but the model font overrides any user font, to ensure that all members of a project team have a consistent and coherent view of the model. This avoids the problem of one user creating a diagram in a small font, and another user trying to view it in a larger font, which distorts the diagram.

It is recommended that a project authority sets the model default, and all project members abide by it and do not change it without project approval.

Access: Tools | Options > Appearance : Configure Default Fonts

Use to:

  • Configure Font/s as the default for the model
  • Configure Font/s as the default for diagrams created by the user

Reference:

Field | Usage | See also
Model Font : Font Face | Specifies the font face used by the overall model. |
Model Font : Font Size | Specifies the font size used by the overall model. |
Clear | Clears the selections made for Font Face and Font Size. |
User Font: Font Face | Specifies the Font Face used on diagrams if no model font is specified. |
User Font: Font Size | Specifies the Font Size used on diagrams if no model font size is specified. |

Notes:

  • Both model and user fonts are overridden by specifically-defined element fonts, so that the element is viewed as designed regardless of the model or user defaults. To define the font for a specific element, right-click on the element in a diagram and select the Appearance | Set Font context menu option
  • If you cannot read the diagrams because the default font makes the objects and text too small, you can scale up all objects (that is, all diagram displays) to a more readable size for you only; the objects are not scaled up for other users. Everything on the diagram is enlarged to the same extent, so it remains in proportion and readable. To do this, return to the Diagram Appearance page of the Options dialog and enter a suitable percentage value in the Scale view by field

Learn More:

  • Set Element Font
  • Appearance


Behavior [Enterprise Architect User Guide]

Behavior

The Diagram Behavior page of the Options dialog enables you to define how a diagram responds to actions taken on it.

Access: Tools | Options > Diagram : Behaviour

Use to:

  • Define diagram behaviour

Reference:

Field | Usage | See also
Auto Instance | Automatically create object instances when dragging certain element types - such as Class and Component - from the Project Browser, with the dragged element as the classifier |
Instance has Classifier style | Automatically apply the classifier style of the element an instance is instantiated from when the instance is created |
Show Life Lines | Show life lines for Sequence elements in non-Sequence diagrams |
Layout uses all relations | Show all relationships in a diagram layout; deselect the checkbox to show only Generalizations and Associations |
Auto Save Changes | Automatically save your changes as you work, without having to confirm prompts to do so |
Show 'Hidden' Parents | Display any parents of elements in the diagram that are not part of the diagram |
Auto Group Elements | Also move visually composed elements when moving diagram nodes; a node is considered composed if it is contained by the moved element and has a higher Z-order Press and hold ( Alt ) whilst moving an element to toggle this option | Diagram Context Menu
Show Linked Items in Package | Display connected items on packages |
Show Package Item Scope | Display the + and - indicators representing the scope of the items |
Shift-Mouse Autoscroll | Enable you to press and hold ( Shift ) and use the mouse to autoscroll around diagrams |
Use Automatic SubActivities | Generate a new Structured Activity linked to the diagram from a Structured Activity diagram dragged from the Project Browser |
Always Highlight Context Element | Show a hatch border around a selected element | Highlight Context Element
Objects Snap to Grid | Snap all elements to the grid lines |
Show Grid | Display the grid |
Grid Size | Specify the grid size, if you have selected Objects Snap to Grid |
Auto Tidy | Automatically tidy line angles for custom connectors; this 'nudges' the custom line into horizontal and vertical increments | Connector Styles
Tidy line gap | Specify the amount Enterprise Architect should enable you to move a line away from horizontal and vertical when you are tidying lines for custom connectors. (See Auto Tidy above) | Connector Styles
Alias only | Display the alias instead of the element name on elements with aliases |
Alias and Name | Display both the element name and the Alias in the format (Alias) name |
Use alias field for role | Replace the Alias property of instances with a Role property |


Sequence [Enterprise Architect User Guide]

Sequence

The Sequence page of the Options dialog enables you to configure various font settings and the focus of the control indicator for Sequence diagrams.

Access: Tools | Options > Diagram : Sequence

Use to:

  • Configure font settings
  • Configure the focus of the control indicator for Sequence diagrams

Reference:

Field | Usage | See also
Message Spacing | Specify the vertical gap (in points) between Sequence messages (can be overridden manually by dragging a message up or down). |
Default page layout is Landscape | Set the default orientation of Sequence diagrams to landscape. |
Show Sequence Numbering | Show sequence numbers on Sequence messages. |
Assume right to left messages are Return | Automatically generate return messages. |
Default concurrency is Asynchronous | Set the default concurrency for Sequence Messages to Asynchronous; deselect to set the default concurrency to Synchronous. | Message (Sequence Diagram)
Width | Select the line width (in points) of the 'focus of control' rectangle (thick part of lifeline). |
Assume message returns | Assume implicit returns when none are explicitly drawn (recommended). |
GarbageCollect | Automatically truncate lifelines for created elements after the last message (that is, assume garbage collect rather than explicit delete). |
Name | Display the MS Windows Font dialog click on ( ... ) and define the font of the caption bar heading (above your diagram); this is particularly useful for non-English character sets. |
Size | Specify the size of the heading font (this overrides the font size in the Font dialog, above). |
Use System | Apply the Enterprise Architect system default heading font. |


Objects [Enterprise Architect User Guide]

Objects

The Objects page of the Options dialog enables you to configure how elements look and respond in diagrams.

Access: Tools | Options > Objects

Use to:

  • Change how elements look and respond

Reference:

Field | Usage | See also
Version | Set the default version for new elements |
Phase | Set the default phase for new elements |
Highlight References | Highlight parameters in operations that are passed by reference rather than value |
Reference Char(s) | Specify a character to use for the reference |
Prefix/Suffix | Indicate whether to use the Reference Char(s) value as a prefix (before) or a suffix (after) |
Warn about spaces in class names | Enable or hide the warning message that a Class, operation or attribute name has embedded spaces (which can cause coding problems) |
Classes honor analysis stereotypes | Show Classes as their stereotype; for example, if a Class is stereotyped as a Boundary, it appears as a Boundary rather than a Class |
Show stereotype icon for requirements | Show or hide a code letter in the top right corner of Requirement (E, for external), Change (C) and Issue (I) elements |
Support for Composite Objects | Enable you to drag child elements onto parent elements in a diagram, and automatically embed them (and drag embedded child elements out of parent elements, breaking the child-parent relationship) | Move Elements Within Diagrams
Auto-resize marks diagram 'dirty' | Ensure that auto-resizing of elements (such as Classes) marks the current diagram as changed (asterisk on the diagram name tab), so it should be saved |
Highlight {abstract} elements | Highlight abstract elements with a suitable tag {abstract} in the top right of the Class |
Allow elongated Use Cases | Stretch Use Cases or Use Case extension points with long names to enable space for the name If you deselect the checkbox, Use Case re-sizing is proportional and the 'make same' menu options are blocked | Position Submenus
Show status colors on diagrams | Enable color coding for Requirements and similar elements | Status Types
Copy inheritance links on duplicate | Duplicate Inheritance and Realization connectors when an edit/copy is performed |
Port and Part type visible by default | Enable Port and Part types to be shown by default |
Show buttons for selected Object on diagram | Display the floating toolbar buttons to the left of the selected object; for example: |
Edit Object on New | Automatically show the element Properties dialog when a new element is added |
Show «column» stereotype | Hide or show the «column» stereotype used when data modeling |
Extend Complexity | Extend levels of complexity to five levels in the Complexity option in the Properties window; otherwise only three levels are available |
UML 1.5 Components | Use UML 1.5 components (Enterprise Architect versions 4.0 and later support UML 2.x) |
Show State Compartment | Show or hide the State Compartment divider under the state name |
Show Duplicate Tags | Enable duplicate tags to be shown |
Group Operations by Stereotype | Group an element's operations by their stereotype on the diagram |
Group Attributes by Stereotype | Group an element's attributes by their stereotype on the diagram |
Sort Features Alphabetically | Sort element features alphabetically Features include Attributes, Operations, Tags, Constraints and Test Cases |
Disable spelling | Turn off automatic spell checking Deselect to resume automatic spell checking | Spell Checking
Advanced | Set the visibility of certain elements in reports and in diagram packages | Element Visibility


Element Visibility [Enterprise Architect User Guide]

Element Visibility

Some elements do not appear in packages and in RTF output by default. Click on the Advanced button on the Objects page of the Options dialog to specify which elements should be visible.

Access: Tools | Options > Objects : Advanced

Use to:

  • Specify which elements should be visible within RTF reports

Learn More:

  • Objects
  • Customize Visibility of Elements


Links [Enterprise Architect User Guide]

Links

The Links page of the Options dialog provides options for the creation, behavior and notation for connectors.

Access: Tools | Options > Links

Use to:

  • Provides options for connector behaviour

Reference:

Field | Usage | See also
Edit Connector on New | Automatically show the connector Properties dialog when a new connector is added. |
Association default = source --> target | Set the direction of new Associations to source->target (that is, with an arrow head at the target). |
Generalization link style Default = Tree | Show Generalizations as tree style hierarchies. |
Shade Qualifier boxes | Lightly shade all Qualifier boxes. |
Draw Aggregations Reversed | Draw Aggregate and Composite connectors from target element to source element. When deselected (the default), these connectors are drawn from source to target. |
Prompt on connector deletes | Display a prompt before deleting connectors, offering the choice of hiding the connector on the diagram or deleting it completely. If you deselect this option, the delete operation defaults to the last setting on the dialog. | Delete Connectors
Suppress Link Constraints | Suppress connector constraints in diagrams. |
Suppress Qualifier boxes | Suppress boxes when displaying qualifiers. |
Show Uses arrowheads | Show an arrowhead on Actor->Use Case Associations. |
Show Override Operation dialog on new connector | Show the Override Operation dialog automatically when adding generalizations and realizations between Classes and Interfaces, if the target element has features that can be overridden. |
Suppress ' + ' Role Scope | Ensure that the role and scope are not displayed on the diagram. |
Pen Width | Set the default connector width. |
Routing | Set the default connector style for new connectors. |
Enable | Enable the Quick Linker. | The Quick Linker
Show Help | Add a 'help' menu option to the end of the Quick Linker menu. |
Center to center | Change the position of the dashed guide line for new connectors. |
Exact placement
Force perpendicular line

Notes:

  • For Draw Aggregations Reversed, all tools have the parent as the target and the child as the source of the connector, that is a requirement of UML; only the direction in which you drag the mouse to draw the connector is changed


Communication Message Colors [Enterprise Architect User Guide]

Communication Message Colors

The Communication Message Coloring page in the Options dialog enables you to configure the colors used in Communication diagrams.

Access: Tools | Options > Communication Colors

Use to:

  • Configure colors used in Communication diagrams

Notes:

  • Select the Use Communication Message Coloring checkbox to turn on colored messages. When you enable this option, Communication messages appear in different colors depending on the sequence group they belong to on a diagram; for example, 1.n are black, 2.n are red, 3.n are green
  • Click on the down arrow in each color field, and click on the appropriate color for the message group. Set the color sequence as required; the pattern repeats after 8 sequence groups


XML Specifications [Enterprise Architect User Guide]

XML Specifications

The XML Specifications page of the Options dialog enables you to configure various settings for working with XML.

Access: Tools | Options > XML Specifications

Use to:

  • Configure various XML Settings

Reference:

Field

Usage

See also

Editor

Set the default editor for any XML documents you open within Enterprise Architect

Format XMI Output

Set whether or not formatting is applied to your XMI output

Write Log

Set whether or not to write to a log file when you import or export XML

Use DTD

Set whether or not to use a Data Type Definition

Export Diagrams

Set whether or not to export diagrams when you export XML

Export Alternate Images

Set whether or not to export the alternative images used in the model when you export to XML

Using the Image Manager

Check in a Package

Sharing Reference Data

Default XMI Version

Set the XMI version to use: Enterprise Architect or Rose

Code Page

Set the Code Page to use

Setting a NULL encoding string results in the encoding tag being entirely omitted from the XML output

Click on the Default button to restore the setting to the default Code Page.

Export Diagram Images

Set whether or not to export diagrams as images when you export XML

Image Type

Define the format of the image to export to if Export Diagram Images is selected

Create placeholders for missing External References during XMI 1.1/2.1 Import

Set this option to show, during an Enterprise Architect exported XMI 1.1/2.1 file import, any missing:

  • Diagram elements, using a Boundary element as a placeholder
  • Diagram connectors, using a Dependency connector as a placeholder

When importing an Enterprise Architect exported XMI 1.1/2.1 file with cross-package references, use this option to visually show the diagram items that are not yet in the model

A sample scenario would be exporting Package2 to XMI 1.1 from Master.EAP and importing it into New.EAP - the Classes Class1 and Class2 and the connector between them are shown using a placeholder on the diagram Package2

Prefix EA Tagged Values in XMI 1.0 with ea$

Set whether or not to prefix any Enterprise Architect Tagged Values within any XMI 1.0 you create, with ea$

Update Last Save Time

Set whether to update the timestamp of the last time controlled packages were saved

Report Cross Package Reference Deletions (XMI 1.1)

Set this option to report any package cross-references that would be deleted when a Controlled Package is exported to XMI 1.1

Report Deletion of Cross-Package References

Default XML Directory

Define the default XML directory to use when importing and exporting XML

Notes:

  • If Export Alternate Images is set, and you have packages in your model under version control, then any alternative images used in those packages are also exported to the version control repository when you check in the packages; in this case, you would only select the checkbox if the alternative images are subject to frequent change

    Otherwise, do not select this option and instead use Export/Import Reference Data to manage alternative images

Learn More:

  • Export MOF to XMI


Navigate, Search and Trace [Enterprise Architect User Guide]

Navigate, Search and Trace

This section explains how you navigate through the model structures in Enterprise Architect, locate and display specific information, and trace the origins, development and fate of the model elements. While the Project Browser provides an effective hierarchical view of the model, large models can present particular challenges, and tracing dependencies and relationships is not always a simple task. Fortunately, Enterprise Architect has a number of tools designed to meet just these requirements.

Topics:

Topic | Link
The use of the Project Browser and Package Browser to navigate and explore your model | The Project Browser Package Browser
How Model Views provide different perspectives and 'entry points' into a model | Model Views Diagram Slide Show
Finding elements and relationships using the Model Search tools and custom queries | Model Search Pre-defined Searches
Traceability tools to help track completeness, dependencies and other behavioral and structural relationships | Traceability Tools
Use of the Diagram List or Package Browser to view model elements in a conventional list based manner | Diagram List Package Browser
Use of the Relationship Matrix to understand and track relationships between model elements in a spreadsheet view | Relationship Matrix
Using Diagram Filters to highlight information in diagrams | Diagram Filters
Using the Traceability window to explore model dependencies | The Traceability Window
Finding and working with Element Relationships | The Relationships Window


Navigate: Exploring Your Model [Enterprise Architect User Guide]

Navigate: Exploring Your Model

Navigating is the process of systematically exploring the structure of your model using the hierarchical and list based views, such as the Project Browser. It is particularly useful when you are familiar with the structure of a model and its packaged contents. Whereas Searching provides a flat and random set of results, the Project and Package Browsers provide a highly structured viewpoint, reflecting the exact structure of your model.

Topics:

Topic | Link
Using the Project Browser, the main interface element for exploring and navigating your model | The Project Browser Project Browser Context Menus Project Browser Toolbar
The Package Browser - a tabular, editable view of elements in a selected package, which can be displayed in the main workspace | Package Browser
The Diagram List - a tabular, editable view of elements in a selected diagram, which can be displayed in the main workspace | Diagram List
Using Model Views to provide different perspectives and 'entry points' into your model | Model Views
Setting up a Diagram Slide show | Diagram Slide Show
Using the Pan and Zoom window to navigate around very large diagrams | The Pan & Zoom Window


The Project Browser [Enterprise Architect User Guide]

The Project Browser

The Project Browser enables you to navigate through the Enterprise Architect project space. It displays packages, diagrams, elements and element features in a tree like structure, reflecting the arrangement of elements and packages within your model. The Project Browser is the primary mechanism for browsing and exploring your model and is the jumping off point for many of the most important features in Enterprise Architect.

Access: View | Project Browser ( Alt + 0 )

Use to:

  • Navigate your model
  • Drill down to specific elements
  • Drag and drop elements and packages within the model
  • Copy (duplicate) whole packages
  • Import/export model information
  • Set up version control, locking, execution analysis and many other aspects of the model tied to a particular package
  • Document models
  • Import code, xmi and csv files, database schema and other external data sources

If you right-click on an item in the Project Browser to display the context menus, you can perform additional actions such as adding new packages, creating diagrams, renaming items, creating documentation and other reports, and deleting model elements. You can also edit the name of any item in the Project Browser by selecting the item and pressing ( F2 ) .

Views

The Project Browser can be divided into Views, each of which contains diagrams, packages and other elements. A default View hierarchy is described below, but you can create different Views to suit your requirements:

View | Description
Use Case View | The functional and early analysis View. Contains Business Process and Use Case models.
Dynamic View | Contains State Charts, Activity and Interaction diagrams. The dynamics of your system.
Logical View | The Class Model and Domain Model View.
Component View | A View for your system components. The high level view of what software is to be built (such as executables, DLLs and components).
Deployment View | The physical model; what hardware is to be deployed and what software is to run on it.
Custom View | A work area for other Views, such as formal requirements, recycle bin, interview notes and non-functional requirements.

Selective Collapse:

When you are working on an expanded project in the Project Browser, you might want to locate the parent element or package of an item, and/or collapse the structure under that parent element or package.

How to:

To focus on the parent element or package, follow the steps below:

Step | Action | See also
1 | Position the cursor on an item within the element or package |
2 | Press ( ! ) on the keyboard to highlight the parent. |
3 | Press the key again to collapse the structure under that parent element or package. |

Learn More:

  • Views
  • Project Browser Icon Overlays


Project Browser Context Menus [Enterprise Architect User Guide]

Project Browser Context Menus

This section describes the many options available to work on objects in the Project Browser, selected from the following context menus:

  • Model (Root Node) context menu
  • Package Context Menu
  • Element Context Menu
  • Diagram Context Menu
  • Operation Context Menu


Model (Root Node) Context Menu [Enterprise Architect User Guide]

Model (Root Node) Context Menu

The Root Node in the Project Browser is the Model element. You can have more than one model element.

The first level packages beneath the Model node are sometimes referred to as Views as they commonly divide a model into categories such as Use Case Model and Logical Model.

Right-click on the Root Node to display the Model context menu.

Action

Usage

Shortcut

See also

Add-In

Access the facilities of each Add-In currently enabled for the project

Scripts

List the scripts enabled for execution directly from the Project Browser

(Does not display if no Project Browser scripts exist)

Package Control

Display the Package Control submenu

Package Control

Rename Model

Rename the current model

Add

Display the Add submenu; see below

Copy Package to Clipboard

Copy the selected package to the clipboard, to be copied into another package in the same .eap file or a different .eap file

Copy the selected package

Paste Package from Clipboard

Paste a package from the clipboard into the selected package

Paste a package

Find in Project Browser

Find a specified term in the Project Browser

Ctrl + Shift + F

Expand Branch

Expand all items

Collapse Branch

Collapse all items

Import Model from XMI

Import a model from an XMI file

Ctrl + Alt + I

Import a model

Export Model to XMI

Export a model to XMI

Ctrl + Alt + E

Export a model

Rich Text Format (RTF) Report

Produce RTF documentation for the model

F8

Produce RTF documentation

HTML Report

Produce HTML documentation for the model

Shift + F8

Produce HTML documentation

Diagrams Only Report

Produce a Diagrams Only report (in RTF) for the model

Ctrl + Shift + F8

Diagrams Only Report

Copy Reference

Copy a reference to the root node to the Enterprise Architect clipboard. Select the appropriate sub-option to copy the:

  • selected package hierarchy structure (node path) or
  • node GUID

Delete Project Root

Delete the Model node and all subordinate Views and packages

Help

Display the Help topic for the Project Browser

Add Submenu:

Action | Usage | Shortcut | See also
Add Model (root node) | Create a new model root |  |
Add View | Create a new View (package) |  |
Add a New Model using Wizard | Add further models using the Model Wizard | Ctrl + Shift + M | Model Wizard


Package Menu [Enterprise Architect User Guide]

Package Menu

Right-click on a View or Package in the Project Browser. The context menu displays, providing the following options:

Action

Usage

Shortcut

See also

Add-In

Access the facilities of each Add-In currently enabled for the project

Scripts

List the scripts enabled for execution directly from the Project Browser

(Does not display if no Project Browser scripts exist)

Script Group Properties

Properties

Display the Properties dialog for the Package element

Properties Dialog

Package Control

Submit packages to package control and version control

Controlled Package Menu

Package Version Control Menu

Add

Add a new diagram, element or another package to the current package

Add sub menu

Paste Diagram

If you have copied a diagram from another package, paste the diagram into the currently-selected package

Lock Package

Set a lock on the package

Lock Package

Package Browser

Display the Package Browser, showing the elements contained in the selected package

Package Browser

Find in All Diagrams

List all diagrams in which this package is depicted, in the Element Usage dialog

Ctrl + U

Show Element Use

Turn On Level Numbering

(Turn Off Level Numbering)

Add a sequence number to each element in the package, based on the element's position in the package hierarchy

For nested elements, the numbering indicates level; that is:

3.2

3.2.1

3.2.1.1

This option is only available for packages, and the numbering only applies to the elements in the package, not diagrams

If elements are added, moved or deleted from the package, the numbering automatically adjusts

Model Requirements

Linked Document

Create or display a linked document for the package or view

Ctrl + Alt + D

Linked documents

Delete Linked Document

Delete the linked document attached to the package. The system prompts you to confirm the deletion

Documentation

Produce a variety of reports and documentation in RTF format

Documentation Sub-menu

Code Engineering

Perform Code Engineering functions

Code Engineering Sub-menu

Execution Analyzer

Display the Execution Analyzer window and highlight the Analyzer Scripts for the selected Package

If no Analyzer Scripts have been configured you are given the opportunity to create one

Visual Execution Analyzer

Import/Export

Import and export using XMI text files

Import/Export Sub-menu

Transform Current Package

Perform a model transformation on the selected package

Ctrl + Shift + H

Transform Elements

Contents

Reorganize the package contents after making changes

Contents Sub-menu

Bookmarks

Bookmark all elements in the selected folder

Manage Bookmarks

Find in Project Browser

Search the Project Browser for specific elements (identified using the Find in Project Browser dialog)

Ctrl + Shift + F

Copy Reference

Copy a reference to the package to the Enterprise Architect clipboard; select the appropriate sub-option to copy the:

  • selected package hierarchy structure (node path) or
  • node GUID

Copy Package to Clipboard

Copy the selected package to the clipboard, to be copied into another package in the same .eap file or a different .eap file

Copy a Package

Paste Package from Clipboard

Paste a package from the clipboard into the selected package

Copy a Package

Paste Element(s) from Clipboard

Paste elements copied to the clipboard into the selected package

Copy Elements Between Packages

Save Package as UML Profile

Save the selected package as a Profile

UML Profiles

Set View Icon

Change the display icon for the selected package (View level)

Move up

Move the package up in the list

Move down

Move the package down the list

Delete <packagename>

Delete the selected package and its contents

Help

Display the Help topic for the Project Browser


Add Sub-Menu [Enterprise Architect User Guide]

Add Sub-Menu

In the Project Browser, right-click on a package and select the Add context menu option.

Action | Shortcut | See also
Add Diagram |  | New Diagram
Add Element | Ctrl + M | New Element
Add Package | Ctrl + W | Add Package
Add a New Model using Wizard |  | Model Wizard


Documentation Sub-Menu [Enterprise Architect User Guide]

Documentation Sub-Menu

In the Project Browser, right-click on a package and select the Documentation context menu option.

Action | Shortcut | See also
Rich Text Format (RTF) Report | F8 | RTF Document
HTML Report | Shift + F8 | HTML Report
Diagrams Only Report | Ctrl + Shift + F8 | Diagrams Only Report
Testing Report |  | Test Document
Open in Relationship Matrix |  | Element Relationship Matrix
Generated Report Options |  | RTF Report Options
Copy RTF Bookmark |  | Copy RTF Bookmark
Package Metrics |  | Package Metrics


Code Engineering Sub-Menu [Enterprise Architect User Guide]

Code Engineering Sub-Menu

In the Project Browser, right-click on a package and select the Code Engineering context menu option.

Action | Shortcut | See also
Generate Source Code | Ctrl + Alt + K | Generate Source Code
Import Source Directory | Ctrl + Shift + U | Import Source Directory
Import Binary Module |  | Import Binary
Synchronize Package With Code | Ctrl + Alt + M | Synchronize Package With Code
Generate DDL |  | Generate DDL
Import DB schema from ODBC |  | Import DB schema from ODBC
Generate XML Schema |  | Generate XSD
Import XML Schema |  | Import XSD
Generate WSDL |  | Generate WSDL
Import WSDL |  | Import WSDL
Reset Options for this Package |  | Reset Options
Reset DBMS Options |  | Reset DBMS Options
Set as Namespace Root/ Clear Namespace Root |  | Namespaces
Live Code Generation - Toggle between using and not using live code generation; that is, to update your source code instantly as you make changes to your model |  |


Execution Analyzer Sub-Menu [Enterprise Architect User Guide]

Execution Analyzer Sub-Menu

In the Project Browser, right-click on a package and select the Execution Analyzer context menu option. This menu option displays the Execution Analyzer window and highlights the Analyzer Scripts for the selected Package. If no any Analyzer Scripts have been configured you are given the opportunity to create one.


Import/Export Sub-Menu [Enterprise Architect User Guide]

Import/Export Sub-Menu

In the Project Browser, right-click on a package and select the Import/Export context menu option.

Action | Shortcut | See also
Import package from XMI file | Ctrl + Alt + I | Import package
Export package to XMI file | Ctrl + Alt + E | Export package
CSV Import / Export |  | CSV Import / Export


Contents Sub-Menu [Enterprise Architect User Guide]

Contents Sub-Menu

In the Project Browser, right-click on a package and select the Contents context menu option.

Menu Option | Action | See also
Expand Branch | Expand all of the items in the Project Browser. |
Collapse Branch | Collapse all of the items in the Project Browser. |
Reset Sort Order | Return sorting of package contents to list in alphabetical order. |
Reload current package | Refresh the current package in the Project Browser. | Refresh Model View


Element Menu - Project Browser [Enterprise Architect User Guide]

Element Menu - Project Browser

Right-click on an element (such as Class, Object, Activity, State) in the Project Browser to display the element's context menu.

Command

Action

Shortcut

See also

Add-In

Access the facilities of each Add-In currently enabled for the project

Scripts

List the scripts enabled for execution directly from the Project Browser

(Does not display if no Project Browser scripts exist)

Scripts

Properties

View and modify the element properties

Add

Create a child element and diagram (Classifier elements) or a connector to another element

Add sub menu

Paste Diagram

Pastes a copy of a diagram from the clipboard as a child diagram of the selected element

The Copy Diagram dialog displays, offering the choice between a shallow copy and a deep copy

Copy (Duplicate) Diagram

Rule Composer

For a Rule Task element, invoke the Rule Composer tab in Business Rule Modeling

Rule Composer tab

Attributes

Display the Attribute dialog ready to create a new attribute

Operations

Display the Operations dialog ready to create a new operation

Create Workbench Instance

Create workbench variables from the selected Class

When you select this option, Enterprise Architect prompts you to name the variable, which then displays in the Workbench window

Ctrl + Shift + J

Create workbench variables

Workbench window

Generate Code

Generate the source code for this element

F11

Generate Source Code

Synchronize with Code

Synchronize the element in the diagram with the source code

F7

Import Source Code

View Source Code

View the source code of the element

F12

The Source Code Viewer

Open Source Directory

Open the source directory

Ctrl + Alt + Y

Find In All Diagrams

Locate the element in all open diagrams

Ctrl + U

Locate in Current Diagram

Select the element in the currently-visible diagram

If the element is not in the diagram, this option is grayed-out

Copy RTF Bookmark

Copy a bookmark in RTF format to the clipboard

Bookmark

Linked Document

Create a Linked Document (Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions)

Ctrl + Alt + D

Linked Documents

Delete Linked Document

Delete the linked document attached to the selected element

Add Custom Reference

Set up cross references between elements in a diagram and the selected element in the Project Browser

Ctrl + J

Cross references

Copy Element(s) to Clipboard

Copy the selected element or elements to the clipboard to be pasted into another package in this .eap file or another .eap file

Copy the selected element

Copy Reference

Copy a reference to the element to the Enterprise Architect clipboard. Select the appropriate sub-option to copy the:

  • selected element hierarchy structure (node path) or
  • node GUID

Move Up

Move the element up in the list of elements within this package

Move Down

Move the element down in the list of elements within this package

Delete '<element Name>'

Delete the element

Help

Display the Help topic for the Project Browser


Add Sub Menu [Enterprise Architect User Guide]

Add Sub-Menu

Access: Right-click element in Project Browser: ( Insert )
Right-click element | Add

Menu Option | Action | See also
Activity | Add an Activity behavior element and one of its associated diagrams to the selected Classifier element | Activity Object Classifiers
Interaction | Add an Interaction behavior element and one of its associated diagrams to the selected Classifier element | Interaction Occurrence Object Classifiers
State Machine | Add a State Machine Behavior element and one of its associated diagrams to the selected Classifier element | State Machine Object Classifiers
RuleFlow Activity | Add a Rule Flow Activity element and associated diagram to a Class, in Business Rule Modeling | Create a Rule Flow Model
Add Diagram | Create a diagram to explain or expand on the selected Classifier element, using the New Diagram dialog | Add New Diagrams
Create Link | Create a connector to another element | Create Connector in Project Browser

Notes:

  • Elements such as Actors, Classes and Activities can define a large amount of information that can be conveniently represented by or expanded in a child diagram; the Add sub-menu for these elements provides all of the options listed above
  • Elements such as Timing, Exit and History have much more specific functions that do not require expansion; the Add sub-menu for these elements only provides the Create Link option


Diagram Menu - Project Browser [Enterprise Architect User Guide]

Diagram Menu - Project Browser

Right-click on a diagram in the Project Browser to open the Diagram context menu. The example below illustrates the functions available from this menu.

Action

Usage

Shortcut

See also

Add-In

Access the facilities of each Add-In currently enabled for the project.

Scripts

List the scripts enabled for execution directly from the Project Browser.

(Does not display if no Project Browser scripts exist.)

Scripts

Properties

View and modify a diagram's properties.

F5

Open

Open the diagram in the Diagram View.

View Diagram As List

Display the Diagram List, listing the elements in the selected diagram.

Diagram List

Copy Diagram

Copy the diagram for pasting into another location.

Copy a Diagram

Copy RTF Bookmark

Copy a bookmark in RTF format to the clipboard.

Bookmark

Add Custom Reference

Add this diagram as a cross reference to other elements.

Cross reference

Print Diagram(s)

Print the currently-selected diagram or diagrams (hold ( Ctrl ) or ( Shift ) while selecting).

Copy Reference

Copy a reference to the diagram node to the Enterprise Architect clipboard. Select the appropriate sub-option to copy the:

  • selected hierarchy structure (node path) or
  • node GUID.

Move up

Move the diagram up in the list of diagrams within this package.

Move down

Move the diagram down in the list of diagrams within this package.

Delete '<diagram name>'

Delete the selected diagram.

Delete selected items

Delete several selected diagrams (hold ( Ctrl ) or ( Shift ) while selecting).

Help

Display the Help topic for the Project Browser.


Operation Menu - Project Browser [Enterprise Architect User Guide]

Operation Menu - Project Browser

To display the Operation (or Method) context menu, right-click on an Operation in the Project Browser.

Action

Usage

Shortcut

See also

Add-In

Access the facilities of each Add-In currently enabled for the project

Scripts

List the scripts enabled for execution directly from the Project Browser

(Does not display if no Project Browser scripts exis.)

Script Group Properties

Generate Code

Generate code for the operation

F11

Synchronize With Code

Synchronize the operation with the code

F7

View Source Code

Open the Source Code Viewer and display the operation

F12

The Source Code Viewer

Operation Properties

Display the Properties dialog for the operation

Copy Reference

Copy a reference to the operation to the Enterprise Architect clipboard

Select the appropriate sub-option to copy the:

  • selected hierarchy structure (node path)
  • node GUID

Delete Operation

Delete the operation

Help

Display the Help topic for the Project Browser

Notes:

  • You can display an equivalent context menu for an attribute by right-clicking on the attribute in the Project Browser.


Project Browser Toolbar [Enterprise Architect User Guide]

Project Browser Toolbar

The Project Browser toolbar enables you to perform a range of operations on your project structure.

Access: View | Project Browser

Use to:

  • Perform a variety of operations on the project structure and components

Reference:

Action

Usage

Shortcut

See also

New Model from Pattern

Create a new Model Package in the project, from a predefined UML or Technology pattern

Model Wizard

Add a Package

Create a new child package under the selected package

Add a Package

New Diagram

Create a new child diagram under the selected package or element

Add New Diagrams

Create Element

Create a new child element under the selected package or element

Add Elements Directly to Packages

Find in Project Browser

Perform a simple search for a text string in the Project Browser

Documentation

Provide options to generate an:

  • RTF report
  • HTML report or
  • Diagram Only report

on the selected package in the Project Browser

(F8)
(Shift+F8)
(Ctrl+Shift+F8)

Generate RTF Documents

HTML Reports

Diagrams Only Report

Code and DB Generation

Provide options to:

  • Generate source code
  • Generate DDL
  • Import a source directory
  • Import a binary module
  • Import a database schema
  • Generate package contents to synchronize with package code
  • Reset the source code language

All for the selected package

Generate a Package

Generate DDL for a Package

import a Directory Structure

Import Binary Module

Import Database Schema

Update Package Contents

Reset Options

Move Element Up

Move the selected package or element further up the Project Browser, within its parent package

Move Element Down

Move the selected package or element further down the Project Browser, within its parent package

Help

Open the Enterprise Architect Help on the Project Browser.


Project Browser Icon Overlays [Enterprise Architect User Guide]

Project Browser Icon Overlays

The Project Browser displays the status of each package in the model by overlaying status icons on the package icon. The following table describes what each overlaid icon means.

Icon Overlay | Indicates that... | See also
PkgCntrlXMIicon | This package is controlled and is represented by an XMI file on disk. Version control either is not being used or is not available. You can edit the package. | Controlled Packages
packageover1 | This package is version controlled and checked out to you, therefore you can edit the package. | Use Version Control
Eightarrow | This package is version controlled and not checked out to you, therefore you cannot edit the package (unless you check the package out). | Use Version Control
Redeight | This package is version controlled, but you checked it out whilst not connected to the version control server. You can edit the package but there could be version conflicts when you check the package in again. | Offline Version Control
NamespaceRootIcon | This package is a namespace root. It denotes where the namespace structure starts; packages below this point are generated as namespaces to code. | Namespaces
<MDG Add-In icon> | MDG Add-Ins specify their own icon to denote that this branch of the model belongs to that Add-In. All packages connected to an MDG Add-In correspond to a namespace root, so the namespace root icon is not displayed. | MDG Add-Ins

Similarly, the Project Browser indicates attribute and operation scope status with icons. The following table describes what each indicator icon means.

Icon Overlay | Indicates that... | See also
 | The attribute or operation is scoped as protected. |
 | The attribute or operation is scoped as private. |

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions, if project User Security is on, the Project Browser also has element locking indicators (red and blue exclamation marks) that indicate the lock status of individual elements and packages

    The availability of these elements for editing depends on whether user locks are required or not

Learn More:

  • Configure User Security
  • Locked Element Indicators


Order Package Contents [Enterprise Architect User Guide]

Order Package Contents

Ordering elements is very important when it comes to structuring your model, especially packages. RTF documents honor any custom ordering when printing documentation. Enterprise Architect enables you to change the order of elements listed in the Project Browser.

By default, elements are first listed in:

  • order of type, then
  • order of set position, then
  • alphabetically

You can use the context menu options to move an element up or down within its type, but not outside its type. This means you can re-sequence Packages or Diagrams or Use Cases, but you cannot mix up elements.

However, you can change this default behavior to allow elements to be re-ordered within the package, regardless of type.

Learn More:

  • Set Default Behavior


Set Default Behavior [Enterprise Architect User Guide]

Set Default Behavior

The General page of the Options dialog provides several options for altering the look and behavior of the Project Browser.

Access: Tools | Options > General

Panel | Option | Effect | See also
Double-click On Browser | Shows Properties | When an item in the Project Browser is double-clicked, the item's Properties dialog (if available) displays |
 | Opens Branch | When an item in the Project Browser is double-clicked, the hierarchy expands to show the item's children If there are no children, nothing happens |
 | Opens Branch & Diagram | As above, but also opens the first diagram beneath the item, if applicable |
Project Browser | Allow Free Sorting | Enables you to re-order elements within a package regardless of type, within the Project Browser | Order Package Contents
 | Show Stereotypes | When a stereotype is defined for an element, the stereotype name then displays in front of the element name You set the stereotype of an element in its Properties dialog Shut down and restart Enterprise Architect to enable this change to take effect |


Package Browser [Enterprise Architect User Guide]

Package Browser

The Package Browser is a tabular, editable view of elements in a selected package, which can be displayed in the main workspace.

Access: Project Browser > package | View | Package Browser ( Ctrl+Alt+R )
Project Browser > Right-click package | Package Browser
Diagram > Right-click package | Package Browser

Use to:

  • Streamline the process of creating and updating elements in a package selected from the Project Browser; this can be particularly useful for analysts to create and maintain formal requirement definitions within the model
  • Print the list or generate an RTF document directly from the entries on the list

Topics:

Topic

Detail

See also

The Package Browser

The Package Browser is related to the Diagram List, which lists the elements in a selected diagram; however, the Package Browser has a wider range of options

Diagram List

Formats

The Package Browser has two formats:

  • User Defined format, where you can change how the element information is structured on the screen using the value-grouping band below the toolbar
  • Model Hierarchy format, where the package and element hierarchies are represented in the display

Switch between these formats using the Show Hierarchy button ( HierarchyIcon) in the toolbar

List Header

Change display
  • Sort the items by any column value in ascending or descending order, by clicking on the column header; initially the elements are listed in numerical order (if level numbering is turned on in the Project Browser) or alphabetical order within type
  • Apply a diagram filter for elements (the Fade, Gray Scale and Hide modes reduce the number of elements listed; Select mode has no effect)
  • Change the sequence of columns, by dragging column headers left or right
  • In Model Hierarchy format, the Name column is always on the left; you cannot move any other column into that position, although you can rearrange the order of the rest of the columns

    Because of this, if you group or sort information in User Defined format and switch to Model Hierarchy format your information structure is altered, and it is not restored when you switch back to User Defined format

Diagram filters

Display Element Properties

Double-click on the element entry

Show Elements in a Child Package

Double-click on the child package in the list

Select Items

Select:

  • an element by clicking on it
  • a specific value by clicking twice on it (not double-clicking); either the value becomes directly editable or the Properties dialog displays in which you can edit the value
  • several individual elements by holding ( Ctrl ) as you click on them
  • a range of elements by holding ( Shift ) as you click on the first and last in the range

Add new items to the package

Click on a listed element and press ( Ctrl+N ) or ( Insert ) , or right-click and select the Add New context menu option

  • in Model Hierarchy format, new elements are inserted in the order in which they appear in the Project Browser
  • in User Defined format, new items are inserted to comply with any sort order and/or grouping; if the list is not sorted or grouped, the items are added to the end

Add a child element to the selected element

(Model Hierarchy format)

Press ( Esc ) and then ( Ctrl+N ), otherwise, elements are added as siblings of the selected element

You can add child elements only when the whole row is selected, with none of the row cells or fields highlighted; press ( Esc ) to remove selection from an individual cell

Add elements to the Package Browser

Drag them from anywhere in the Project Browser

You can also drag elements from the Package Browser into the Project Browser

Delete elements from the list

Select the item and press ( Ctrl+D )

In Model Hierarchy format, you cannot delete a parent element until all its child elements have been removed or deleted

Include each element's notes (documentation)

Notes are shown underneath the element

To add or edit notes, click on the item and press ( Ctrl+Space ) to transfer control to the Notes window, in which you create or edit the note text

Package Browser Options

Review the element's custom (advanced) properties

Click on the item and press ( Ctrl+Enter )

The Custom Properties dialog for the element displays

Further Work

You can do further work on the Package Browser using the toolbar and context menu options

Package Browser Options


List Header [Enterprise Architect User Guide]

List Header

This topic describes the organization of the column headings and contents for various reports in Enterprise Architect.

Topics:

Topic

Description

View Header

The View Header defines the columns of information that are presented by the report, and the order in which data items are presented

To review the column headings:

  • Right-click on the header to display the Field Chooser context menu option; the Field Chooser dialog displays

This enables you to add columns to or remove columns from the output; between them, the View Header and Field Chooser dialog show the full range of column headers available

To add a column heading to the View Header:

  • Drag it from the Field Chooser dialog onto the header to the position you want the column of data to display
  • When you have selected the column headings you require, click on the red cross in the top right corner of the Field Chooser dialog to close it

To remove a column from the output:

  • Drag the column heading downwards out of the View Header

To change the sequence of columns:

Drag the required column header left or right, as appropriate

Value Grouping

For most reports, and when the Package Browser or Diagram List is in User Defined format, you can organize the reported data according to the value of one or more of the column categories (this facility is not available in the Package Browser in Model Hierarchy format)

You might organize the data by Type, and within each Type by Name; if you then click on any of the other column headings, the data within this grouping is further sorted with the values of the selected column (for example, Created) in ascending or descending order

To set up the value grouping, drag the column heading representing the primary grouping (such as Author) onto the Drag a column header here to group by that column field

Now drag the column heading for the next level of grouping (such as Status) to the right of the first heading; the two heading titles display as connected blocks, as shown below:

You can, if required, add further levels of grouping by dragging other column headings onto the hierarchy (such as Created), and restructure the order by dragging existing or additional headings into the level you want them to hold

For example, you could make Type the secondary grouping by dragging it to the right of Author, or drop Status between Author and Type

To remove a grouping level, drag the appropriate column heading out of the sequence and below the View header; any subordinate groupings move up a level

Filter Bar

The Filter Bar displays underneath the column headings; you can hide or show it using the Toggle Filter Bar icon in the toolbar

The Filter Bar consists of a row of fields, one field per column; as you type a value into one of these fields, the Package Browser results are automatically filtered to show entries with a value in the corresponding column that match the value in the field. The filter is case sensitive.

For example, if you type the letter F in the Filter Bar field under the Author column, the results immediately reduce to entries for which the author name includes Fred, Frank, Felix, Felicity, Fairmile, Farmer or Fitzgibbon (but none where the name includes f only as a lower case letter, such as Rufus)

If you then go on to type Fi, the results immediately reduce again to only entries for which the author name includes Fitzgibbon.

Learn More:

  • Package Browser
  • Diagram List
  • Report View


Package Browser Options [Enterprise Architect User Guide]

Package Browser Options

You can add to or influence what information is displayed on the Package Browser by selecting the window's toolbar or context menu options.

Toolbar:

Icon

Action

Shortcut

Link

AddNewIcon

Add a new element to the package

Ctrl + N

Add Elements Directly to Packages

EditNotesIcon

Display the Notes window, to add or edit notes for the selected element

Ctrl + Space

DeleteIcon

Delete the selected element

Ctrl + D

PrintIcon

Print the current contents of the Package Browser

ReportingIcon

Display the Generate RTF Documentation dialog, to create one RTF report on all selected element(s)

Generate RTF Documentation Diaolg

ElementListFilter

Select:

  • The appropriate element type from the drop-down list, or
  • All to list all objects

The report then lists only elements of that specific type

OtherTechIcon

Select a UML, Extended or MDG Toolbox category to specify the category of elements shown in the filter list (above)

ShowNestPackIcon

Toggle between:

  • Including child packages and their contents in the list, and
  • Showing only the first-level contents of the selected diagram or package

HierarchyIcon

Toggle the display between:

  • Model Hierarchy format and
  • User-Defined, value-grouping format

List Header

ShowNotesIcon

Display a short menu from which you can select to:

  • Hide the contents of the Notes compartment of each element
  • Display the first few words, or
  • Display the full text

uppackage

Change the display to show the contents of the parent package of the selected package

Helpicon

Display Help on the Package Browser

Context Menu Options:

Action

Usage

Shortcut

See also

Properties

Display the Properties dialog for the selected element

Edit Notes

Add or edit notes on the element, in the Notes window

Ctrl + Space

Add New

If the Filter List field in the toolbar is set to:

  • All, display the New Element dialog, through which you create an element of the required type
  • A specific element type, add an element of that type to the package or diagram in the Package Browser and the Project Browser

Find in Diagrams

Display:

  • The diagram that uses the element or,
  • If the element is used in multiple diagrams, display the Element Usage dialog, which lists the diagrams that contain the element

Show Element Use

Find In Project Browser

Highlight the selected element in the Project Browser

Bookmark Item

Bookmark the element

Create Linked Document

(Edit Linked Document)

Create (or edit) a Linked Document

(Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions)

Ctrl + Alt + D

Linked Documents

Link Document to UML Element

Edit Linked Documents

Delete Linked Document

(If the element has a linked document)

Delete an existing linked document

Documentation

Generate an RTF report; you have two options:

  • Generate a separate report on each selected object in the report
  • Generate one report on all selected objects.

In either case, the Generate RTF Documentation dialog displays

You also have the option to print out the Package Browser list itself

Generate RTF Documentation Dialog

Sort Contents

In Model Hierarchy format, synchronize the list with the Project Browser hierarchy, to ensure that all element and package hierarchies and sequences are - if necessary - updated

Normally changes are updated automatically, but there can be delays if changes are made outside the Package Browser

Reload

Reload the list of elements to refresh the order and content with any recent changes

Add Tag Value Column

Add a column to show the values for a selected Tagged Value, for each element in the list (see below)

Print

Print the Package Browser

Delete Selected

Delete the selected element from the Package Browser

Add Tagged Value Column:

If you want to show the value that an element has for a particular tag (and the value that any other element in the list has for that tag), you can add a read-only column for the tag. There are two ways in which to do this:

Method

Action

See also

1

Open the Tagged Values window for the element and drag the tag onto the Package Browser; a new column is added for each tag you drag onto the list.

2

Right-click on the element in the Package Browser and select the Add Tag Value Column context menu option; the Add Tag Value Column dialog displays

Either type the tag name into the Tag Value field, or select one of the two options:

  • Global Tag Values - populates the Tag Value drop-down list with all global Tagged Values in the project; this enables you to select a Tagged Value that is applicable to a large number of elements
  • Tag Values from the selected Element - populates the Tag Value drop-down list with the Tagged Values defined for the selected element (as listed on the Tagged Values window for that element); this enables you to filter the initial selection to a specific set of tags

When you have selected the required tag, click on the OK button to insert a column for that tag into the Package Browser list.

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if Auditing is turned on and the Package Browser is open, you can view a history of changes to any selected element or connector, in the Audit History tab of the Output window (if security is enabled, you must have at least Audit View permissions to display the audit history)

Learn More:

  • Auditing
  • Audit History tab
  • List of Permissions


Diagram List [Enterprise Architect User Guide]

Diagram List

The Diagram List is a tabular, editable view of elements in a selected diagram, which can be displayed in the main workspace.

Access: diagram | Diagram | Switch To | List View
Project Browser > Right-click diagram | View Diagram As | List View
Project Browser > diagram ( Ctrl+Alt+R )
diagram > Right-click | List View

Use to:

  • Streamline the process of creating and updating elements in a diagram selected from the Project Browser; this can be particularly useful for analysts to create and maintain formal requirement definitions within the model
  • Print the list or generate an RTF document directly from the entries on the list

Topics:

Topic

Detail

See also

The Diagram List

The Diagram List is related to the Package Browser, which lists the elements in a selected package; however, the Package Browser has a wider range of options

Package Browser

Formats

The Diagram List is displayed in User Defined format, where you can change how the element information is structured on the screen using the value-grouping band below the toolbar

List Header

Change display
  • Sort the items by any column value in ascending or descending order, by clicking on the column header; initially the elements are listed in numerical order (if level numbering is turned on in the Project Browser) or alphabetical order within type
  • Apply a diagram filter for elements (the Fade, Gray Scale and Hide modes reduce the number of elements listed; Select mode has no effect)
  • Change the sequence of columns, by dragging column headers left or right

Diagram filters

Display Element Properties

Double-click on the element entry

Select Items

Select:

  • an element by clicking on it
  • a specific value by clicking twice on it (not double-clicking); either the value becomes directly editable or the Properties dialog displays in which you can edit the value
  • several individual elements by holding ( Ctrl ) as you click on them
  • a range of elements by holding ( Shift ) as you click on the first and last in the range

Add new items to the diagram

Create new elements on the Diagram List, using the toolbar or context menu options; these elements are automatically added to the diagram

Package Browser Options

Delete elements from the list

Select the item and press ( Ctrl+D )

Include each element's notes (documentation)

Notes are shown underneath the element

To add or edit notes, click on the item and press ( Ctrl+Space ) to transfer control to the Notes window, in which you create or edit the note text

Package Browser Options

Review the element's custom (advanced) properties

Right-click on the item and select the Properties context menu option, then select the Advanced page

Further Options

You can do further work on the Diagram List using the same toolbar and context menu options as for the Package Browser, except that the Diagram List does not have:

  • The Model Hierarchy format and hence does not have the Show Hierarchy button ( HierarchyIcon) in the toolbar
  • The ShowNestPackIcon toggle button
  • The uppackage toggle button

The Diagram List does have these additional context menu options:

  • Diagram View - show the elements of the selected diagram as a diagram instead of as the Diagram List
  • Gantt View - show the list as a Gantt chart of resource allocations
  • Diagram Properties - display the Diagram Properties dialog for the diagram

Package Browser Options

Diagram Properties


Model Views [Enterprise Architect User Guide]

Model Views

The Model Views window enables you to encapsulate your model into the areas you are interested in.

Access: View | Model Views

Topics:

Topic

Detail

See Also

View Root Nodes

There are three types of View root-node available:

  • Model Views - stored in the model and visible to all users; you can have many of these
  • My Views - stored locally on your machine and visible only to you; you can have only one of these
  • Technology-defined Views - read only; each View is stored with and populated by the corresponding active MDG Technology

Additionally, there is a Recent Discussions folder that contains current correspondence from the Team Review concerning items that are held in any of the Views; this folder has a separate repository of postings for each team review server connection you access through the model. You can control how recent these postings must be, and how many are to be listed.

When you open the Model Views window for the first time on a project, a Model Views root section, My Views root section and Recent Discussions folder are added for you. These can not be deleted or renamed; however, you can create further Model View root nodes that you can modify and delete

Model Views Operations

Team Review Tools

Team Review Connections

Model Views Context Menus

Subordinate Folders

Under the My Views root node you can add a single level of View folders, which enable you to group Search View folders as best suit your requirements

  • A Search View is a folder of elements or structures that you assemble by assigning a model search to the folder; when you double-click on or expand the folder, the search runs and refreshes the folder contents
  • You can also set a search to refresh at a defined interval, and to notify you if new results are found

Under a Model View root node you can create Views folders that can contain Search View folders, Slideshow folders and Favorites folders

  • A Slideshow folder contains diagrams only, which you can display as a slide show with diagrams being shown in the sequence in which they are listed in the folder.
    One folder represents one slide show - you can run the slide show automatically or manually; in either case the diagrams are closed after they have been displayed.
  • A Favorites folder gives you easy access to commonly-used items in the Project Browser; to create hyperlinks in a Favorites folder to the required items in the Project Browser, drag items from the Project Browser into the Favorites folder

You can also export all of the View folders containing Views from any root section as an XML file, and import a Views XML file as an additional, editable Model View root node

These are single-level items; if you drag a package into the Favorites folder, you cannot expand that package there

To select specific items inside a package, expand it in the Project Browser and then drag the items into the Favorites folder

Model Views Operations

Diagram Slide Show

Key to Model View Contents

Items on the model view can be identified by their accompanying icons:

ModelView Icon - A Model View root node

ViewFolder Icon - A View Folder

FavoritesIcon - A Favorites Folder

ViewIcon - A View (search-based)

ScreenshowIcon - A Slideshow Folder

The MYViewsIcon - The My Views root node

TDV - The DoDAF-MODAF View (a Technology-defined View)

DFCategoryFolder - The Recent Discussions folder

Postings - A repository of postings from a selected team review, concerning elements in the Model Views

RecentPosts - The recent posts folder for the selected team review

Accessing Operations

To perform operations on the Model View contents, you can use the:

  • Model Views window Toolbar or the
  • Item context menus

Each level of the Model Views hierarchy has a slightly different context menu.

Model Views Toolbar

Model Views Context Menus


Model Views Toolbar [Enterprise Architect User Guide]

Model Views Toolbar

Access: View | Model Views > Toolbar

Reference:

Model Views Toolbar

The availability of the Model Views toolbar options depends on the type of object selected. The options are, from left to right:

Icon

Usage

Shortcut

See Also

ModelViewsPropertiesIcon

Displays the appropriate Properties dialog for the item selected
  • Double-click on the item
  • Enter

ModelViewFindInDiag

Locates the selected object in any diagrams in which it has been used in the model, and either:

  • Displays the single diagram with the object highlighted or
  • Lists the several diagrams in which the object has been located

ModelViewsFindInPB

Locates and highlights the selected object in the Project Browser

ModelViewNew

Creates a new Model View root node, and displays the New Model View dialog in which you enter the root node name

NewModelView

Creates a new Views folder in the currently-selected root node

NewFavorites

Creates a new Favorites folder in the currently-selected Views folder

Screenshowbutton

Creates a new Slideshow folder in the currently-selected Views folder

Diagram Slideshow

NewViewIcon

Creates a new View in the currently-selected Views folder, and displays the Create New View dialog to define the search that populates the View

Model Views Operations

ModelViewRefresh

Refreshes the selected Model Views root node, folder, View or Favorites; for a View, this runs the Model Search defined in the View properties

Model Views Operations

ModelViewMoveUpDown

Moves the currently-selected object up or down within its type; you cannot move - for example - a package below a diagram, or a View above a Favorites folder

ModelViewDelete

Displays a prompt to confirm deletion of the selected object and - if appropriate - its contents

You cannot delete the original Model Views, My Views or Recent Discussions root nodes, or any technology-defined Views

Helpicon

Displays Help on Model Views


Model Views Context Menus [Enterprise Architect User Guide]

Model Views Context Menus

Access: View | Model Views: Right-click on object

Reference:

The Model Views window context menus display different options, depending on which level of the Model Views hierarchy you right-click on. The options are described below:

Menu Option

Action

Shortcut

See also

Properties

(Not the My Views, Recent Discussions, initial Model Views or Technology-defined root nodes)

Display the appropriate Properties dialog for the selected object

You can edit any of the properties, if required; changes to objects populated from the model are reflected in all other views (Properties window, diagrams, reports) of that object

The Properties option for the Recent Posts folder displays the Recent Post Options dialog, which enables you to specify the number of days back from which to extract postings from the Team Review, and the number of postings to list

The Properties option for a Slideshow folder displays the Slideshow Properties dialog, which enables you to automate the slide show and set the number of seconds for which each diagram is displayed

If you deselect the Enable checkbox, you must press (Spacebar) to display each diagram

Diagram Slide Show

New Views Folder

(Root node only)

Display a prompt for the Views folder name and create the folder in the selected root node

Import Views From XML

(Root node only)

Prompt for the XML file location and create a new Model Views node to hold the imported Views

Model Views Operations

Export to XML (Views Only)

(Root node only)

Prompt for a file path and name, and copy all Views under the selected root node to an XML file at that location

Model Views Operations

Remove Model View

(Not the My Views, initial Model Views or Technology-defined root nodes)

Display a prompt to delete the selected user-defined Model View and, if confirmed, delete the root node and all contents

New Search Folder

(View folder only)

Display the Create New View dialog (similar to the View Properties dialog) for you to define the search that populates the View

Model Views Operations

New Favorites Folder

(View folder only)

Display the Create a new favorites based folder dialog, which prompts for the folder name

New Slideshow

(Model View, View folder only)

Display the Create a new slideshow dialog, in which you type the name of the slide show

You must use the Properties dialog to define the properties of the slide show

Diagram Slide Show

Open Search

(View only)

Display the Model Search tab in the main work area, listing the full results of the search and giving access to all the facilities of the Model Search

Shift+Space

Customizing the Search View

Refresh

Refresh the search and open the View or Postings Repository to show the elements or Posts retrieved by the search

Space

Double Click Opens Search

Enable you to perform the Open Search function by double-clicking on the View

If you deselect this option, double-click refreshes the search and opens the View to show the elements retrieved by the search

Find Post

Open the Project Team Review and highlight the selected post

Open Team Review

Open the Project Team Review at the top level (Category)

Edit Connections

Display the Team Review Server Connections dialog, to select which review to open

Team Review Connections

Remove Folder

(View folder only)

Display a prompt to delete the selected Views folder and, if confirmed, delete the folder and all contents

Remove View

Display a prompt to delete the selected View and, if confirmed, delete the View and all contents

Remove Favorites

Display a prompt to delete the selected Favorites folder and, if confirmed, delete the folder and all contents

Remove Slideshow

Display a prompt to confirm deletion of the selected slide show and, if confirmed, delete the slide show and all its diagrams

Run Slideshow

Run the slide show in the Diagram View

Diagram Slide Show

Run Slideshow Full Screen

Run the slide show in full screen mode, so that the slide show fills the whole screen

Diagram Slide Show

Stop Slideshow

Cancel execution of the slide show running in the Diagram View

Esc

Diagram Slide Show

In Project Browser

(Element / Diagram / Package object only)

Highlight the selected item in the Project Browser

In Diagrams

(Element / child Package object only)

Locate the selected object in any diagrams in which it has been used in the model, and either:

  • Display the single diagram with the object highlighted or
  • List the several diagrams in which the object has been located

Remove Linked Item

(Element / Diagram / Package object only)

Display a prompt to delete the selected object and, if confirmed, remove the object from the folder

This has no effect on the object in the Project Browser or any diagrams

You would not delete an object in a View, as it is replaced the next time the View is refreshed.

Help

Display Help on Model Views


Model Views Operations [Enterprise Architect User Guide]

Model Views Operations

This topic describes the operations you can perform in the Model Views window.

Access: View | Model Views

Topics:

Topic

Detail

See Also

Define View Search

When you:

  • Create a View, the Create New View dialog displays
  • Display the View properties, the View Properties dialog displays

These dialogs are identical

In the Name field, type a name for the View

In the Search field, either:

  • Click on the drop-down arrow and select an existing search from the lists, or
  • Click on the ( ... ) (Browse) button to display the Manage Searches dialog, edit an existing search or define a new one, then Close the dialog and select that search name in the Search field

A custom SQL search statement should return the guid and type of the object found so that Enterprise Architect can search for the selected item in the Project Browser; for example:

SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Name FROM t_object

If required, in the Search Term field type a specific value to search for

If you are working with the Corporate or extended versions of Enterprise Architect, and you want the search to run automatically and refresh the results, select the Refresh this search checkbox.

The Frequency field has three sections, for hours, minutes and seconds; click on the appropriate section and use the up and down arrows at the end of the field to set the interval for refreshing the search results

You can also set the refresh to display a pop-up notification if the search results change. To do this, select the Notify me when new results found checkbox

Click on the OK button; the View is created (or updated) in a collapsed state

When you expand the View, the search executes and populates the View

Create & Modify Searches

Display Recent Postings

If a new post is added to the Team Review, or an existing post is updated, that post is also added automatically to the Recent Discussions | <Connection> | Recent Posts folder in the Model View

To open a post, double-click on the entry; the Team Review tab displays, showing the selected message

You can control how many posts are displayed, and for what period of time, using the Model Views context menu for the Recent Discussions folder

Model Views

Model Views Context Menus

Move Objects Into Favorites

Drag any required package, diagram or element from the Project Browser into the required Favorites folder

Move Objects Between Views

Views and Favorites folders are fixed in the Views folder in which you create them, and you cannot move them

However, you can:

  • Copy (by dragging) objects from any View into any Favorites folder, and
  • Move (by dragging) objects between any two Favorites folders

Use Objects From Model Views

To make use of an element, diagram or package held in any View or Favorites folder, click on the item and drag it into a diagram or a Team Review posting

The item behaves in the same way as if you dragged it from the Project Browser.

Team Review

Export/Import Views

You export Views to create an XML file that you can:

  • Import into another model as a user-created Model View or
  • Call from an MDG Technology Selection (MTS) file to access the Technology-defined View provided by the active MDG Technology.

The export and import functions are available from the Model Views root-node context menus

When you use the export function, it acts on the complete set of View folders in the selected My Views root node, Model Views root node, or user-generated root node; you cannot export individual Views, nor can you export Favorites folders

The function displays the Save As dialog, on which you browse for the directory location for the exported XML file, and specify the file name

When you use the import function, it displays the Select Import Filename dialog on which you browse for the directory and XML file you want to import; the import creates a new Model View folder with the same name as the copied root node

Model Views Context Menus

Set Up a Technology-Defined View

To set up the Technology-defined View for an MDG Technology, you:

  1. Create a user-generated Model View in Enterprise Architect while using the technology
  2. Populate it with the required View folders and Views
  3. Export the Views from that Model View as an XML file to an appropriate location
  4. Create a call to the file from the technology's MTS file

Thereafter, any model for which the MDG Technology is active automatically displays those Views in a Technology-defined View

Working with MTS Files


Diagram Slide Show [Enterprise Architect User Guide]

Diagram Slide Show

The Slide show facility in the Model Views window enables you to create and run screen-based presentations of sets of diagrams:

When you run a slide show, it displays the diagrams in the folder in the sequence in which they are listed in the folder. After each diagram has been displayed, it is closed.

Access: View | Model Views

Use to:

  • Create a slide show as a folder within a Views folder under a Model View node
  • Run a slide show manually
  • Run a slide show automatically with each diagram displaying for a period that you define
  • Display a slide show within the Enterprise Architect work area
  • Display a slide show in full screen mode
  • Delete a slide show

How to:

To create a slide show, follow the steps below:

Step

Action

See also

1

Under a Model Views node, click on the Views folder to contain the slide show

2

Either:

  • Right-click on the Views folder and select the New Slideshow option or
  • Click on the New Slideshow folder icon in the Model Views toolbar

The Create a New Slideshow Folder dialog displays

3

In the Name field, type the name of the slide show

4

Click on the OK button

The new slide show folder is added to the selected View folder

5

Dock the Project Browser window separately from the Model Views window.

Dock Windows

6

Drag the diagrams to be displayed as part of the slide show from the Project Browser into the new slide show folder

Organize the diagrams in the order in which they are to be displayed, using the up/down green arrows in the Model Views toolbar

To remove a diagram that is not required, right-click on it in the slide show folder and select the Remove Linked Item context menu option

The diagram items in the slide show folder are links to the diagrams in the Project Browser, not copies of the diagrams or the diagrams themselves; any actions you take in the slide show have no impact on the original diagrams

Model Views Toolbar

7

Close the folder

To define how the slide show is to operate, automated or manual, follow the steps below

Step | Action | See also
1 | Right-click on the slide show folder and select the Properties context menu option The Slideshow Properties dialog displays |
2 | To automate the slide show, select the Enable checkbox To run the slide show manually, deselect the checkbox |
3 | If you are automating the slide show, in the Time field type the number of seconds that each diagram is to remain on display |
4 | Click on the OK button |

To run a slide show of diagrams, either in the Diagram View or full screen, follow the steps below:

Step

Action

See also

1

Right-click on the slide show folder and select either the:

  • Run Slideshow option, to run the slideshow in the Diagram View
  • Run Slideshow Fullscreen option to run the slideshow using the full screen

The first diagram in the slide show displays

2

If you have set up the slide show to run automatically, you can leave it to display the diagrams as defined

You can also moderate the slide show using manual commands

3

If you are controlling the slide show manually, right-click on a slide

The following toolbar displays:

slidetool

4

Control the slide show using the toolbar icons and other aids, as follows:

  • Display the next slide - nextslide , ( Spacebar ) or ( # )
  • Display the previous slide - prevslide , ( ! )
  • Display the first slide - Firstpict , ( # )
  • Display the final slide - finalslide , ( $ )
  • Pause the slide show - Pause
  • Resume the slide show - Resumeshow
  • Stop the slide show - stopslide or, in Diagram View, right-click on the slide show folder and select the Stop Slideshow option

To delete a slide show, follow the steps below:

Step | Action | See also
1 | Right-click on the slide show folder and select the Remove Slideshow context menu option Enterprise Architect prompts you to confirm the deletion |
2 | Click on the Yes button The folder and its list of links to diagrams in the model is removed |

,


The Pan & Zoom Window [Enterprise Architect User Guide]

The Pan & Zoom Window

The Pan & Zoom window provides a 'birds-eye' view of diagrams. It enables you to navigate quickly around large diagrams.

Access: View | Pan & Zoom

Reference:

Topic

Detail

See also

View

The window shows a reduced image of the whole diagram

The shaded box represents the viewed area, displayed on the open diagram

Toolbar

The toolbar provides the following functions (in order):

  • Zoom In
  • Zoom Out
  • Zoom to fit diagram
  • Zoom to fit page
  • Zoom to 100%
  • Zoom Slider

Use

Open the required diagram

Move the cursor onto the shaded box inside the Pan & Zoom window

Hold down the mouse button as you move the cursor to move the shaded box over the open diagram

To zoom, use either the Zoom Slider or the buttons located on the tool bar


Search: Finding Information [Enterprise Architect User Guide]

Search: Finding Information

Searching involves using ad hoc search terms and various search types to locate elements and information within your model, regardless of location or context.

The result sets can be used to manage elements, to create documentation or to find the location of elements within the complete model structure.

Topics:

Topic | Link
Model Search - how to use the searching capability within Enterprise Architect to find and display various kinds of information | Model Search Model Search Context Menu Model Search Toolbar Pre-defined Searches Customizing the View
Create and Modify Searches - how to modify and work with search definitions | Create & Modify Searches
Adding Filters - further modifications to searches | Add Filters
Diagram Filters- how to suppress or highlight information in a diagram using customizable filtering mechanisms based on element properties such as status and complexity | Diagram Filters


Model Search [Enterprise Architect User Guide]

Model Search

The Model Search allows you to quickly navigate and find elements within your model. It lists each element that meets the search criteria you specify within the search terms and search type. Many different kinds of searches are already built into Enterprise Architect, and it is possible to create very detailed and specific searches of your own. It is even possible to export and share your favorite searches.

Access: Edit | Model Search ( Ctrl + Alt + A ) or ( Ctrl + F )

Use to:

  • Search for elements within your model based on various criteria
  • Generate targeted reports based on your result set
  • Manage result sets - for example set properties and delete elements

Field

Usage

See also

Search Term

The word, phrase or characters to search on

Search filters enable you to perform customized searches on a Search Term in order to locate model elements having specific characteristics

Search

The Model Search window provides a set of built in searches for your convenience; the Search drop-down list provides several pre-defined searches including.

  • Simple
  • Extended
  • Find Orphans
  • Recently Modified Elements

In the drop-down list, the built in searches are followed by searches that:

  • You have created yourself
  • Your organization has created for use within the project
  • Have been created as part of workflow script
  • Have been created in the Enterprise Architect Scripting facility

Pre-defined searches

Functions - Create a Search With User Tasks

Workflow Data Structures You Fill

Script Group Properties

Run

Run the search using the entered text and selected Search

Options

The Options button displays the Search Options submenu, which enables you to display the search results as a tab of the Output window rather than in the Model Search View

An advantage of moving the search results to the Output window is that you can select items from the search results and drag them onto a diagram, which you cannot do when the results are in the Model Search View

If you select the Dock in Output Bar menu option, when you next display the menu this option becomes Dock in Main View

The Search Options submenu also provides the means of performing advanced searches on your project, and displaying project metrics

The Options button also enables you to perform advanced searches

The System Output Window

Advanced Search Options

Estimating Project Size

SearchBuilderButton

Show the Search Builder facility

Create Search Definitions

Result List

Displays the results of your search

Learn More:

  • Display the properties of an element (Double Click or Enter)
  • Drag an item(s) onto a diagram (Ctrl + drag a selected item)
  • Toggle between the Notes and the Model Search window (Ctrl + Shift + Enter)
  • Open the Linked Document window for the selected Element (Ctrl + Alt + D)
  • Select All Items (Ctrl + Alt + A)

Notes:

  • You can access the Model Search facilities and perform specific searches indirectly, from Add-Ins, from MDG Technologies, from a hyperlink and from a shortcut to access your model.; this entails setting up a search profile either in the appropriate tool, or as an XML file accessed by the tool
Searching from | See
An MDG Technology Selection (MT ) File (using an exported search definition) | Working With MTS Files Create & Modify Searches
A Login Shortcut | Project Shortcuts
An Add-In | Add-In Search
A Hyperlink | Hyperlinks

  • Running a custom or diagram based search disables some context menu options


Model Search Context Menu [Enterprise Architect User Guide]

Model Search Context Menu

You can select elements or diagrams in the Model Search and perform various operations on them, as well as simply dragging the item into a Team Review post.

Access: Results pane, right-click on an element

Use to:

  • Generate reports from search results
  • Print search results
  • Copy and work with search results
  • Manage elements returned by a search

Reference:

Menu Option

Action

Shortcut

See also

Properties

Display the Properties dialog for the element

Copy Selected to Clipboard

Copy the selected item to the MS Windows clipboard so that it can be pasted to a document, spreadsheet or email

Documentation

Generate an RTF report; you have two options:

  • Generate a separate report on each selected object in the Model Search
  • Generate one report on all selected objects

In either case, the Generate RTF Documentation dialog displays

If you generate the report using a custom SQL search, the SQL must include ea_guid AS CLASSGUID and the object type

Generate RTF Documentation Dialog

Create Search Definitions

Create Linked Document

(Edit Linked Document)

Create (or edit) a linked document (Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions)

Ctrl + Alt + D

Link Document to UML Element

Edit Linked Documents

Linked Documents

Delete Linked Document

Delete an existing linked document

(Only displays if the element has a linked document)

Print

Print out the filtered results

Clear Results

Clear the search results from the Model Search

Find in Diagrams

Display the diagram that uses the element or, if the element is used in multiple diagrams, display a list of diagrams to choose from

Find in Project Browser

Highlight the element in the Project Browser

Bookmark Selected

Bookmark the element

Delete Selected

Delete the selected element from the Model Search

Close

Close the Model Search

Help

Display this Help topic on the Model Search

Learn More:

  • Add a New Post


Model Search Toolbar [Enterprise Architect User Guide]

Model Search Toolbar

The Model Search toolbar displays at the top of the Model Search window, enabling you to operate on the results of your model search.

Access: Edit | Model Search

Use to:

  • Edit the text of notes for an item
  • Delete selected items from the model
  • Print the search results
  • Generate and print an RTF report on selected items
  • Hide or abbreviate notes text in the output
  • Hide or show the filter bar under the column headings
  • Display Help text

Reference:

Action

Usage

Shortcut

See also

Edit Notes

For the selected item, opens the Notes window (if it is not already open) so that you can edit the text of the notes

Ctrl + Spacebar

Notes

Delete

For a selected item or group of items, deletes them from the model; refresh the project to check that the items have been deleted

Ctrl + D

Print

Prints the complete set of search results

Rich Text Report

For a selected item or group of items, generates and prints an RTF report

Generate RTF Documentation Dialog

View Notes

Displays a short menu that enables you to select whether, for all items, to:

  • Hide any Notes text from display in the search results
  • Display the first few words of the Notes text in the search results
  • Display the full Notes text in the search results

Toggle Filter Bar

Hides or reveals the filter bar underneath the column headings

Customizing the Search View

Help

Displays the Enterprise Architect Help, starting with the Model Search Help topic


Pre-defined Searches [Enterprise Architect User Guide]

Pre-defined Searches

The following pre-defined searches are provided with Enterprise Architect, and are listed in the Built-In category in the Search drop-down list.

Search | Description | See also
Simple | Searches the Name, Alias and Notes fields of all elements for the given search term |
Extended | Searches many additional fields relating to the element, including Attributes, Operations, Tagged Values and Test Cases |
Element Name | Searches for an exact match against the element name, alias, method or operation; the default search in the Search in Model menu option in the Code Editor | Code Editor Context Menu
Attribute Details | Searches for elements with attributes relating to the search term, including Tagged Values, constraints, and common attribute data fields |
Find Orphans | Searches for orphaned elements throughout the model, with the ability to filter on common element fields using a search term An 'orphaned' element is an element that does not appear on any diagram in the model |
Failed Internal Tests | Searches for elements containing internal test cases where the search term is in any common Test Case field and the Status value is Fail |
Method Details | Searches for elements with operations and methods relating to the search term, including Tagged Values, constraints and common operation and method data fields |
Responsibility | Searches for elements with internal responsibilities/requirements where the search term relates to any common Responsibility/Requirement field |
Resources | Searches for elements with assigned resources where the search term relates to any common Resource field |
Requirements | Searches for Requirement element types where the search term relates to any common element field |
Find Bookmarked Elements | Searches for elements that have been bookmarked, anywhere in the project |
Recently Modified Elements | Searches for elements that have been recently modified, anywhere in the project The search term relates to any common element field The default is to show elements modified in the last three days, but you can set an alternative interval by typing the appropriate number of days in the Search Term field |
Recently Modified Diagrams | Searches for diagrams that have been recently modified, anywhere in the project The search term relates to any common diagram properties field The default is to show diagrams modified in the last three days, but you can set an alternative interval by typing the appropriate number of days in the Search Term field |
My Checked Out Packages | Searches for packages that are marked as checked out by the currently-logged in user |


Customizing the Search View [Enterprise Architect User Guide]

Customizing the Search View

This topic explains how to customize the display of search results after they are generated.

Topic

Detail

See also

Sort and Select

In the Model Search you can:

  • Sort the items by any column value in ascending or descending order, by clicking on the column header
  • Display element or diagram properties, by double-clicking on the item
  • Select:
  • An element or diagram by clicking on it
  • Several individual elements or diagrams by holding ( Ctrl ) as you click on them
  • A range of elements or diagrams by holding ( Shift ) as you click on the first and last in the range
  • All elements or diagrams in the list by pressing ( Ctrl+A )

The View Header

The View Header defines the columns of information that are presented by the Model Search, and the order in which data items are presented

To review the column headings:

  • Right-click on the header to display the Field Chooser context menu option; the Field Chooser dialog displays

This enables you to add columns to or remove columns from the output; between them, the View Header and Field Chooser dialog show the full range of column headers available

To add a column heading to the View Header:

  • Drag it from the Field Chooser dialog onto the header to the position you want the column of data to display
  • When you have selected the column headings you require, click on the red cross in the top right corner of the Field Chooser dialog to close it

To remove a column from the output:

  • Drag the column heading downwards out of the View Header

To change the sequence of columns:

Drag the required column header left or right, as appropriate

Value Grouping

You can organize the reported data hierarchically according to the value of one or more of the column categories

You might organize the data by Type, and within each Type by Name; if you then click on any of the other column headings, the data within this grouping is further sorted with the values of the selected column (for example, Created) in ascending or descending order

To set up the value grouping, drag the column heading representing the primary grouping (such as Author) onto the Drag a column header here to group by that column field

Now drag the column heading for the next level of grouping (such as Status) to the right of the first heading; the two heading titles display as connected blocks, as shown below:

You can, if required, add further levels of grouping by dragging other column headings onto the hierarchy (such as Created), and restructure the order by dragging existing or additional headings into the level you want them to hold

For example, you could make Type the secondary grouping by dragging it to the right of Author, or drop Status between Author and Type

To remove a grouping level, drag the appropriate column heading out of the sequence and below the View header; any subordinate groupings move up a level

Filter Bar

The Filter Bar displays underneath the column headings; you can hide or show it using the Toggle Filter Bar icon in the toolbar.

The Filter Bar consists of a row of fields, one field per column; as you type a value into one of these fields, the Model Search results are automatically filtered to show entries with a value in the corresponding column that match the value in the field. The filter is case sensitive.

For example, if you type the letter F in the Filter Bar field under the Author column, the results immediately reduce to entries for which the author name includes names such as Fred, Frank, Felix, Felicity, Fairmile, Farmer or Fitzgibbon (but none where the name includes f only as a lower case letter, such as Rufus)

If you then go on to type Fi, the results immediately reduce again to only entries for which the author name includes names such as Fitzgibbon.


Create & Modify Searches [Enterprise Architect User Guide]

Create & Modify Searches

You provide search filters and create new search definitions using the Search Builder panel, displayed underneath the Search Term and Search fields on the Model Search window.

This facility is not available for searches created through the Enterprise Architect scripting facilities.

Access: Edit | Model Search: Show Search Builder ( SearchBuilderButton )

Use to:

  • Create new search definitions and edit them

Search Builder Toolbar:

The search builder toolbar enables you to configure the system-provided searches, and to create and edit your own searches

The toolbar icons, from left to right, provide access to the following functions:

Option

Usage

See also

New Search

Create a new search definition, with new search criteria

Create Search Definitions

Save Search

Save a modified or new search

Copy Search

Copy the existing search selected in the Search field, to modify

You can copy:

  • Searches you or other users have created
  • Predefined searches and edit the copies, but you cannot edit the predefined searches themselves

Restore Default

Restore any changed parameters to the default settings and format

Delete Search

Delete the search definition from the Search drop-down list

Add Filter

Add a new set of parameters to filter the search on

Add Filters

Remove Filter

Delete the selected filter from the search

Export Search

Display a selection box that enables you to select searches to export to an external directory as an XML Search file

Import Search

Display the Windows Directory Explorer Open dialog to enable you to import searches as XML Search files from an external directory

Search Options

Display the Advanced Options dialog, to define where the search should operate and how the search should match filters

This icon is available only for searches created with the Query-Builder, and not for those created with the SQL Editor

Advanced Search Options

Create Search Definitions

Search Builder:

You use the main body of the Search Builder panel to configure the element search filters that are contained in the selected search.

The Search Builder panel defaults to a Simple search, which changes as you select to create a new search or select the search to modify.

Column

Usage

See also

Search In

Select the type and name of each element feature (the element field name) to search on.

Condition

Select the condition of the search parameter (the condition placed on the field value)

The available options are Contains, Equal To, Not Equals and One Of

Fields and Conditions

Look for

Specify the search term (the actual value or delimiting value) to perform the conditional search on

This value can pertain to the selected element type; for example, the value could be a date for DateCreated or a text value for other fields

The search term can contain multiple values, separated by commas

Required

Indicate whether the field is mandatory - that is, whether the search results must include elements with your search term in that field

The following provides example of using the Required checkbox, illustrated by the default Simple search, which checks the Name, Alias and Notes fields of all elements:

  • If the Required checkbox is not ticked for any field, then if the search term is found in the Name, Alias OR Notes field for an element, that element is listed in the results
  • If the Required checkbox is ticked for all fields in the search, then the search term must be found in all of those fields before the element is listed in the results; that is: Name AND Alias AND Notes
  • If the Required checkbox is ticked for some fields but not others, the search term must be found in all fields for which the checkbox is ticked, and at least one of the fields in which the checkbox is not ticked; that is: Name AND (Alias OR Notes)


Create Search Definitions [Enterprise Architect User Guide]

Create Search Definitions

User-defined searches are created using the Search Builder panel, and are stored in the Program Files directory (not in the project repository).

Access: Edit | Model Search: Options | Manage Searches

Use to:

  • Create a search definition using the SQL Editor, Query Builder, or an Add-In Search

How to:

To create a new search definition, follow the steps below:

Step

Action

See also

1

Click on the New Search icon in the toolbar

The Create New Search Query dialog displays

2

In the Search Name field, type a name for the search

3

Select the radio button for the type of search you require:

  • Query Builder - provides an interface that enables you to design your own search
  • SQL Editor - enables advanced users to directly write SQL Select statements
  • Add-In Search - enables you to supply the name of your Add-In and a method (for example MyAddin.RunThisMethod), which is called whenever the search is run; this search can be exported and distributed as a part of your Add-In

Enterprise Architect Add-In Model

4

Click on the OK button, and refer to the following table

Search Types:

Search

Description

See also

Query Builder

Your search definition appears as being selected in the Search drop-down field

You can now click on the Add Filter toolbar icon to add filters

Add Filters

SQL Editor

The Custom SQL dialog displays, enabling you to input your SELECT statement

The SQL editor is based on the common Code Editor, and provides an intellisense autocompletion list populated with Enterprise Architect's repository structure; to display the autocompletion list, press ( Ctrl+Spacebar )

Enterprise Architect also enables you to use #xxx# macros as string replacers in WHERE statements, so that the same search can be used by different people in different environments; these macros include:

  • #WC# - Gets the appropriate wild card for the current database, and so enables the search to be performed on models on different databases; for example:

    t_object.Name LIKE '#WC#Test#WC#'
  • #Author# - Takes the value of the Author field in the Options dialog General page, and enables the defined search to be performed on objects created by that user (this value can be manually re-set in the Options dialog)
  • #DB=<DBNAME># where <DBNAME> can be one of the following:
  • MYSQL
  • JET
  • ORACLE
  • SQLSVR
  • ASA
  • OPENEDGE
  • POSTGRES

For example:

#DB=ORACLE# t_object.ModifiedDate >= (SYSDATE - INTERVAL '<Search Term>' DAY)

  • #UserName# - Gets the name of the person logged into version control; for example:

    t_package.PackageFlags LIKE '#WC#VCCFG=#WC#CheckedOutTo=#UserName##WC#'

    (this is from Enterprise Architect's built in search My Checked Out Packages)
  • #Package# - gets the currently-selected package's package_ID
  • #Branch# - gets the IDs of the child packages of the currently-selected package

For all Enterprise Architect functions in which you use a custom SQL statement (such as RTF reporting or Model Views) the statement must return the guid and type of the object found so that Enterprise Architect can search for the selected item in the Project Browser; for example:

SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Name FROM t_object

You can extend the usability of your SQL searches using the aliases CLASSGUID and CLASSTYPE, which enable Enterprise Architect to display the Properties dialog and icon for elements, connectors, attributes or operations, as well as selecting them in the Project Browser

Some simple examples for using these aliased fields are provided below:

  • SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Name FROM t_object
  • SELECT ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE, Name FROM t_connector
  • SELECT ea_guid AS CLASSGUID, 'Operation' AS CLASSTYPE, Name FROM t_operation
  • SELECT ea_guid AS CLASSGUID, 'Attribute' AS CLASSTYPE, Name FROM t_attribute

When you have defined the SELECT statement, click on the Save button to save this search; the search is then available from the Search drop-down list

Code Editors

Add-In Search

Type in:

  • The name of your Add-In
  • A period (full stop) and
  • The name of the method to be called (for example, MyAddin.RunThisMethod)

Your search is automatically saved and available from the Search drop-down list

Learn More:

  • Customizing the Search View
  • Create & Modify Searches


Advanced Search Options [Enterprise Architect User Guide]

Advanced Search Options

Access: Edit | Model Search: Options | Manage Searches: Search Options (toolbar icon)

Use to:

  • Define how the customized search should operate

Reference:

Action

Usage

See also

Return matching items for the entire model

To run the search across the entire model (the default)

Return matching items for the selected Package

To run the search on a specific package, selected from the Project Browser

Navigating the Project Browser does not change your search results until you click on the Run button; that is, to search different areas of the project:

  • Click on the first required package in the Project Browser
  • Click on the Run button
  • Check the result
  • Click on another package in the Project Browser
  • Click on the Run button again

All Tables

To ensure that the search only retrieves elements that match every check in the search

At Least One Table

To ensure that the search retrieves elements that match at least one of the checks in the search (the default)


Add Filters [Enterprise Architect User Guide]

Add Filters

Access: Project | Documentation | Rich Text Format (RTF) Report: Add Filter
Edit | Model Search: Options | Manage Searches: Add Filters (toolbar icon)

Use to:

  • Add filter criteria to a model search or an RTF report template

Reference:

Option

Action

See also

Search On

Select items to build up search filters on any information about an object

The following is a list of what is available, before you have defined a search

If you are adding filters to an existing search, the list contains only items appropriate to the initial filter

For example, if the initial filter is on diagram properties, the list for any subsequent filters for the search only contains the Diagram option

Include

Select each field item to include in your search (select the checkbox)

Field

Identify the name of the field to search

The list presents items specific to the filter Search On item

Fields and Conditions

Condition

Specify the condition of the search parameter

Value

Type a value pertaining to the selected element field

For example, the value could be a date for DateCreated or a text value for other fields

The search term can contain multiple values separated by commas

Required

Select a particular field to generate a result set that must contain your search term in that field

Check All

Select all the items to include them in the search definition

Uncheck All

Deselect all the items to omit them from the search definition

OK

Apply the filter

The fields selected are added to the search definition

Notes:

  • You can add multiple search definitions as necessary; however, if you select the Required field in multiple definitions the search rapidly becomes impractical
  • Multiple search definitions are better for 'and/or' searches

Learn More:

  • Create Search Definitions
  • Create & Modify Searches
  • Generate RTF Documentation Dialog


Fields and Conditions [Enterprise Architect User Guide]

Fields and Conditions

When you click on a condition for a particular field, a selection of condition options becomes available. The list of options varies dependent on the type of information required.

For some conditions, the Value field contains an ellipsis ( SelectionDialog ). Click on this to display a selection dialog. This dialog varies dependant on the information required.

Learn More:

  • Create Search Definitions
  • Add Filters


Diagram Filters [Enterprise Architect User Guide]

Diagram Filters

Diagram Filters (Dynamic Visual filters) enable you to modify the display of diagram components, so that the relevant items are immediately identified for the reader's attention without damaging the structure and integrity of the model. Currently the feature operates on elements and connectors, and filters according to properties such as Author, Status, Date Created or Stereotype.

Access: View | Diagram Filters

Topics:

Topic

Detail

See also

Use

Use Diagram Filters to tailor the display of diagrams:

  • For different users, so that - for example - technical staff and stakeholders each have a view that highlights the information pertinent to them
  • To show what elements have been recently developed or changed
  • To show which part of a model was developed by a particular person
  • To show which parts of a diagram are at a particular phase, status or version

Filters for elements can also be applied to the Package Browser and Diagram List; the Select filter effect does not, however, make a difference in these contexts

Package Browser

Diagram List

Work With Diagram Filters

Develop Diagram Filters

You create and define as many filters as you require, setting up each filter by defining which element or connector properties to specifically check for and (depending on how you set up the filter parameters) whether to include or exclude elements or connectors having particular property values

You cannot combine element and connector properties in one filter, but you can apply an element filter and a connector filter to a diagram at the same time

You can select to:

  • Mute the irrelevant items in grayscale or a faded color
  • Hide the irrelevant items completely, or
  • Highlight (with a hashed line) the items that are relevant

Work With Diagram Filters

Filter Action - Mute or Hide

If you select to Mute or Hide items, the action of the filters is to exclude items that do not match the parameters rather than include items that do

If, for example, you selected to filter on element name, looking for elements with the word Class in the name, the filter would apply the following logic:

Does Name contain string Class? If No, apply effect; if Yes, take no action

The elements you want are therefore what is left on the diagram, rather than what was operated on

The filter effect remains in force while you do other work on the diagram, until such time as you disable the filter

Work With Diagram Filters

Filter Action - Highlight

If you select the Highlight effect, the logic is reversed:

Does Name contain string Class? If No, take no action. If Yes, apply effect.

In this case, the filter effect is not permanent, and clicking off the items deselects them

This effect is excellent for selecting items having the same characteristics across a large diagram, to be processed in a single task; instead of having to locate the items and select them with ( Shift ) +click individually, you can apply the filter

If you inadvertently lose the selection by clicking off the items, you can get it back again almost immediately by re-applying the filter.

Work With Diagram Filters

Application

You can use filters singly, in sequence, or in combination; for example, you could:

  • Set up a filter for immediate use on a diagram, and modify that filter as you review the diagram so that you highlight elements with different values for the same properties - perhaps, by filtering on Phase, to compare 'as-is' and 'to-be' elements
  • Set up a filter and leave it active so that all diagrams you display are automatically filtered the same way
  • Set up a series of filters to use:
  • in one or more sequences to progressively highlight a diminishing set of items, or
  • alternately to highlight contrasting views of the diagram

Learn More:

  • A Quick-Start Guide to Using Diagram Filters


Work With Diagram Filters [Enterprise Architect User Guide]

Work With Diagram Filters

The Diagram Filters window is a dockable window, which you can move around or fix next to the Diagram View while you activate, deactivate and edit the filters.

Access: View | Diagram Filters

Use to:

  • Create and edit filters
  • Set the effect of the filter
  • Enable and disable filters
  • Delete filters

How to:

To create a filter to be applied to your diagrams, follow the steps below:

Step

Action

See also

1

Perform one of the following actions:

  • On the Diagram Filter toolbar, click on the New Filter icon - the first on the left
  • Right-click on the list panel and select the New Filter context menu option

The Create New Diagram Filter dialog displays

2

In the Enter Filter Name field, type a name for the filter, then click on the OK button

The Diagram Filter dialog displays

3

In the Search On field, either:

  • Use the default value of Element or
  • Click on the drop-down arrow and select Connector

If you select Connector, the dialog changes to offer a smaller set of properties

4

Scroll through the properties to filter on, and select the checkbox against each property you require

5

For each property, click on the Condition field and select, from the drop-down list, the comparison condition to be applied

Consider how the combination of Condition - Equal To / Not Equal To and Filter Effect might affect the results on the diagram

Diagram Filters

6

For each property, double-click on the Value field and type or select any specific value to filter on

7

Click on the OK button to save the filter and return to the Diagram Filters window

Other Operations:

Topic

Detail

See also

Edit a Filter

To edit an existing filter on the Diagram Filters window, either:

  • Double-click on the filter name
  • Click on the filter name and select the Properties icon from the toolbar (the second icon from the left), or
  • Right-click on the name and select the Properties context menu option

The Diagram Filter dialog displays; adjust the filtered fields as described above

Change the Name of the Filter

Right-click on the name and select the Change Name context menu option

The Create New Diagram Filter dialog displays

Type over the existing name with the new name, and click on the OK button

Set Effect of Filters

To set how your filters identify selected items on your diagrams, click on the drop-down arrow of the toolbar Filter Effect field, and select one of the following options:

  • Fade - display all items that do not match the filter criteria in a pale version of the diagram background color.
  • Gray Scale - display all items that do not match the filter criteria in pale gray.
  • Hide - conceal all items that do not match the filter criteria.
  • Select - select and highlight (with a hashed line) all those items that do match the filter criteria.

Enable Filters

To enable a filter so that it takes immediate effect on your diagrams, select the check box against the filter name

You can select more than one filter at a time, to combine their effects

Disable/Clear Filters

To disable a filter and clear the effect of the filter on the diagram so that it displays in full, clear the checkbox

To disable all filters, either:

  • Click on the Reload Filters icon in the toolbar (third option from the left), or
  • Right-click on the list panel and select the Reload Filters context menu option

Delete a Filter

To remove a filter from the Diagram Filters window, either:

  • Click on the filter name and click on the Delete icon in the toolbar, or
  • Right-click on the filter name and select the Delete Filter context menu option


Trace: Tracking Dependencies [Enterprise Architect User Guide]

Trace: Tracking Dependencies

Traceability helps to identify the way a given requirement or process has been implemented in a system, enabling you to follow the path of dependencies from the initial request, through a modeled solution and up to the deployed physical system or process.

Topics:

Topic

Link

Application - A well developed model provides full traceability in any direction - providing answers to questions such as "why was that particular hardware used in the solution"; assuming there is traceability back to a requirement that specified particular response times or functional capability

The result sets can be used to manage elements, to create documentation or to find the location of elements within the complete model structure

Tools Overview - There are various tools in Enterprise Architect that enable you to trace the definition and implementation of a process from initial requirement to generated code or technical deployment, or vice versa

A good starting point is to look at the topics listed to the right, which detail some of the more useful tools

The Traceability window, in particular, is designed to provide very detailed information about an elements immediate and distant relationships and dependencies

The Traceability Window

Relationship Matrix

Gap Analysis Matrix

The Relationships Window

The Project Browser

Example Diagram

Traceability Tools

Tracing Transformations - If you have performed any Transformations in developing your model and code, Enterprise Architect automatically creates Transformation Dependency connectors that you can trace - with the Traceability window - to establish what objects and code have been generated from each PSM element, or what the initial PSM element was for a generated object

Whether you use transformations or develop the stages of the model in other ways, you can build up a range of Traceability diagrams (Custom diagrams) to identify the development pathway and the dependencies between entities such as Requirements, Use Cases, Classes, Packages, Test Cases and other model artefacts, or possibly between these entities and the overall business process model

Model Transformation

The Traceability Window

Example (Traceability) Diagram

A Complete Business Process

Learn More:

  • Packages and Elements


Traceability Tools [Enterprise Architect User Guide]

Traceability Tools

The model structure and a Traceability diagram act as starting points for tracing the definition, design and implementation of a feature of a system or process.

By applying tools such as the Relationship Matrix and Traceability window to these, you can follow threads throughout the model to determine how the feature is implemented and tested.

You can also obtain information on what elements realize and are realized by the elements in a given package, using the Dependency report and Implementation report, respectively.

Topic

Detail

See also

Traceability Window

The Traceability window is a most useful and versatile traceability tool; starting with a Traceability diagram or a package structure in the Project Browser, you use the Traceability window to quickly explore the relationship chain of which any element is a component

When you click on an element, it immediately becomes the top point in the Traceability window

When you click on the background of a diagram, all elements in the diagram are listed in the Traceability window, and you can follow the threads starting at each element through the diagram

If you require a rapid, broad-brush view of relationship flows in the project structure, starting with a general list of - say - all functional Requirements, you can use a combination of Model Search, Project Browser and Traceability window; this is a powerful tool for scanning your project, identifying how elements have been organized, and how they interact

For example: the Model Search would list all the requirements; you could rapidly click on each element and immediately see in the Project Browser where it has been grouped, and at the same time - in the Traceability window - how that element interacts with other elements in the model

By moving the cursor around a diagram or the Project Browser, and/or changing the relationship type combinations in the Traceability window, you can quickly see how elements are connected and how they influence each other

For example, you can see that - say - REQ017 is realized by two Use Cases, so you might then explore what else influences and is influenced by these two Use Cases; the Traceability window takes you well beyond what is likely to be depicted on any single diagram.

If you have used transformations to develop your model, the T icon displays the transformation dependencies that exist between an element in a PIM and elements in the PSMs

Example diagram

The Traceability Window

Model Search

The Project Browser

Relationship Matrix

Using the Relationship Matrix, you can both create and study the relationships between, for example, the Requirements and Use Cases for a module

You might identify the 'theme' package (for example, Manage Users) in the Requirements model and in the Use Case model as the source and target packages, and explore the likely element and connector types in the packages; this, like the Traceability diagram, identifies which Requirements are (or should be) realized by which Use Cases

You can then perform similar checks with the Manage Users packages in, say, the Use Case and Implementation models

The Source and Target field browsers ( ... ) enable you to examine child packages within the 'theme' package, and obtain further detail on how the feature at this stage is defined

Relationship Matrix

Relationships Window

The Relationships Window shows a single level of relationships from the currently selected element

Each line corresponds to a single relationship and provides information about that relationship and the element at the other end of the relationship

The Relationships Window

Dependency Report

The Dependency report provides a list of dependencies for all elements in the model

Dependency Report

Implementation Report

The Implementation report provides a list of all elements in the model that have to be implemented, and the elements that implement them

Implementation Report


The Traceability Window [Enterprise Architect User Guide]

The Traceability Window

The Traceability window enables you to quickly see how elements are connected and how they influence each other.

  • When an element is selected, it immediately becomes the top point in the Traceability window
  • When a diagram is selected, all elements in the diagram are listed in the Traceability window, enabling you to use any of them as a starting point.

Access: View | Traceability ( Ctrl+Shift+4 )

Use to:

  • Locate related elements in the Project Browser
  • View the properties of related elements
  • Show the diagrams where related elements are used
  • Add related elements to the current diagram
  • View the source code for related elements
  • Change the display using the window toolbar options below:

Option

Action

See also

Generalizations

Show Generalization connectors

Aggregations

Show Aggregation and Composition connectors

Nesting

Show Element nesting and Nesting connectors

Realizations

Show Realization connectors

Dependencies

Show Dependency connectors

Transitions

Show State Transition, Control Flow, and Object Flow connectors

Other Links

Show the following connectors:

  • Association
  • Use Case
  • Delegate
  • Assembly
  • Deployment
  • Information Flow
  • Manifest

Classifiers

Show where an element is used as the classifier of another element

Embedded Element Reuse

Show where a Port or Part is also represented in another part of the model

Transformations

Show where an element is created by running a Transformation from another element

Model Transformation

Custom References

Show the Custom References that have been added between elements

Set Up Cross References

Qualified Names

Show element names including the names of owning objects

Notes:

  • Restricting the relationship types shown to the smallest set you are interested in makes it easier and faster to find the elements you are interested in
  • As an alternative view or to include the information in documentation, the Traceability window aids you in creating a Traceability diagram

Learn More:

  • Create Traceability Diagrams


Relationship Matrix [Enterprise Architect User Guide]

Relationship Matrix

The Relationship Matrix is a spreadsheet display of relationships between model elements within packages.

Topic

Detail

See also

Overview

The Relationship Matrix is a convenient method of visualizing relationships quickly and definitively

It also enables you to create, modify and delete relationships between elements with a single mouse click - another quick way to set up complex sets of element relationships with a minimum of effort

On the Relationship Matrix, you select:

  • A source package
  • A target package
  • The relationship type and
  • The relationship direction

Enterprise Architect identifies all the relationships between source and target elements by:

  • Listing the source package elements down the side of the matrix
  • Listing the target package elements across the top of the matrix and
  • If a relationship exists between a source and target element, highlighting the intersecting grid square and displaying an arrow indicating the direction of the relationship

The direction is a reflection of which elements are the source elements and which the target (it does not indicate the Direction property of the connector, as defined in the connector Properties dialog); the display might also show a 'bent arrow' icon, indicating that connectors exist in both directions between the source and target elements

The highlighted squares are normally green, indicating that the source element is not locked (because the parent package has not been checked in under version control); if the element is locked (the parent package has been checked in) the highlight is pink

If you click on any square in the matrix, the square, the row header and the column header are highlighted

Include Other Users' Packages

Operations

Once you open the Relationship matrix, you can:

  • Update, delete and create relationships through the Relationship Matrix
  • Select options for modifying the type of information the Relationship Matrix displays
  • Export the contents of the Relationship Matrix to a CSV file, a .png file or a .emf file
  • Print the contents of the Relationship Matrix, scaled down if required
  • Save a profile of the Relationship Matrix settings to monitor development of the same source and target packages
  • Investigate the Source and Target elements in the relationship

Open the Relationship Matrix

Creating and Deleting Relationships

Relationship Matrix Options

Matrix Profiles

Review Source and Target Elements


Open the Relationship Matrix [Enterprise Architect User Guide]

Open the Relationship Matrix

Access: View | Relationship Matrix
Project Browser Package Context Menu | Documentation | Open in Relationship Matrix | As Source or | As Target

Once the Relationship Matrix opens you:

  • Select which element type to show
  • Select the connector type and direction to show
  • Set the source and target packages

The Relationship Matrix refreshes after every change you make to the input parameters.


Set Element Type [Enterprise Architect User Guide]

Set Element Type

The Relationship Matrix defaults to show all element types, or you can specify which types to show.

How to:

To set the source and/or target element types, follow the steps below:

Step | Action | See also
1 | Click on the drop-down arrow in the Type field for the source package, and/or for the target package |
2 | Find the required element type in the list and click on it Enterprise Architect refreshes the Relationship Matrix content |


Set Connector Type and Direction [Enterprise Architect User Guide]

Set Connector Type and Direction

In the Relationship Matrix, you must set the connector type to report on and the connector direction.

How to:

To set the connector type and direction, follow the steps below:

Step

Action

See also

1

Click on the drop-down arrow in the Link Type field

2

Find the required connector type in the list and click on it

3

Click on the drop-down arrow in the Direction field

4

Find the required direction in the list and click on it

Enterprise Architect refreshes the Relationship Matrix content

  • If you set Direction to Both, each relationship is indicated by two arrows - a From-To arrow and a To-From arrow
  • The direction is a reflection of which elements are the source elements and which are the target.; it does not indicate the Direction property of the connector, as defined in the connector Properties dialog


Set Source and Target Package [Enterprise Architect User Guide]

Set Source and Target Package

You must set both the source and target packages for the Relationship Matrix before relationships can be displayed.

You set the source and target packages AFTER setting the connector and element types/details; as Enterprise Architect refreshes the content after each change, this is usually faster.

The Relationship Matrix includes ALL child elements in a hierarchy. Sometimes in a large model this can be a lot of elements, possibly too many to be useful. Take care in selecting the source and target package.

How to:

To set the source and target packages, follow the steps below:

Step

Action

See also

1

In the Project Browser, click on the required source package, then press ( Ctrl ) and click on the required target package, to select the two packages together

2

Drag the selected packages over the Source and Target fields

The first-selected package name displays in the Source field, and the second-selected package name displays in the Target field

Alternatively

1

Select and drag a single package name over the Source OR Target field, to change just the source or the target package

If you drop the package name anywhere else on the Relationship Matrix, the system prompts you to specify whether to add it to the Source or Target field

Alternatively

1

Click on the ( ... ) (Browse) button at the end of the Source or Target field

A short menu displays, with options to:

  • Locate a package using the Browse Project dialog or
  • Run a Model Search (selected from a drop-down list) on a search term; the name of the search is displayed in the Source or Target field

    The target of the search depends on whether the Return matching items for the selected Package option is selected in the Search definition; if it is selected, the search operates on the current package, otherwise the search operates on the whole model

If required, you can browse for a package in one field and run a search in the other

Advanced Search Options

2

Select the required package, or the required Model Search and search term, and click on the OK button

In all cases, Enterprise Architect immediately:

  • Populates the Relationship Matrix axes with the elements identified in the Source and Target packages or the searches that meet the selection criteria, and
  • Shows any relationships between the sets of elements that also meet the selection criteria.


Matrix Profiles [Enterprise Architect User Guide]

Matrix Profiles

If you use a particular combination of field values often, you can save that combination as a profile to make it easier to recall them for later use.

How to:

To save a certain Relationship Matrix configuration as a named profile, follow the steps below:

Step

Action

See also

1

Set up the Relationship Matrix with the required:

  • source and target packages or Model Searches
  • source and target element types and
  • connector type and direction

Set Element Type

Set Connector Type and Direction

Set Source and Target Package

2

Click on the Options button on the Relationship Matrix and select the Profiles | Save as New Profile menu option

A short dialog displays

3

In the Enter Value field, type a profile name of up to 12 characters

Click on the OK button

4

Once you have created a profile, you can select it by clicking on the Profile drop-down arrow at the top of the Relationship Matrix screen and selecting the profile name from the list

Profiles are also listed in the Matrix Profiles folder of the Resources window; double-click on a profile in the folder to display the Relationship Matrix with that profile active

Resources

Notes:

  • You can modify an existing profile by:
  • Selecting the profile name from the Profile drop-down list
  • Selecting the Options: Profiles | Update Current Profile menu option
  • Changing the field values, then
  • Saving the profile under the same profile name
  • To delete an existing profile, select it in the Profile drop-down list and select the Options: Profiles | Delete Current menu option
  • You can capture Relationship Matrix profiles in RTF reports

Learn more:

  • Reporting Profiled Relationship Matrices


Creating and Deleting Relationships [Enterprise Architect User Guide]

Creating and Deleting Relationships

From the Relationship Matrix, you can:

  • Modify relationships
  • Delete relationships
  • Create new relationships

Use to:

  • Quickly create and manage relationships like Realization and Aggregation between Requirements and implementation elements (such as Use Cases)

How to:

To modify or delete a relationship on the Relationship Matrix, follow the steps below:

Step

Action

See also

1

Right-click the required highlighted relationship square on the matrix, and select the appropriate context menu option:

  • View relationship - opens the Properties dialog for the selected relationship
  • Source element properties - opens the Properties dialog for the source element
  • Target element properties - opens the Properties dialog for the target element
  • Delete relationship

2

If you have selected Delete relationship, Enterprise Architect prompts you to confirm this action

Click on the Yes button

The Delete relationship option is not available if:

  • The source element (that is, the owner) is locked
  • You have selected Both in the Direction field - you are effectively trying to delete half a relationship

3

If you have selected one of the other options, modify the properties in the dialog fields as required

Click on the OK button to save the changes

To create a new relationship, follow the steps below:

Step | Action | See also
1 | In the Link Type field, select the required relationship type |
2 | Right-click on the empty square at the intersection of the appropriate source row and target column |
3 | Select the Create new relationship context menu option A submenu displays, listing the types of relationship you can create |
4 | Click on the required type of relationship; a connector of that type is created between the two elements |


Relationship Matrix Options [Enterprise Architect User Guide]

Relationship Matrix Options

The Relationship Matrix provides a number of menu options for modifying the output of information, for preserving the settings for such modifications, and for capturing the output.

Access: View | Relationship Matrix: Options

Use to:

  • Output the information on the Relationship Matrix to the printer or to a metafile, .png file or .csv file
  • Create and update profiles of the configurations of the matrix that you have designed
  • Define local settings to control what the Relationship Matrix displays

Topics:

Topic

Detail

See also

Print Relationship Matrix

Click on the Matrix | Print menu option

The Print dialog displays, on which you select the output printer and specify the printer properties, the range of pages to print, and the number of copies

The output is a WYSIWYG representation of the Relationship Matrix contents

Display a preview of printout

Click on the Matrix | Print Preview menu option

The Print Preview screen displays, showing the Relationship Matrix printout

Print Preview

Scale printout

When you print the Relationship Matrix, by default it prints on as many pages wide and long as the matrix requires

You can scale the printout into a fixed number of pages wide, and the row height is automatically adjusted to maintain the proportions of the matrix; this reduces the overall size of the printout and improves appearance, especially when used in conjunction with the Landscape option in the printer properties

For example, a 16-page printout without scaling can, with a scaling of 2 pages wide, be reduced to 6 pages

To set the page scaling:

  1. Click on the Matrix | Scale Setting menu option
    The Scale Matrix dialog displays
  2. Select the Scale Matrix Width Into Pages checkbox, and type or select the number of pages in width to scale to
  3. Click on the OK button to apply the setting

Save Relationship Matrix as graphic file

Click on the Matrix | Save as Metafile or Matrix | Save as PNG menu options

A Browser dialog displays that enables you to select the target file location and specify the filename of the .emf or .png file in which to save the output

You can incorporate these files in an RTF or HTML report, as a hyperlinked file or an included file

Export output to CSV file

The contents of the Relationship Matrix can be exported to a CSV file, which provides a convenient mechanism for moving the matrix data to a spreadsheet environment such as Microsoft Excel

This option is also active in the 'Lite', read-only version of Enterprise Architect

To export to CSV:

  1. Select the Matrix | Export to CSV menu option
    The Windows Browser dialog displays
  2. Browse to the required file location and type in a .CSV filename to export to
  3. Click on the Save button to export the data

The Read-only 'Lite' Edition

Create and manage matrix profiles

If you use a particular combination of field values often, you can save that combination as a profile to make it easier to recall them for use

Matrix Profiles

Manage display content

Select the Options menu option

The Matrix Options dialog displays; select one or more of the following checkboxes as required:

  • Include Source Children - to recursively include child packages and contents under the Source
  • Include Target Children - to recursively include child packages and contents under the Target
  • Include All Extended Meta Types - to include elements that are extensions of a specified meta-type; for example, if there are Block elements (extending Class) in the package, selecting this option and specifying the type Class includes Class and Block elements, and any further derivatives of Block in the matrix
  • Sort Axes - to ensure package elements display in alphabetical order
  • Show Package Names - to hide or show package names in the Relationship Matrix; this is useful for shortening the displayed texts, especially in circumstances where packages have long names
  • Use Element Alias If Available - to display an element's alias instead of the element name, if an alias has been defined
  • Show Level Numbering If Available - to reproduce level numbering in the Relationship Matrix, if it is turned on in the Project Browser


Review Source and Target Elements [Enterprise Architect User Guide]

Review Source and Target Elements

As well as providing information on connectors and relationships, the Relationship Matrix enables you to obtain information on the source and target elements in a relationship.

Topic

Detail

See also

Identify elements in relationships with a source or target element

Click on the source or target element name in the row or column titles

The entire row or column is highlighted

Scroll across or down the highlighted row or column and quickly identify where the relationships are; this is very useful if the row or column is long

Display the Properties dialog for the selected element

Right-click on the element name and select the Properties option

Identify diagrams in which the element is used

Right-click on the element name and select the Find in Diagrams option

Either:

  • The only diagram in which the element is used displays, with the element highlighted, or
  • A list of the diagrams in which the element is used displays; you then double-click on the required diagram to open it

Highlight the element name in the Project Browser

Right-click on the element name and select the Locate in Project Browser option

The Project Browser expands to the location of the element, and the element name is highlighted

Make the element the focus in any docked screens or windows that are open

Right-click on the element name and select the Set Context Item option; the selected element becomes the subject of any open windows or screens


The Relationships Window [Enterprise Architect User Guide]

The Relationships Window

The Relationships window displays all connectors between an element selected from a diagram or the Project Browser, and other elements. This provides a quick overview of an element's relationships in the model.

Access: View | Relationships

Topics:

Topic

Detail

See also

Content

The Relationships window shows, for each connector, the:

  • Connector type
  • Any stereotype on the connector
  • The Source and Target elements in the relationship
  • The direction of the relationship
  • Any stereotype on the Target element
  • The Target element type
  • The Target and Source element roles, if any

It also has a Target in Diagram column which, if the Target element for a connector is visible in the currently loaded diagram, contains the value Yes; this is very useful when you are dragging related elements from the Relationships list onto the current diagram

Adding the target element to the diagram does not change the context to that element; the originally-selected element (the subject of the Relationships window) remains in context, and you continue working with that element

Facilities

Double-click on a connector in the list to display the <connector type> Properties dialog, on which you can edit the connector attributes

Right-click on a connector to open the context menu, which provides options to:

  • locate the related element in the Project Browser
  • view the related element properties
  • delete the connector
  • hide certain connectors in diagrams
  • show hidden connectors
  • locate the selected element in any other diagrams in which it occurs
  • place the related element in the current diagram (if it is not currently visible in the diagram); this is useful in building a picture of what an element interacts with, especially when reverse engineering an existing code base

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, with security on, the diagram and the source and target elements must be free for editing before some of these options are available for use


Example Diagram [Enterprise Architect User Guide]

Example Diagram

A wide variety of relationships can be shown on diagrams; you are not restricted to having a single element type or elements from a single phase on a diagram. This can help you to create appropriate relationships (such as Realize or Trace) to elements where no relationship was previously defined.

Consider the following diagram:

Traceability - Trace

Topic

Detail

See also

Diagram Contents

The example diagram above shows how a series of requirements are traced to Use Cases and then Classes

The diagram instantly shows:

  • That two levels of Requirements are realized by Use Cases
  • Which Requirement is realized by which Use Case(s)
  • How some of the Use Cases are implemented by Class elements

You can drill down on each Use Case (or, in other Traceability diagrams, any other composite element) to display more detailed diagrams showing how the Use Case meets the Requirement; the Close Account Use Case, for example, contains a Communication diagram and a Sequence diagram.

You can tailor your Traceability diagrams to depict any level of granularity and any stages of development that are appropriate; for example, you might:

  • Narrow the above diagram to show development from just the Remove User Requirement, or
  • Extend it to include Interfaces, Components, Test Case elements or any other facet of the system or process

Building a Diagram

A number of tools are available to for creating diagrams that show traceability:

  • The diagram context menu Add | Related Elements option enables you to automatically bring in elements linked to the selected element
  • The Relationships window enables you to add elements to the diagram that are directly linked to the currently selected element
  • The Traceability window enables you to add elements that are indirectly linked

Insert Related Elements

Notes:

  • Whilst the Traceability diagram itself provides information on the definition, design and implementation of a business process feature, much more information can be obtained using the Traceability tools

Learn More:

  • Realize
  • Trace
  • Traceability Tools
  • The Relationships Window
  • The Traceability Window


Packages and Elements [Enterprise Architect User Guide]

Packages and Elements

Analyzing the requirements of a system or process helps you identify units of functional activity in that system or process. You can represent these units with Packages, which you then populate with elements of relevance to the functional units and to the stage of development.

In the following four diagrams, you can see how Requirements and Use Case Packages are created to group the Requirements elements and Use Case elements that define and start to implement each of several functional areas.

By maintaining the same structure in each model in the project you also make it easy to trace the project development through the stages.

Requirement Packages for Online Bookstore Process:

Requirements in Manage Users Unit of Online Bookstore Process:

Traceability - Requirements

The Requirements diagram also makes it clear what Requirements form subsets of others, or are components of more than one other Requirement.

Use Case Packages For Online Bookstore Process:

Traceability - Use Case

Use Cases in Manage Users Unit of Online Bookstore Process:

Traceability - UC Elements

The Use Case diagrams can also clarify what aspects of a process require or enable human intervention, and which require or enable system intervention.

Implementation Stage:

For completeness, you could also consider the next stage, the implementation of some of these Use Cases, as represented by Class elements associated with this functional unit.

Traceability - Logical

Learn More:

  • Trace: Tracking Dependencies


Gap Analysis Matrix [Enterprise Architect User Guide]

Gap Analysis Matrix

The Gap Analysis Matrix is a tool to analyze model artifacts for potential gaps in solutions.

The idea is to highlight a shortfall between the Baseline Architecture and the Target Architecture; that is, items that have been deliberately omitted, accidentally left out, or not yet defined.

Access: View | Gap Analysis Matrix

Topic

Detail

See also

Overview

The Gap Analysis Matrix is a convenient method of identifying gaps between solution architectures

It enables you to model the gaps in the repository, which can later be addressed and assigned as tasks; the identified gaps can also be used to prioritize activities

On the Gap Analysis Matrix, you select the:

  • Target Architecture package
  • Baseline Architecture package
  • Type of Target Architecture artifact
  • Type of Baseline Architecture artifact
  • Type of element to model the gap

Include Other Users' Packages

Operations

Once you open the Gap Analysis Matrix, you can:

  • Create, update and delete Gap Matrix Profiles to monitor development of the Baseline and Target packages
  • Edit Gap notes during a discussion session for Gap analysis
  • Create elements to address gaps
  • Add links to existing elements to address gaps
  • Remove links to existing elements modeled as gap

Edit Gap Notes

Select Package

Click on the ( ... ) (Browse) button at the end of the Target Architecture or Baseline Architecture field

The Browse Project dialog displays

Select the required package and click on the OK button; by default all the elements under the package are displayed

Set Element Type

Click on the drop-down arrow in the Filter field for the Target Architecture package, and/or for the Baseline Architecture

Find the required element type in the list and click on it; Enterprise Architect refreshes the matrix content

Set Gap Type

Click on the drop-down arrow in the Record Gap As field

Find the required element type in the list and click on it

When you create a gap, the specified type of element is created; for example, if you want to address the gap with an issue element then select Issue for this field

Baseline Architecture

The Baseline Architecture artifacts are listed along the rows of the matrix

The last row is for capturing the new elements in the target architecture along the columns but not in the baseline architecture, hence the name New

Target Architecture

The Target Architecture artifacts are listed along the columns of the matrix

The last column is for capturing the missing or intentionally eliminated elements in the baseline architecture along the rows but not in the target architecture; hence the name Missing / Eliminated

Modeling Gap

Right-click on a cell in the New row or Missing / Eliminated column

The context menu displays options to:

  • Create a Gap element
  • Add a link to an existing Gap element

If a link to Gap element already exists in the cell then the following options are displayed:

  • Edit Gap element
  • Find in Project Browser...
  • Remove Gap element link

Create Gap

Right-click on the cell and select the Create Gap Element context menu option

The Browse Project dialog displays

Select the package in which to create the Gap element and click on the OK button; a Gap element is created in the selected package and its Properties dialog displays to enable you to enter the element name and other required properties

Link to Existing Gap

If you intend to use a Gap element that is already available in the model, right-click on the appropriate cell in the Missing / Eliminated column or New row and select the Link to Existing Gap Element context menu option

The Select Classifier dialog displays, enabling you to select the existing Gap element

Remove Link to Gap

If you intend to remove a link to the Gap element in a cell, right-click on the appropriate cell in the Missing / Eliminated column or New row and select the Remove Link to Gap Element context menu option

The link is removed from the cell but the element still exists in the Project Browser

Review Gap Element

Right-click on the appropriate cell in the Missing / Eliminated column or New row and select the Edit Gap Element context menu option

The Properties dialog displays, enabling you to edit the selected Gap element

To locate the element in the Project Browser select the Find in Project Browser... context menu option, which highlights the element in the Project Browser

Gap Analysis Matrix Profiles

On the Gap Analysis Matrix, you can create and manage profiles to save commonly-used combinations of Target Architectures, Baseline Architectures and stereotypes

To work on Gap Analysis Matrix profiles, click on the Options button in the top right corner of the matrix; a submenu displays, listing options to:

  • Create / Save the current matrix settings and content
  • Update the currently selected profile in the Profile field
  • Delete the currently selected profile in the Profile field

Open a saved Profile

The Profile field drop-down list shows all the saved Gap Analysis Matrix profiles

Click on the drop-down arrow in the Profile field, find the required Profile in the list and click on it to load the content of the selected profile in the matrix

Notes:

  • The Gap Analysis Matrix is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect


Edit Gap Notes [Enterprise Architect User Guide]

Edit Gap Notes

The Gap Analysis Matrix provides a way to record notes during the initial phase or during a discussion session for Gap Analysis. These notes are saved in profiles, which can later be reviewed and the appropriate model elements created to address these gaps.

How to:

To edit gap notes, follow the steps below:

Step | Action | See also
1 | Right click on the cell at the intersection of a Target and Baseline element and select the Edit Gap Note option from the context menu Alternatively, double click on the cell The Gap Note dialog displays | Gap Analysis Matrix
2 | Edit the notes as required and click on the OK button |
3 | The edited notes display in the selected cell in the matrix |
4 | Update or save the matrix to retrieve it when the Gap Matrix profile is loaded at a later stage |


Modeling Basics [Enterprise Architect User Guide]

Modeling Basics

Modeling can be described as graphically representing a business process or software system. The resulting model can be used to emphasize a certain aspect of the system being represented, and to record, document and communicate its detail. A study of such a model can enable insight or understanding of the system. Enterprise Architect's modeling platform is based on the Unified Modeling Language (UML), a standard that defines rules and notations for specifying business and software systems.

Using Enterprise Architect, you can quickly build a model using a hierarchy of packages to represent the structure and organization of the model.

Topics:

Topic | Link
Models - a model is the highest conceptual level, representing a distinct and complete representation of all or some part of a modeled system A Project can contain multiple models. | Models Model Wizard Model Templates
Views are the second level within a model and define a specific viewpoint of the system being modeled - for example a Use Case view, a Requirements View or a Dynamic (behavioral) View Views are simply packages which have an additional conceptual meaning. | Views Add Views
Packages are the basic containers that create the overall model structure. Packages hold other packages, elements, diagrams and similar model constructs. | Packages Open Package in the Project Browser
Diagrams are visual representations of how model elements are connected or behaviorally related. They can also display the characteristics of an element, such as attributes, methods, notes and tagged values in a convenient visual style. | Diagrams Diagram Toolbox The Quick Linker Diagram Context Menu Diagram Context Menu Diagram Tabs Diagram Tasks Layout Diagrams
Elements are the basic building blocks of models. They represent both structural constructs such as Classes and Interfaces, as well as behavioral constructs such as Activities, Actions and States. | Elements Element Context Menu Visual Representation
Connectors are the various kinds of relationships between elements within a model - including behavioral relationships, associations, taxonomic relations and similar. | Connectors Connector Context Menu Connector Tasks Connector Properties
Tagged Values are customizable, profile or user defined properties which are generally related to a Stereotype and define additional attributes and characteristics of an element. They are one of the fundamental means of extending UML into more domain specific areas. | Tagged Values Quick Add - Tagged Value To Elements Modify Tagged Values
Notes are the standard common language based descriptions of what an element, diagram, feature or relationship is for and how it is used within the model. Notes are often used as a first step to eliciting the meaning and use of an element - which is later refined into something more concrete and precisely specified. | Notes Notes Toolbar
Reference Information - a variety of basic types and information that is used across a particular model - for example, Stereotypes, Tagged Values and similar. | Reference Data UML Types

Learn More:

  • For information on UML, see the Standard UML Models topic
  • For examples of the UML models that Enterprise Architect can help you build, see the Model Templates topic
  • The Quick Start Tutorial topic briefly shows you how to create a diagram within a package, containing elements and connectors
  • Sparx Systems also provide a Demonstration of quickly developing a Use Case model (Online Resource)


Modeling [Enterprise Architect User Guide]

Modeling

Enterprise Architect is a comprehensive UML analysis and design tool. It provides a library of UML data structures that you can use and extend to develop your models.

Topics:

Topic

Detail

See also

UML Data Structures
  • You create your projects and models using the Start Page or File Menu, which provide templates on which to base your models
  • You initially create your packages and diagrams using the Toolbars and Menus, and the elements and connectors using the Diagram Toolbox
  • You can also create new structures through the Project Browser, and re-use existing structures using the Project Browser, Model Views, Package Browser and Model Search

Building models requires the use of various UML data structures and Enterprise Architect tools, as above, to graphically represent a business process or software system. The resulting model can be used to emphasize a certain aspect of the system being represented and to record and communicate its detail.

The Start Page
File Menu
Model Templates
Workspace Toolbars
Main Menu
Diagram Toolbox
Project Browser
Model Views
Package Browser
Model Search

Relationship Matrix

A further extremely useful tool is the Relationship Matrix, which enables you to visualize and amend the relationships and hence organization of structures within the model.

Enterprise Architect also provides particular support for:

  • Requirements Management and
  • Modeling the business process, an essential part of any software development process

You can extend the scope of your models by using UML Stereotypes, Profiles and Patterns, and MDG Technologies.

Modeling Fundamentals

Build Your Own Modeling Language

Requirements

Learn More:

  • Standard UML Models


Models [Enterprise Architect User Guide]

Models

In Enterprise Architect a model is a special type of package, being the top level entry point to an Enterprise Architect project file.

Topics:

Topic

Detail

See also

Models

You can develop a project with one model, or with several. Each model is a root node of a hierarchy of Model Packages and Views and, below them, packages. A model contains the diagrams, elements, relationships and associated metadata that define the structure and function of a system or process.

These components are organized through the package hierarchy, which helps to group and manage related components. By iterating through all models, you can access all the elements within the project.

You can create the model or models when you first create the project, or you can add and develop new models later. You can also delete a model, but be aware that everything contained in the model is deleted as well.


Model Wizard [Enterprise Architect User Guide]

Model Wizard

The Model Wizard enables you to add models from a range of technologies to your new project, both on initial creation and over time.

Access: Automatically displays when creating a new project; otherwise
Right-click on a Project Browser Package node | Add | Add a New Model using Wizard (Ctrl) + (Shift) + (M)

Use to:

  • Add new models to a project

Reference:

Field | Usage | See Also
Technology | If you have advanced Add-Ins and MDG Technologies, this panel lists them Click on the required technology to list the associated templates in the Name panel To list the standard Enterprise Architect model templates, select Basic UML 2 Technology |
Name | Click on the check box for each model type you want to create in your project | Model templates
All | Select all of the models listed in the Name panel |
None | Clear all models selected |
OK | Create the Model Packages for your project |
Cancel | Abort the creation of model packages |
Help | Display this Help topic |

Notes:

  • If you are a Technology Developer, you can also create and distribute custom templates as part of your own MDG Technology; the name of your technology displays in the Technology panel and, when you select the technology, the model template names display in the Name panel

Learn More:

  • Custom Templates
  • MDG Technology
  • Application Patterns
  • Visual Execution Analyzer Samples


Model Templates [Enterprise Architect User Guide]

Model Templates

The model templates contained in Enterprise Architect are designed to assist in the creation of projects and models for both new and experienced users.

Each template provides a framework on which you can create a model appropriate to your purpose, using the Model Wizard.
All model templates provided with Enterprise Architect follow the format described in the table below

Topics:

Topic

Detail

See also

Note

The note introduces you to the model template and outlines its purpose.

Help Links

Help hyperlinks provide further information on how to use the model. Depending on the model template, links to examples and other useful information are also provided.

Template

The Template section in the model template provides a framework for creating your own model.

Each template description provides an introduction to the terminology and icons used in the model templates, and gives a quick guide to the UML concepts important to the templates and how they are applied in Enterprise Architect.

If you are a Technology Developer, you can also create and distribute custom templates as part of your own MDG Technology.

Business Process Model Template

Requirements Model Template

Use Case Model Template

Domain Model Template

Class Model Template

Database Model Template

Component Model Template

Deployment Model Template

Testing Model Template.

Custom Templates

Learn More:

  • Model Wizard


Business Process Model Template [Enterprise Architect User Guide]

Business Process Model Template

The Business Process model describes both the behavior and the information flows within an organization or system. As a model of business activity, it captures the significant events, inputs, resources, processing and outputs associated with relevant business processes.

Business Process Diagram

Learn More:

  • The Business Process Model
  • Business Models
  • Analysis Diagram
  • Business Modeling/Interaction Diagrams


Requirements Model Template [Enterprise Architect User Guide]

Requirements Model Template

The Requirements model is a structured catalogue of end-user requirements and the relationships between them.

The Requirements Management facilities built into Enterprise Architect can be used to define Requirement elements, connect Requirements to other model elements, connect Requirements into a hierarchy and report on Requirements.

Learn More:

  • Requirements Management
  • Requirements Management in Enterprise Architect
  • Packages


Use Case Model Template [Enterprise Architect User Guide]

Use Case Model Template

The Use Case model describes a system's functionality in terms of Use Cases.

Each Use Case represents a single repeatable interaction that a user or 'actor' experiences when using the system, emphasizing the user's perspective of the system and interactions.

Use Case Diagram

Learn More:

  • Use Case
  • Use Case Diagram
  • The Use Case Model


Domain Model Template [Enterprise Architect User Guide]

Domain Model Template

A Domain model is a high-level conceptual model, defining physical and abstract objects in an area of interest to the Project.

The Domain model can be used to document relationships between and responsibilities of conceptual classes (that is, classes that represent the concept of a group of things rather than Classes that define a programming object).
It is also useful for defining the terms of a domain.

A Domain model shows:

  • The physical and organizational units of the domain; for example, Employee and Flight
  • The relationships between these units; for example, Employee is assigned to Flight
  • The multiplicity of those relationships; for example, one employee can be assigned to no flights, one flight or many flights (represented by the 1 and the * at the ends of that relationship)

Learn More:

  • Multiplicity


Class Model Template [Enterprise Architect User Guide]

Class Model Template

The Class model is a rigorous, logical model of the software system under construction.

Classes generally have a direct relationship to source code or other software artifacts that can be grouped together into executable components.

Learn More:

  • Classes
  • Class Diagram
  • The Logical Model


Database Model Template [Enterprise Architect User Guide]

Database Model Template

The Database model describes the data that must be stored and retrieved as part of the overall system design. Typically this means relational database models that describe the tables and data in detail and enable generation of DDL scripts to create and set up databases.

Data Base Diagram

Learn More:

  • Data Models
  • UML Database Modeling


Component Model Template [Enterprise Architect User Guide]

Component Model Template

The Component model defines how Classes, Artifacts and other low level elements are collected into high level components, and describes the interfaces and connections between them.

Components are compiled software artifacts that work together to provide the required behavior within the operating constraints defined in the Requirements model.

Learn More:

  • Components
  • Requirements Model
  • Component Diagram
  • The Component Model


Deployment Model Template [Enterprise Architect User Guide]

Deployment Model Template

The Deployment model describes how and where a system is to be deployed.

Physical machines and processors are represented by Nodes, and the internal construction can be depicted by embedding Nodes or Artifacts. As Artifacts are allocated to Nodes to model the system's deployment and roll out, the allocation is guided by the use of deployment specifications.

Learn More:

  • Nodes
  • Artifacts
  • Deployment and Roll Out
  • Deployment Diagram
  • Compartments - Tagged Values
  • The Physical Model


Testing Model Template [Enterprise Architect User Guide]

Testing Model Template

The Test model describes and maintains a catalogue of tests, test plans and results that are executed against the current model.

Learn More:

  • Testing
  • Test Case
  • Show Test Script Compartments
  • Testing Support in Enterprise Architect


Maintenance Model Template [Enterprise Architect User Guide]

Maintenance Model Template

The Maintenance model enables visual representation of issues arising during and after development of a software product. The model can be enhanced with the integration of change elements and testing.

Learn More:

  • Development
  • Color Code External Requirements


Project Model Template [Enterprise Architect User Guide]

Project Model Template

The Project model details the overall project plan, phases, milestones and resourcing requirements for the current project.

Project Managers can use Enterprise Architect to assign resources to elements, measure risk and effort and to estimate project size. Change control and maintenance are also supported.

Example Of Project Management Template

Learn More:

  • Project Management
  • Project Manager (Online Resource)


Views [Enterprise Architect User Guide]

Views

The top level packages in a model (below the project root nodes) can be created as Views.

Topics:

Topic

Detail

See also

Views

Views are used simply to subdivide the model into partitions such as Business Process, Logical View or Dynamic View. Unlike Model Packages, they do not have automatically-generated components and can be created only under a root node. They are a good way to extend the model depending on specific requirements and modeling techniques.

View Types

There are six main types of View, each with their own package icon:

  • Use Case View - containing, for example, Use Case diagrams, Analysis diagrams
  • Dynamic View - containing, for example, Activity diagrams, Communication diagrams, Sequence diagrams, State Machine diagrams
  • Class View - containing, for example, Class diagrams, Code Engineering, Data Models
  • Component View - containing, for example, Component diagrams
  • Deployment View - containing, for example, Deployment diagrams
  • Simple View - to customize your own type of view
  • You can use the first five categories, or devise your own based on the Simple View. You can create Views, rename them, move them into a different order, or delete them. Do this by right-clicking the mouse on the selected View to open the context menu, and choose the appropriate option

Use Case diagrams

Analysis diagrams

Activity diagrams

Communication Diagrams

Sequence Diagrams

State Machine Diagrams

Class Diagrams

Code Engineering

Data Models

Component Diagrams

Deployment Diagrams

Add Additional Views

Rename Views

Delete Views


Add Views [Enterprise Architect User Guide]

Add Views

The example below shows a customized view called Java Code View, which has been appended to the end of the Views list.

How to:

Step | Action | See Also
1 | Right-click on the model root node in the Project Browser The context menu displays |
2 | Select the New View menu option The Create New View dialog displays |
3 | In the Name field, type the name of the View. |
4 | In the Set View Icon Style panel, click on the radio button for the required View icon. |
5 | If the model root node is under version control, the Add to Version Control checkbox displays, defaulted to selected If you do not want the new View to also be under version control, deselect the checkbox. | Version Control
6 | Click on the OK button. |


Rename Views [Enterprise Architect User Guide]

Rename Views

How to:

To rename a view, follow the steps below:

Step | Action | See Also
1 | Right-click on the View in the Project Browser The context menu displays. |
2 | Select the Properties menu option The Package Properties dialog displays |
3 | In the Name field, type the new name and click on the OK button |


Delete Views [Enterprise Architect User Guide]

Delete Views

How to:

To delete a view, if necessary, follow the steps below

Step | Action | See Also
1 | In the Project Browser, right-click on the view to delete The context menu displays |
2 | Select the Delete <viewname> option A warning that child elements are to be deleted is displayed |
3 | To delete the view and its contents, click on the Yes button To cancel the deletion, click on the No button |

Notes:

  • If you delete a view, all its contents are deleted at the same time. It cannot be restored


Packages [Enterprise Architect User Guide]

Packages

A package is a container of model elements. It is represented in the Project Browser by the 'folder' icon familiar to Windows users.

This topic explores the tasks you can perform with packages, including:

  • Open a package
  • Add a package
  • Rename a package
  • Copy a package
  • Drag a package onto a diagram
  • Show or hide a package
  • Delete a package
  • List the elements in a package, with their properties, on the Package Browser.

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Element permission to update or delete a package

Learn More:

  • Open a package
  • Add a package
  • Rename a package
  • Copy a package
  • Drag a package onto a diagram
  • Show or hide a package
  • Delete a package
  • Package Browser
  • Update Element


Open Package in the Project Browser [Enterprise Architect User Guide]

Open Package in the Project Browser

To open a package from the Project Browser, follow the steps below:

How to:

Step | Instruction | See Also
1 | Double-click on a package; the contents display in the Project Browser |
2 | Click on the + and - symbols next to the folder icon to open or close the package respectively |

Notes:

  • Package contents are arranged alphabetically and elements can be dragged from one package to another using the mouse


Add a Package [Enterprise Architect User Guide]

Add a Package

How to:

To add a package to the model hierarchy, follow the steps below:

Step | Instruction | See Also
1 | In the Project Browser, select the package or view under which to add a new package. |
2 | Right-click on the folder icon within the Project Browser. The context menu displays. |
3 | Select the Add | Add Package menu option. The New Model Package dialog displays. |
4 | In the Package Name field type the name of the new package. |
5 | To immediately create a diagram for the package, leave the Automatically add new diagram checkbox selected. To avoid creating a diagram, deselect the checkbox. |
6 | If you are adding a package to a parent package that is under version control, the Add to Version Control option displays, with the checkbox selected. Deselect the checkbox to exclude the new package from version control, otherwise leave it selected. | Version Control
7 | Click on the OK button. The new package is inserted into the tree at the current location and, if you left the Automatically add new diagram checkbox selected, the New Diagram dialog displays. | New Diagrams
8 | If you have selected to put the package under version control, the Package Control Options dialog displays. Complete this dialog as required. | Configure Packages

Notes:

  • You can also add a new package element by dragging the Package icon from the Toolbox into a diagram. In this case the package is created under the diagram's owning package, and is created with a default diagram of the same type as that in which the package is created
  • In a multi-user environment, other users do not see the change until they reload their project

Learn More:

  • Refresh View/Model


Rename a Package [Enterprise Architect User Guide]

Rename a Package

How to:

To rename a package, follow the steps below.

Step | Instruction | See Also
1 | Select the package to rename in the Project Browser |
2 | Right-click to display the context menu |
3 | Click on the Package Properties option |
4 | In the Name field, type the new name |
5 | Click on the OK button |

Notes:

  • In a multi-user environment, other users do not see the change until they reload their project
  • Alternatively, highlight the package to rename, and press (F2)

Learn More:

  • Refresh View/Model


Copy a Package [Enterprise Architect User Guide]

Copy a Package

Enterprise Architect enables you to quickly duplicate a complete package, including its child packages, elements and diagrams.

Topics:

Topic

Detail

See Also

Inserting a copy of a package

You can insert the copy of a package:

  • Under the same parent
  • Under one or more other packages in the same model or project, or
  • Under one or more other packages in any other model or project

This procedure is effectively the same as exporting and importing the package XMI file, with the Strip GUIDs checkbox selected. You would tend to use this procedure for copying sections of a model within the project rather than reproducing an entire model or project, although copying these larger structures is equally feasible.

Package XMI files

Copying a package

In the Project Browser, right-click on the required package and select the Copy Package to Clipboard context menu option (or click on the package and press ( Ctrl+C ) ). The Copy Package to Clipboard dialog briefly displays until the copy operation completes.

Pasting a package

In the Project Browser, right-click on the package into which to paste the copied package, and select the Paste Package from Clipboard context menu option (or click on the package and press ( Ctrl+V ) ). The Paste Package from Clipboard dialog briefly displays until the paste operation completes.

The target package is expanded to expose the pasted package in the Project Browser. If you are pasting the package within the same model as the copied source, the source parent package is also collapsed.

If the target package already contains:

  • a package with the same name as the pasted package, the pasted package name has the suffix - Copy
  • a package with the same name as the pasted package including the - Copy suffix, the suffix becomes - Copy1 (or - Copy2, - Copy3 and so on, as copies of the package accumulate in the target parent package)

You can keep the same package name as the source, or you can rename the package either by clicking twice on it and editing the name in the Project Browser, or by double-clicking on it and editing the name in the Properties dialog.

Notes:

  • A copy of a package does not have the external cross references of the source package; that is, the following connectors are discarded:
  • Connectors coming from packages and elements outside the package being copied, into the package being copied
  • Connectors going to packages and elements outside the package being copied, from the package being copied
  • You cannot paste a package into a parent package that is locked by another user or that is checked in. The Paste... option is grayed out in the context menu

Learn More:

  • Locking Packages
  • Checking In/Checking Out Packages


Drag a Package Onto a Diagram [Enterprise Architect User Guide]

Drag a Package Onto a Diagram

You can drag a package element from the Project Browser onto the current diagram, as an icon of the package listing its contents. This is a useful feature to help organize the display and documentation of models.

The following illustration shows how a package is displayed in a diagram; note the child Actor and Use Case icons.

Learn More:

  • Show or Hide Package Contents


Show or Hide Package Contents [Enterprise Architect User Guide]

Show or Hide Package Contents

To show or hide the contents of packages in a diagram, follow the steps below:

How to:

Step | Instruction | See Also
1 | Load a diagram |
2 | Double-click in the background area to open the Diagram Properties dialog |
3 | Click on the Elements tab |
4 | Select or clear the Package Contents checkbox as required |
5 | Click on the OK button |


Delete a Package [Enterprise Architect User Guide]

Delete a Package

How to:

To delete a package, follow the steps below:

Step | Instruction | See Also
1 | Highlight the package in the Project Browser. |
2 | Right-click to open the context menu. |
3 | Click on the Delete option. A confirmation prompt displays. |
4 | Click on the OK button. |

Notes:

  • Deleting a package also deletes all contents of the package, including sub-packages and elements. Make very sure that you really want to do this before proceeding
  • In a multi-user environment, other users do not see the change until they reload their project

Learn More:

  • Refresh View/Model


Diagrams [Enterprise Architect User Guide]

Diagrams

Diagrams are collections of project elements laid out and inter-connected as required.

Enterprise Architect supports all of the UML diagrams, as well as several custom extensions. Together with the Enterprise Architect elements and connectors, these form the basis of the model. Diagrams are stored in packages and can have a parent object (optional). Diagrams can be moved from package to package.

Notes:

  • If the diagram display is too small to read comfortably, click on the diagram, press and hold ( Ctrl ) and use the mouse wheel to temporarily expand or reduce the display magnification.

Learn More:

  • Diagram Context Menu
  • Diagram Tasks


Diagram Context Menu [Enterprise Architect User Guide]

Diagram Context Menu

To open the diagram context menu, open the required diagram and right-click on the diagram background.

Reference:

Option

Usage

Shortcut

See Also

Properties

Display the Diagram Properties dialog

Diagram Properties

Scripts

List the scripts enabled for execution directly from the diagram (does not display if no diagram scripts exist)

Scripts

Swimlanes and Matrix

Add Swimlanes or a Swimlanes Matrix to the diagram

Swimlanes

Swimlanes Matrix

Lock Diagram

Lock a diagram to protect it from inadvertent changes

This does not apply if security is enabled in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions, in which case you lock the model elements

Lock a Diagram

Lock Model Elements

List View

Gantt View

Display the diagram contents as a Diagram List or as a Gantt chart instead of as a diagram

Diagram List

New Element or Connector

Insert various elements and connectors into a diagram

Insert Elements & Connectors

Insert Existing Element

Locate an existing element, using the Select Element dialog, and insert it into the diagram as a linked element

Paste Element(s) as Link

Paste Element(s) as New

Paste copied element(s) as a link or as new elements

Paste copied element

Paste Image from Clipboard

Paste an image held on the clipboard into the diagram

Ctrl + Shift + Insert

Paste an image

Make all elements selectable

Make all the elements on the diagram selectable

If an element is:

  • Selectable, you can move it around the diagram and perform right-click context-menu operations
  • Unselectable, you cannot move it around the diagram and the only right-click operation available is to make the element selectable

This option has no effect on double-click operations on the element, such as displaying child diagrams

Modify Z Order

Re-order overlapping objects in the diagram

This option both:

  • Numbers the objects in the diagram by Z-order, in red, and
  • Lists the objects by Z-order in the Modify Z Order dialog

In the dialog, you select the required object and move it up or down in the Z-order using the Up and Down arrow keys, each click on an arrow key changes the Z-order by 1

When you select the object in the list, that object is also selected on the diagram and its Z-order number is shown in blue

Click on the OK button to save your changes

Save as Profile

Save the current diagram as a Profile

Export a Profile

Import from source file(s)

Import, or reverse engineer, source code (not available in the Desktop edition)

Import, or reverse engineer, source code

Import DB schema from ODBC

Import database tables from an ODBC data source (not available in the Desktop edition)

Import database tables from an ODBC data source

Save Current Changes

Save any changes to the current diagram

Ctrl + S

Help

View the Enterprise Architect Help on the type of diagram currently displayed

Notes:

  • Not all the menu options described appear on all diagram context menus


Insert Elements and Connectors [Enterprise Architect User Guide]

Insert Elements and Connectors

When you click on the New Element or Connector option on the Diagram context menu, a list of elements and connectors displays.

Topics:

Topic

Detail

See Also

Structure

The structure of this list is as follows:

  • Other - expands to offer options to select elements and connectors from diagram types other than either the current diagram type or pinned Toolbox pages
  • The expanded list of elements and connectors for the current diagram type
  • Collapsed lists of elements and connectors for pages that have been pinned in the Toolbox; if an MDG Technology:
  • is active
  • automatically pins Toolbox pages, and
  • has pages that redefine UML or Extended pages

The MDG Technology pages override the UML or Extended pages, which are not shown

  • (At the end) Common - expands to display a list of the common elements and connectors


Print Preview [Enterprise Architect User Guide]

Print Preview

When you select the File | Print Preview menu option, the display initially shows the first two pages on one screen, with no scroll bar. To toggle between this two-page display and a single-page display, click on the [image] icon in the preview screen toolbar. In either mode, you can use the forward and back arrows to scroll through the pages of the diagram.

To display more than two pages on one screen, up to a maximum of ten pages, click on the Zoom Out button in the preview screen toolbar. The screen now includes the vertical scroll bar, which you can also use to scroll through the pages of the diagram.

Access: File | Print Preview

Use to:

  • Preview pages before printing them


Diagram View [Enterprise Architect User Guide]

Diagram View

The Diagram View is the main workspace window that enables you to create and display diagrams.

Topics:

Topic

Detail

See Also

Opening a Diagram

You open a diagram by double-clicking on the diagram name in the Project Browser; you can then open further diagrams in the same way

You can also open a diagram from within an already open diagram by clicking on either hyperlinks or elements that contain other diagrams

You can open many diagrams, but you can view only one at a time

Caption Bar

Across the top of a diagram is the diagram caption bar, which includes the following:

  • Icon and text label for the diagram type
  • Diagram name
  • Date and time the diagram was created
  • Date and time the diagram was last modified
  • The current magnification (zoom) of the diagram
  • The diagram page size, in pixels
  • A drop-down arrow that lists the currently-open diagrams; click on a diagram name to switch to that diagram, or to redisplay the hidden Start Page
  • The Window 'close cross'; click on this to close the displayed diagram

Format Toolbar

Underneath the Caption Bar is the Format Toolbar, which enables you to apply a range of functions to the format and appearance of the elements in your diagram

Format Toolbar

Diagram View

Use the Diagram View to build model relationships and elements

Within the diagram, you can create new elements, drag in existing elements and generally organize the elements and relationships

Most work on elements is carried out in the Diagram View, so understanding how it works and how to manipulate elements is essential; use the example project supplied with Enterprise Architect to explore the capabilities and behavior of the Diagram View

Notes:

  • You can also use the Diagram List to manipulate elements

Learn More:

  • Diagram List
  • Diagram Tabs


Format Toolbar [Enterprise Architect User Guide]

Format Toolbar

The Format Tool toolbar can change the appearance of one or more selected elements by altering the font, color, line width and fill color. This can help to group, differentiate or make an element stand out.

An abbreviated Format Tool toolbar can also be displayed temporarily beside an element or connector. For elements, select one or more elements on the diagram, then click on the paintbrush icon beside the element. For connectors, right-click on the connector and the Format Tool toolbar appears above the context menu.

Use to:

  • Modify the appearance of elements and connectors on a diagram
  • Save a set of modifications as a user defined style
  • Re-apply styles to other elements and connectors

Reference:

Action

Usage

Shortcut

See also

Set Font

Set the text font, style, size and effects for the selected element(s) using the Font dialog

Set Element Font

Text Color

Set the text color for the selected element(s)

This option overrides the color setting of the Set Font option

Fill Color

Set the fill color of the selected element(s)

Line Color

Set the line color of the selected connector or element border

Line Width

Set the line width of the selected connector or element border; choose a value between 1 (thinnest) and 5 (thickest)

Apply Style

Apply a copied style to the selected elements or connector

The style is copied using the Get Style option; if this is not used, the style defaults to the current setting of the Style List option

Get Style

Copy the current style of the selected element or connector

Style List

Apply a style from the saved style list to the selected element or connector

These styles are saved to the list using the Save Style option

Save Style

Click on the required element, click on the down arrow and select the appropriate option:

  • Save the style of the element to the Style List as a new style; enter the name of the style when prompted to do so
  • Save the (updated) style of the element under its current style name in the Style List
  • Refresh the Style List with any changes to the existing styles
  • Delete the style of the selected element from the Style List (refresh the list after selecting this option)

Align Left

Align the selected elements on the left border of the last-selected element

Ctrl + Alt + Left Arrow

Align Right

Align the selected elements on the right border border of the last-selected element

Ctrl + Alt + Right Arrow

Align Top

Align the selected elements on the top edge of the last-selected element

Ctrl + Alt + Up Arrow

Align Bottom

Align the selected elements on the bottom edge of the last-selected element

Ctrl + Alt + Down Arrow

Move to Top

Bring the selected element(s) to the top of the Z order

Diagram Context Menu

Send To Back

Move the selected element(s) to the bottom of the Z order

Diagram Context Menu

Diagram Auto-layout

Auto-layout the diagram (not for Behavioral diagrams) in one of the standard layouts, or modify a standard layout and apply that

Layout Diagrams

Diagram Properties

Display the Diagram Properties dialog for the diagram

F5

Diagram Properties

Delete

Delete the selected element(s)

Ctrl + D

Add or Remove Buttons

This drop-down arrow arrow at the right end of the toolbar enables you to:

  • Display or hide icons currently defined for the toolbar, or
  • Customize the toolbar to include other icons, to initiate commands found on other toolbars or totally new commands

(As an example, the last nine options on the Format toolbar are also found on the Diagram toolbar, which contains other options that could be duplicated here)

The Customize Dialog

Diagram Toolbar

Notes:

  • To set the global appearance of all elements throughout a model, use the Options dialog; select the Tools | Options menu option, then select Standard Colors and Diagram | Appearance from the options tree
  • To override the global appearance and define a default appearance of a selected element (or several selected elements) on all diagrams on which it occurs, set the Default Appearance for that element; right-click the element and choose the Appearance | Default Appearance context menu option

Learn More:

  • Standard Colors
  • Appearance (Diagram)
  • Set An Element's Default Appearance


Diagram Tabs [Enterprise Architect User Guide]

Diagram Tabs

Diagram tabs are located, by default, at the bottom of the Diagram View. You can also move them to the top of the Diagram View, above the Status Bar.

Topics:

Topic

Detail

See Also

Access

Each time you open a diagram, the diagram name and diagram type symbol are shown in the tab for easy identification and access

You can manipulate the tabs using the Diagram Tabs context menu (below) or the View Tab Switcher window

View Tab Switcher

The Diagram Tabs Menu

To access the Diagram Tabs context menu, right-click on an appropriate tab

Reference:

Option | Usage | Shortcut | See also
Save Changes to '<tab name>' | Save the changes made to the diagram. |  |
Save All | Save the model. |  |
Reload '<tab name>' | Reopen the diagram without the unsaved changes; that is, revert to the state before any changes were made. Refresh the diagram from the repository, to show any changes made by other users in a shared model. |  | Refresh the diagram
Close '<tab name>' | Close the diagram; Enterprise Architect prompts you to save changes to the diagram. You can also close the tab by clicking the middle mouse button/scroller. |  |
Close All | Close all open diagrams; Enterprise Architect prompts you to save any diagrams with unsaved changes. |  |
Close All Except '<tab name>' | Close all diagrams except for '<tab name>'; Enterprise Architect prompts you to save any diagrams with unsaved changes. |  |
Close All <view type> | (Where several views of the same type can be opened at the same time, such as diagrams, RTF documents, or text editors.) Close all views of the same type as the selected tab, leaving views of other types still open. |  |
Hide | (Start Page only.) Hide the Start Page. To redisplay it, use the drop-down menu at the top right of the Diagram View, or select the Window | Show Start Page menu option. |  |

Notes:

  • The Component View tab is white with bold text; this means that the Component View diagram is the diagram currently displayed in the Diagram View
  • The Use Case View tab has an asterisk. This means that there are unsaved changes in the Use Case View diagram
  • There are also tabs for other types of view, such as the Start Page (as shown), RTF reports, code editors, the Model Search and the Relationship Matrix
  • You can change the sequence of tabs by clicking on each tab and dragging it to a different position, as required. However, you cannot change the position of the Start Page tab. When displayed, it always sits at the left-hand end of the sequence

Learn More:

  • General Settings


View Tab Switcher [Enterprise Architect User Guide]

View Tab Switcher

The View Tab Switcher facilitates navigation between tabs of the Diagram View (such as Diagrams, Code Editors and the Model Search screen) that are currently open in Enterprise Architect.

Topics:

Topic

Detail

See Also

Usage

To display the View Tab Switcher press and hold ( Ctrl ) and then press ( Tab ) . The View Tab Switcher lists the currently opened tabs, in order of most recently activated to least recently activated. The selection cursor is on the tab that was activated just before the currently active one. Details of the selected tab are displayed on the right hand side of the screen, and include:

  • A preview thumbnail of the tab, and
  • A description of the tab and its contents

Continue holding the ( Ctrl ) key to keep the window open. To move the selection cursor down the list of tabs press the ( Tab ) key; to move the selection cursor up the list, press the ( Shift+Tab ) keys. Alternatively, use the arrow keys.

Activating a tab

To activate a tab in the Diagram View, either release the ( Ctrl ) key or press the ( Enter ) key. Alternatively, click the left mouse button on the required tab.

Activating a tab moves it to the top of the Active Views list, whereas closing a tab removes it from the list completely.


Diagram Toolbox [Enterprise Architect User Guide]

Diagram Toolbox

The Enterprise Architect Toolbox is a panel of icons that you use to create elements and connectors on a diagram.

Within the Toolbox, related elements and connectors are organized into pages, each page containing the elements or connectors used for a particular type of diagram. The diagrams include standard UML diagrams, Enterprise Architect Extended diagrams, and any MDG Technologies and Profiles that you have added to Enterprise Architect.

When you open a diagram, the Toolbox automatically provides the element and relationship pages corresponding to the diagram type. This does not prevent you using elements and connectors from other pages in a given diagram, though some combinations might not represent valid UML.

Access: View | Toolbox ( Alt+5 )

Example:

Topics:

Topic

Detail

See Also

Displaying specific pages

To display specific pages in the Toolbox, select the More Tools option at the top of the Toolbox and select the appropriate UML, Extended or customized diagram type from the menu

In most cases, three pages display: <type> elements, <type> Relationships and Common; if you select the <default> option, you display only the Common page

Customizing the Toolbox

You can customize the Toolbox pages by pinning them within the Toolbox, or by adding MDG Technologies and UML Profiles to the Toolbox

Toolbox Appearance Options

MDG Technologies

UML Profiles

How to Create Elements and Connectors:

Step

Instruction

See Also

1

In the Project Browser, double-click on the icon against the required diagram

The diagram opens with the appropriate Toolbox pages for that diagram type

If you want a different set of elements and connectors, click on More tools and select the appropriate diagram type as explained above

2

Click on the required item; for example, the Class element or Associate relationship

3

For element items, click anywhere on the diagram to place the new element

4

For connector items, drag the cursor between the source and target elements on the diagram; the solid border of the elements changes to a hatched border as you pass the cursor over them, indicating the source and potential target elements

To add bends to the connector, press ( Shift ) as you change the drag direction of the cursor

Alternatively, drag from the source element to an empty area of the diagram; the Quick-linker enables you to create the target element

Quick-linker

5

Edit the element properties or connector properties, as required

Properties Dialog

Connector Properties

Notes:

  • Dropping a Package element from the Toolbox into a diagram creates a new package in the Project Browser, and a default diagram of the same type as the current diagram
  • If you are creating several elements of one type, after creating the first just press ( Shift+F3 ) or ( Ctrl ) + click to create the next element of that type; for connectors, click on the source element and press ( F3 ) to create another connector of the same type
  • You can change an unstereotyped element to one of its stereotyped elements by dragging the stereotyped element from the Toolbox onto the unstereotyped element in the diagram; for example, you can stereotype a Class by dragging a Table element or a Profiled Class element onto it
  • As you drag the stereotyped element, you can press (Ctrl) to apply the element stereotype to the unstereotyped element, or (Shift) to add the stereotyped element as a new element; otherwise a small context menu displays offering these actions as options
  • If the diagram element already has the stereotype, you can also drag the Toolbox element onto it to synchronize the element's stereotype Tagged Values
  • The Toolbox can be docked on either side of the diagram, or free floated on top of the diagram to expose more surface for editing
  • You can also hide and show the whole Toolbox using the HideShowButton2 Show Element Toolbox button on the Workspace Views toolbar
  • Enterprise Architect provides Toolbox pages for a wide range of MDG Technologies, such as ArchiMate, BPEL, BPMN, Data Flow Diagrams, ICONIX and Mind Mapping, as part of the initial install

Learn More:

  • Stereotype Dialog
  • Synchronize Tags and Contraints
  • ArchiMate
  • BPEL
  • BPMN
  • Data Flow Diagrams
  • ICONIX
  • Mind Mapping


Toolbox Appearance Options [Enterprise Architect User Guide]

Toolbox Appearance Options

You can modify the appearance of the Toolbox pages in several ways, through the context menu.

Access: Right-Click on the Toolbox page

Topics:

Topic

Detail

See Also

Hiding labels

To hide the element or relationship labels (and subsequently redisplay them), select the Hide Labels (or Show Labels) context menu option. The icons in the page then 'wrap' within the page, without text labels.

When you hide the labels, you can display the label of an individual element or relationship by moving the cursor over the icon.

Pinning pages

To 'pin' the page so that it displays for any group in the Toolbox, select the Pin in Toolbox menu option. (This is not available on the Common page, which displays in all groups anyway.)

For example, if you 'pinned' the Class elements page, and switched to the Communication pages, the Toolbox would include a collapsed Class elements page underneath the Communication pages.

Unpinning pages

To unpin the page so that it displays only in its own Toolbox group, right-click on it and select the Unpin from Toolbox context menu option.

Collapsing pages

To collapse a page to just show the heading (<type> elements, <type> Relationships or Common), click on the 'minus' box at the left of the page heading. To expand the page again, click on the heading. Alternatively, collapse the page by right-clicking on the page and selecting the Collapse context menu option.

How to:

To tailor the Toolbox to list all pages you require at the same time, follow the steps below:

Step

Instruction

See Also

1

Click on the Set Toolbox Visibility context menu option

The Visible Toolbox Pages dialog displays

2

By default, the dialog lists the element pages only, in the order: UML pages, Extended pages, MDG Technology pages

To include the corresponding relationship pages, select the Show Relationship Pages checkbox at the bottom of the dialog.

3

For each page to display on the Toolbox, select the Visible checkbox

Deselect the checkbox if you no longer require a page to be displayed

4

When you have defined the list of pages to display, click on the OK button

The pages you have selected are pinned to the Toolbox in a collapsed state, underneath the current diagram-type pages

5

To expand a page, click on the heading

You can remove a page individually by expanding it, right-clicking on it and selecting the Unpin from Toolbox context menu option.

Notes:

  • On a Toolbox page for an MDG Technology or UML Profile, if you right-click directly on a profile element an additional option - Synchronize Stereotype - is available at the end of the context menu. This enables you to synchronize the Tagged Values and constraints for all elements created from the selected profile element
  • MDG Technologies can impose their own Toolbox page visibility. For example, if ICONIX is the active technology, all six ICONIX pages are automatically exposed in the Toolbox. If the active Technology pages duplicate UML or Extended pages (as the ICONIX pages do) then the pinned Technology pages override and replace the pinned UML and Extended pages.For example, if ICONIX is active and you have pinned the Extended Analysis page, the Analysis page in the list is the ICONIX-defined page, not the Extended Analysis page

Learn More:

  • Synchronize Tags and Constraints


Toolbox Shortcut Menu [Enterprise Architect User Guide]

Toolbox Shortcut Menu

To add elements and connectors into a diagram, you can access the Toolbox shortcut menu instead of employing the full graphical Toolbox.

Topics:

Topic

Detail

See Also

Usage

The menu provides options to select:

  • Elements specific to the current diagram type
  • Relationships specific to the current diagram type
  • Elements and relationships from any pages pinned in the Toolbox
  • Common elements and relationships
  • Elements and connectors for other diagram types

The advantage of using the Toolbox shortcut menu is that it provides an increased amount of the workspace to be used for diagramming rather than to display fixed (instead of pop-up) menus

To use the Toolbox shortcut menu, follow the steps below:

Step

Action

See Also

1

Open a diagram

2

Either:

  • Click on the diagram background and press ( Insert ) or ( Spacebar )
  • Press and hold ( Ctrl ) and right-click on the diagram background

The shortcut menu displays, listing the current diagram-type elements and connectors

3

If necessary, select the Other option or a pinned Toolbox page option to list elements and connectors for a different diagram type

4

Select the element or connector to include in the diagram. The object is added to the diagram.

If you select the Other context menu option, the final menu in the sequence offers the Activate <Type> Toolbox option; this opens and activates the corresponding page in the Toolbox, if the Toolbox is visible

Notes:

  • As with the Toolbox itself, if an MDG Technology:
  • Is active
  • Automatically pins Toolbox pages, and
  • Duplicates UML or Extended pages

The pinned Technology pages override and replace the pinned UML or Extended pages in the initial Toolbox shortcut menu


Common Group [Enterprise Architect User Guide]

Common Group

The Common page of elements and relationships is displayed at the bottom of every other set of pages. It contains the elements and relationships that can be used on any diagram.

Toolbox Elements and Connectors:

Click on the elements and connectors below for information.

Common Elements | Common Connectors


Use Case Group [Enterprise Architect User Guide]

Use Case Group

Use Case elements are used to build Use Case models. These describe the functionality of the system to be built, the requirements, the constraints and how the user interacts with the system.

Often, Sequence diagrams are associated with Use Cases to capture work flow and system behavior.

Topics:

Image

Topic

Detail

See Also

UseCaseBar

Usage

The Use Case group is used to model the system functionality from the perspective of a system user; the user is called an Actor and is drawn as a stick figure, although the user could be another computer system or similar

A Use Case is a discrete piece of functionality the system provides that enables the user to perform some piece of work or something of value using the system

Examples of Use Cases are: login, open account, transfer funds, check balance and logout; each of these implies some purposeful and discrete functionality the system is to provide to a user

A Test Case describes what must be set up in order to test a particular feature

The connectors available include: associate (an actor uses a Use Case), extend (one Use Case can extend another), include (one Use Case can include another) and realize (this Use Case might realize some business requirement)

To add an element to the current diagram, click on the required icon and drag it into position on the diagram; set an element name and other properties as prompted

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element

Test Case

Notes:

  • Invokes and Precedes relationships are defined by the Open Modeling Language (OML). They are stereotyped Dependency relationships; Invokes indicates that Use Case A, at some point, causes Use Case B to happen, whilst Precedes indicates that Use Case C must complete before Use Case D can begin

Learn More:

  • Use Case Models


Class Group [Enterprise Architect User Guide]

Class Group

The Class group can be used for Package diagrams, Class diagrams and Object diagrams: those that usually display elements concerned with the logical structure of the system, such as Objects, Classes and Interfaces.

Logical models can include domain models (high level business driven object model) through to strict development Class models (define inheritance, attributes, operations).

Topics:

Image

Topic

Detail

See Also

logicalbar

Usage

The Class group is used for creating Class models and database models. Class modeling is done using the Class and Interface elements, as well as occasional use of the Object element to model Class instances. You can add Association or Aggregation relationships. See the Class model template for an example of this.

Use the Table element to insert a stereotyped Class for use in database modeling. See the Data Modeling topic for more details.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, click on the start element in the diagram and drag to the end element.

Class

Data Modeling

Learn More:

  • Package Diagrams
  • Class Diagrams
  • Object Diagrams


Object Group [Enterprise Architect User Guide]

Object Group

The Object group is used to create Object diagrams.

Object diagrams reflect multiplicity and the roles instantiated Classes could serve. They are useful in creating different cases in which relationships and Classes are applied.

Topics:

Image

Topic

Detail

See Also

ObjectGroup

Usage

The user is called an Actor and is drawn as a stick figure, although the user could be another computer system or similar.

An Object is an instance of a Class.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Actor

Object

Learn More:

  • Object Diagrams


Composite Group [Enterprise Architect User Guide]

Composite Group

The Composite group is used for Composite Structure diagrams.

These reflect the internal collaboration of Classes, Interfaces or Components to describe a functionality or to express run-time architectures, usage patterns and the participating elements' relationships, which static diagrams might not show.

Topics:

Image

Topic

Detail

See Also

CompositeBar

Usage

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram; set an element name and other properties as prompted

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element

Learn More:

  • Composite Structure Diagrams


Communication Group [Enterprise Architect User Guide]

Communication Group

The Communication group is used to model dynamic interactions between elements at run-time.

The Actor element models a user of the system, while the other elements model things within the system, including standard elements (rectangular element), user interface component (circle with left positioned vertical bar), controller (circle with arrow head in top most position) and entity (circle with bar at bottom).

Topics:

Image

Topic

Detail

See Also

CommunicationBar

Usage

Communication diagrams are used to model work flow and sequential passing of messages between elements in real time. They are often placed beneath Use Case elements to further expand on Use Case behavior over time.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Communication Diagrams

Notes:

  • Communication diagrams were know as Collaboration diagrams in UML 1.4


Interaction Group [Enterprise Architect User Guide]

Interaction Group

The Interaction group is used for Interaction diagrams (Sequence, Timing, Communication or Interaction Overview), which are used to model work flow and sequential passing of messages between elements in real time.

Interaction diagrams are often placed beneath Use Case elements to further expand on Use Case behavior over time.

Topics:

Image

Topic

Detail

See Also

InteractionBar

Usage

The Interaction group is used to model dynamic interactions between elements at run-time

The Actor element models a user of the system, while the other elements model things within the system, including standard elements (Lifeline), user interface component (Boundary), controller and Entity

The meaning of the element symbols is discussed further in the Sequence diagram topic. The Message (sequence) relationship is used to model the flow of information and processing between elements.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Sequence diagram

Notes:

  • Messages can be simple or recursive calls

Learn More:

  • Sequence
  • Timing
  • Communication
  • Interaction Overview


Timing Group [Enterprise Architect User Guide]

Timing Group

The Timing group is used solely for Timing diagrams, which use a time-scale to define the behavior of objects. The time-scale visualizes how the objects change state and interact over time.

Timing diagrams can be used for defining hardware-driven or embedded software components, and time-driven business processes.

Topics:

Image

Topic

Detail

See Also

TimingBar

Usage

A Lifeline is the path an object takes across a measure of time, indicated by the x-axis.

A State Lifeline follows discrete transitions between states, which are defined along the y-axis of the timeline. Any transition has optional attributes of timing constraints, duration constraints and observations.

A Value Lifeline shows the lifeline's state across the diagram, within parallel lines indicating a steady state. A cross between the lines indicates a transition or change in state.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

State Lifeline

Value Lifeline

Learn More:

  • Timing Diagrams


State Group [Enterprise Architect User Guide]

State Group

The State group is used by State Machine diagrams to show the enableable states a Class or element might be in and the transitions from one state to another. These diagrams are often placed under a Class element in the Project Browser to illustrate how a particular element changes over time.

Topics:

Image

Topic

Detail

See Also

StateBar

Usage

The State group provides elements common to State Machine diagrams; basically the State, start and end nodes and the Object Flow relation. State Machine diagrams are used to model the states or conditions that elements might be in at runtime, such as active, inactive, idle, accelerating or braking. States can have substates; for example, accelerate or brake might be substates of active.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • State Machine Diagrams


Activity Group [Enterprise Architect User Guide]

Activity Group

The Activity group is used to model system dynamics from a number of viewpoints in Activity diagrams and Interaction Overview diagrams.

Topics:

Image

Topic

Detail

See Also

ActivityBar

Usage

Activity elements enable you to describe the dynamics of the system from the point of view of activities and flows between them. Activities can be stereotyped as a process to display a business process icon. An Activity is some work that is carried out; it might overlap several Use Cases or form only a part of one Use Case.

Send and Receive events are included as triggers.

A Decision element marks a point where processing might split based on some outcome or value.

The Flow relation models an active transition and synch points are used to split and rejoin periods of parallel processing.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • Activity Diagrams
  • Interaction Overview Diagrams


Component Group [Enterprise Architect User Guide]

Component Group

The Component group enables you to model the physical components of your system in a Component diagram.

A component is a piece of hardware or software that makes up the system; for example, a DLL or Web Server are Components that might be deployed on a Windows 2000 Server (Node). See the Deployment Diagram topic for an example of this.

Topics:

Image

Topic

Detail

See Also

ComponentBar

Usage

The Component group contains elements related to the actual building of the system: the components that make up the system (such as ActiveX DLL's or Java beans), the Interfaces they expose and the dependencies between those elements.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • Component Diagram
  • Deployment Diagram


Deployment Group [Enterprise Architect User Guide]

Deployment Group

The Deployment group enables you to model the physical components and deployment structure of your system in a Deployment diagram.

A Component is a piece of hardware or software that makes up the system, and a Node is a physical platform on which the component is to exist. For example, DLLs or Web Servers are Components that could be deployed on a Windows 2000 Server (Node). See the Deployment Diagram topic for an example of this.

Topics:

Image

Topic

Detail

See Also

DeploymentBar

Usage

The Deployment group contains elements related to the actual building of the system; the components that make up the system (such as ActiveX DLLs or Java beans) and the nodes those components run on, including the physical connections between nodes.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • Deployment Diagram


Profile Group [Enterprise Architect User Guide]

Profile Group

The Profile group contains extended UML elements and connectors that can be used to create and modify Profiles, for rapidly creating stereotypes and Tagged Values that can be applied to structures such as elements, attributes, methods and connectors.

Topics:

Image

Topic

Detail

See Also

ProfileBar

Usage

A Profile is used to provide a generic extension mechanism for building UML models in particular domains. They are based on additional Stereotypes and Tagged Values that are applied to structures such as elements, attributes, methods, connectors and connector ends.

A Stereotype provides a mechanism for varying the behavior and type of a model element.

A Metaclass is used to create a Class whose instances are Classes; a metaclass is typically used to construct metamodels.

An Enumeration creates a Class stereotyped as enumeration, which is used to provide a list of named values as the range of a particular type.

An Extension relationship shows that a stereotype extends one or more metaclasses. All stereotypes must extend either one or more Metaclasses, or another stereotype that extends a stereotype (that itself extends a stereotype, and so on).

A Generalize relationship shows that one stereotype specializes a more general stereotype. The more general stereotype must still extend a metaclass.

A Tagged Value relationship defines a reference-type (that is, RefGUID) Tagged Value owned by the source stereotype. The Tagged Value is named for the target role of this association, and is limited to referencing elements with the stereotype by the association target element.

The Application and Redefinition relationships are deprecated.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • Create and Modify Profiles


Metamodel Group [Enterprise Architect User Guide]

Metamodel Group

The Metamodel group enables you to create metamodel diagrams with support for MOF diagrams.

Topics:

Image

Topic

Detail

See Also

metamodelgroup

Usage

A Package is a namespace as well as an element that can be contained in other package's namespaces.

A Class is a representation of objects, that reflects their structure and behavior within the system.

An Enumeration is a Class with an enumeration stereotype.

A Primitive supports the MOF specification (deprecated - use the UML Primitive in the Class group).

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Package

Class

Enumeration

Class Group

Learn More:

  • MOF


Analysis Group [Enterprise Architect User Guide]

Analysis Group

Analysis-type elements are used early in modeling to capture business processes, activities and general domain information. They are generally used in Analysis diagrams.

Topics:

Image

Topic

Detail

See Also

AnalysisBar

Usage

The elements and relationships in the Analysis group are used for early modeling of business processes, activities and collaborations. You can use stereotyped activities to model business processes, or stereotyped elements to capture standard UML business process modeling extensions such as worker, case worker, entity, and controller.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, click on the start element in the diagram and drag to the end element.

Learn More:

  • Analysis Diagrams


Custom Group [Enterprise Architect User Guide]

Custom Group

The Custom group contains a few extended UML elements that might be of use in modeling or designing your system in a Custom diagram.

Topics:

Image

Topic

Detail

See Also

CustomBar

Usage

A Package is a namespace as well as an element that can be contained in other package's namespaces.

A Requirement is a custom element used to capture requirements outside of standard UML elements. A Requirement expresses required system behavior that can cross several Use Cases. You can connect Requirements to other elements using the Realize connector to express the implementation of a requirement and hence the traceability from user requirements to what is being built.

An Issue element is a structured comment that contains information about defects and issues relating to the system/model (see the Defects (Issues) topic). Affected elements are connected by Trace connectors.

A Change element is a structured comment that contains information about changes requested to the system/model (see the Changes and Defects topic). Affected elements are connected by Trace connectors.

A Screen provides a stereotyped Class element that displays a GUI type screen; this can be used to express application GUI elements and flows between them.

A UI control likewise can be used to express GUI controls.

A Test Case element defines what must be set up in order to test a particular feature (see the Testing Workspace topic). It enables you to define a set of tests once for a number of elements, and provides greater visibility for tests.

An Entity is a stereotyped element that represents any general thing not captured by the element or Class type elements (for example a trading partner). Use of this element is deprecated: it was originally intended to take the role now occupied by a Table element.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Package

Requirements

Traceability

Defects (Issues)

Trace

Changes and Defects

Screen

UI control

Test Case

Testing Workspace

Table

Learn More:

  • Custom Diagram


Requirement Group [Enterprise Architect User Guide]

Requirement Group

As an analysis step, often it is desirable to capture simple system requirements. These are eventually realized by Use Cases.

Topics:

Image

Topic

Detail

See Also

toolboxrequire

Usage

A Package is a namespace as well as an element that can be contained in other package's namespaces.

Specify the Requirement of a system. Note that there are a few different requirement types, such as.

  • Display
  • Functional
  • Performance
  • Printing
  • Report
  • Testing
  • Validate

A Feature is a small client-valued function expressed as a requirement. Features are the primary requirements-gathering artifact of the Feature-Driven Design (FDD) methodology.

An Object is an instance of a Class.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Package

Requirement

Feature

Object


Maintenance Group [Enterprise Architect User Guide]

Maintenance Group

The Maintenance elements are defects, changes, issues and tasks.

Topics:

Image

Topic

Detail

See Also

toolsmaintenance

Usage

A Package is a namespace as well as an element that can be contained in other package's namespaces.

An Issue element is a structured comment that contains information about defects and issues relating to the system/model. Affected elements are connected by Trace connectors.

A Change element is a structured comment that contains information about changes requested to the system/model. Affected elements are connected by Trace connectors.

A Task element defines a task attached to an element, that enables resources to be assigned specifically to the task rather than just to the parent element. You can monitor these tasks on diagram Gantt charts.

A Test Case describes what must be set up in order to test a particular feature.

An Entity is a stereotyped element that represents any general thing not captured by the element or Class type elements (for example a trading partner). Use of this element is deprecated: it was originally intended to take the role now occupied by a Table element.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Package

Defects and Issues

Trace

Change

Task

Test Case

Table

Learn More:

  • Maintenance


User Interface Group [Enterprise Architect User Guide]

User Interface Group

The User Interface group enables you to create graphical user interface diagrams.

Topics:

Image

Topic

Detail

See Also

toolsuserinterface

Usage

A Package is a namespace as well as an element that can be contained in other packages' namespaces.

A Screen element represents a graphical user interface. You can place GUI elements onto the screen element.

UI Control elements are placed onto the screen element to build up a graphical user interface diagram. There are different stereotyped elements such as buttons and combo boxes.

An Object is an instance of a Class.

To add an element to the current diagram, click on the required icon, and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Package

Screen

UI Control

Object

ScreenGUI

GUI Elements

The diagram on the left illustrates the GUI elements from the Toolbox, within a Screen element.


WSDL Group [Enterprise Architect User Guide]

WSDL Group

The WSDL group gives you the ability to rapidly model and automatically generate W3C Web Service Definition Language (WSDL) documents.

Topics:

Image

Topic

Detail

See Also

WSDLGroup

Usage

A Namespace represents the top-level container for the WSDL model. Drag this element onto an open diagram to create the necessary model structure for WSDL documents.

A physical WSDL document is represented as a UML component. Its interfaces represent the WSDL services.

A WSDL Port Type is modeled as a UML interface. Its Port Type Operations are realized by Binding elements. Each of the operation parameters is derived from the Message elements defined in the Messages package.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, click on the start element in the diagram and drag to the end element.

WSDL Namespace

WSDL document

WSDL services

WSDL Port Type

Port Type Operations

WSDL Binding

WSDL Messages

Learn More:

  • Model WSDL
  • Generate WSDL


XML Schema Group [Enterprise Architect User Guide]

XML Schema Group

The XML Schema group provides the ability to model and automatically generate W3C XSD schema files. This group implements the constructs provided by the UML profile for XML Schema.

Topics:

Image

Topic

Detail

See Also

xmlschemagroup

Usage

A Schema corresponds to a UML package, which contains the type and element definitions for a particular targetNamespace. Drag this item onto an open diagram to create the package to contain your schema model elements. The package is stereotyped as XSDschema.

Open the logical diagram created under the XSDschema package and add additional schema elements as required.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set the name and other properties as prompted.

To add a relationship, click on the required icon, then click on the start element in the diagram and drag to the end element.

Learn More:

  • Model XSD
  • Generate XSD
  • UML profile for XML Schema


Data Modeling Group [Enterprise Architect User Guide]

Data Modeling Group

This group is used for database modeling and database design, in conjunction with the UML Data Modeling Profile.

Topics:

Image

Topic

Detail

See Also

DataModelingGroup

Usage

The Table element defines a table on the data model.

The View element represents database views in the data model.

The Procedure element represents stored procedures in the data model.

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

To add a relationship, click on the required icon, click on the start element in the diagram and drag to the end element.

Table

Views

Stored Procedures

Learn More:

  • Database Modeling


Test Domain Group [Enterprise Architect User Guide]

Test Domain Group

The Test Domain group is used to create Test Domain diagrams, used in the Testpoint facility. A Test Domain diagram provides specific elements that can aid in the logical composition of tests into Test Sets and Test Suites.

Topics:

Image

Topic

Detail

See Also

TestDomainGroup

Usage

A Test Cut is a group of operations that represent a specific behavior (such as 'Print') defined for a Class, separate from other constraints defined for the Class

A Test Set aggregates one or more groups of methods (Test Cuts) that perhaps span multiple Classes, into a single task

A Test Suite aggregates one or more groups of tasks (Test Sets)

To add an element to the current diagram, click on the required icon and drag it into position on the diagram. Set an element name and other properties as prompted.

Test Cut

Test Set

Test Suite

Learn More:

  • Testpoint Management


Diagram Tasks [Enterprise Architect User Guide]

Diagram Tasks

This topic introduces many of the common tasks associated with managing diagrams.

Topic | Link
Add New Diagrams | Add New Diagrams
Set Diagram Properties | Set Diagram Properties
Add Elements and Connectors From Toolbox | Add Elements and Connectors From Toolbox
Paste from the Project Browser | Paste from the Project Browser
Copy And Paste Diagram Element | Copy And Paste Diagram Element
Place Related Elements on Current Diagram | Place Related Elements on Current Diagram
Delete a Diagram | Delete a Diagram
Rename a Diagram | Rename a Diagram
Change Diagram Type | Change Diagram Type
Diagram Navigation Hotkeys | Diagram Navigation Hotkeys
Copy Image to Disk | Copy Image to Disk
Copy Image to Clipboard | Copy Image to Clipboard
Duplicate a Diagram | Duplicate a Diagram
Z Order Elements | Z Order Elements
Set Default Diagram | Set Default Diagram
Open a Package | Open a Package
Feature Visibility | Feature Visibility
Insert Diagram Properties Note | Insert Diagram Properties Note
Manage Legend Elements | Manage Legend Elements
Autosize Elements | Autosize Elements
Swimlanes | Swimlanes
Swimlanes Matrix | Swimlanes Matrix
Using the Image Manager | Using the Image Manager
Show Realized Interfaces for a Class | Show Realized Interfaces for a Class
Label Menu Section | Label Menu Section
Pan and Zoom a Diagram | Pan and Zoom a Diagram
Move Diagram Sections | Move Diagram Sections
View Last and Next Diagram | View Last and Next Diagram
Set Diagram Page Size | Set Diagram Page Size
Scale Image to Page Size | Scale Image to Page Size
Lock Diagram | Lock Diagram
Lay Out a Diagram | Lay Out a Diagram
Undo Last Action | Undo Last Action
Redo Last Action | Redo Last Action
Present Diagrams in a Model Views Slideshow | Present Diagrams in a Model Views Slideshow

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Element permission to update or delete items on a diagram, and Manage Diagram permission to create, copy or delete diagrams

Learn More:

  • Permissions List


Add New Diagrams [Enterprise Architect User Guide]

Add New Diagrams

This topic explains how to add a UML diagram, Extended diagram or MDG Technology diagram to a model in Enterprise Architect.

How to:

Step

Action

See Also

1

In the Project Browser, select the appropriate package or element under which to place the diagram

2

Do one of the following:

  • In the Project Browser toolbar click on the New Diagram icon
  • Right-click to open the context menu and select the Add | Add Diagram or
    Add | Add <type> Diagram menu option
  • Press ( Insert ) and select the Add | Add Diagram or Add | Add <type> Diagram menu option, or
  • Select the Project | New Diagram menu option

The New Diagram dialog displays

3

The Name field defaults to the name of the selected package or element; if necessary, type a different name for the new diagram

4

In the Select From panel, click on the appropriate diagram category for the diagram

The Diagram Types panel displays a list of the diagram types within the selected category

UML Diagrams

5

In the Diagram Types panel, click on the type of diagram to create

6

Click on the OK button to create your new diagram

Enterprise Architect checks whether there is a template diagram for this diagram type in the Templates package and, if so, applies the display characteristics defined in that template

Set Element Templates Package

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Diagrams permission to create new diagrams
  • The diagram type determines the default toolbar associated with the diagram and whether it can be set as a child of another element in the Project Browser (for example, a Sequence diagram under a Use Case)

Learn More:

  • Manage Diagrams


Diagram Properties [Enterprise Architect User Guide]

Diagram Properties

You can set several properties of a diagram using the diagram Properties dialog. Some properties influence the display and some are logical attributes that appear in the documentation.

Topics:

Topic

Detail

See Also

Usage

There are several options for opening the diagram Properties dialog for a given diagram:

  • Select the Diagram | Properties menu option to open the Properties dialog for the currently active diagram
  • Right-click on the required diagram in the Project Browser and select the Properties context menu option
  • Right-click on the background of the open diagram and select the Properties context menu option
  • Double-click in the background of the open diagram.

In the Diagram Properties dialog you can set properties including name, author and version information, zoom factor, paper size and layout, diagram notes and various appearance attributes. Once you have made any necessary changes, click on the OK button to save and exit.

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Diagrams permission to change diagram properties
  • You can also set the default diagram background color and the element fill color on the Standard Colors page of the Options dialog. You can set color gradients for both diagram background and element fill color on the Diagram Appearance page of the dialog

Learn More:

  • Update Diagrams
  • Standard Colors
  • Diagram Appearance
  • General Tab
  • Diagram Tab
  • Elements Tab
  • Features Tab
  • Connectors Tab


General Tab [Enterprise Architect User Guide]

General Tab

The General tab of the diagram Properties dialog enables you to define characteristics of the overall diagram, such as its title, version and modification date.

Access: Diagram | Properties > General

Use to:

  • Define characteristics of the overall diagram

Reference:

Field | Usage | See also
Name | Indicates the name of the diagram (defaults to the name of the parent package). |
Author | Specifies the name of the person who owns the diagram (defaults to the name of the person who created the diagram). |
Version | Indicates the version number of the diagram (defaults to 1.0). |
Stereotype | Indicates the name of the stereotype for the diagram. You can define stereotypes to select here using the Settings | UML Types menu option, selecting the Stereotypes tab and creating stereotypes with a Base Class of Diagram. | Stereotypes Tab
Created | Automatically display the date the diagram was created. |
Modified | Indicates the date and time on which the diagram was last modified (defaults to the current date and time). |
Notes | Indicates any additional notes about the diagram. You can format the notes using the Notes toolbar at the top of the field. | Notes Toolbar

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Diagrams permission to update diagram properties

Learn More:

  • Permissions List


Diagram Tab [Enterprise Architect User Guide]

Diagram Tab

The Diagram tab of the diagram Properties dialog enables you to define the representation of the diagram.

Access: Diagram | Properties > Diagram

Use to:

  • Define the representation of a diagram

Reference:

Field | Usage | See also
Use Alias if Available | Display the element alias as the name if the alias is specified |
Show Additional Parents | Show the name of all parents not in the current diagram for all Classes and interfaces |
Show Page Border | Show a page border to align elements with |
Show Diagram Details | Show diagram details in a note in the top left corner of the diagram Deselect to hide the diagram details |
Show Sequence Notes | Show the Sequence Notes on the current diagram |
Show Namespace | Show the namespace of each element on the diagram, as part of the element name; for example: |
Fully Qualified Namespace | (If Show Namespace is selected) show the fully qualified namespace of each element on the diagram, under the element; for example: |
Hand Drawn | Display the diagram contents as if they had been roughly drawn by hand; for example: |
Whiteboard Mode | Displays the diagram as if it had been drawn on a whiteboard, with white fill and background; for example: |
Disable fully scoped object names | Prevent the display of fully-qualified object names on the diagram |
Page Setup | Adjust the scaling of the image according to the size of the page it is to be printed on | Scale Image to Page Size
Print Page Header and Page Footer | Add page headers and footers to a print-out of the diagram; the headers and footers are generated from the diagram characteristics, such as the name of the creator and the date of modification |
Always Open as Element List | Always display the diagram contents as a Diagram List rather than as a diagram | Diagram List
Always Open as Gantt | Always display the diagram contents as a Gantt chart |
Set Layout Style | Define the layout of the diagram, to be applied automatically when you select the Layout Diagram options | Layout Diagram
RTF Document Options | Options for generating RTF reports for a particular diagram | Document Options
Exclude image from RTF documents | Exclude this diagram image from any RTF document generated on the parent package or element |
Document each contained element in RTF | Include documentation on each element in this diagram, in any RTF document generated on the parent package or element | Generate RTF Documentation
Divide Diagram into Multiple Pages | Divide each large diagram into separate pages in the RTF document | Scaled to page
Rotate Images | Rotate each diagram image by 90 degrees in the RTF document |

Notes:

  • The Divide Diagrams into Multiple Pages option is only effective when the Scaled Printing option is set to None on the Print Advanced dialog
  • Rotate Images is only available for bitmap (.bmp) images


Elements Tab [Enterprise Architect User Guide]

Elements Tab

The Elements tab of the diagram Properties dialog enables you to define what components of the elements should be displayed on the diagram.

Access: Diagram | Properties > Elements

Use to:

  • Define what components of elements should be displayed

Reference:

Field

Usage

See also

Use Stereotype Icons

For elements that have whole shapes drawn by Enterprise Architect (such as Analysis stereotypes), draw the alternative shape (if defined)

For elements that have an icon displayed in the top right corner, (such as an Artifact element) if Show Element Stereotypes is selected, display the stereotype icon instead of the stereotype text

Analysis stereotypes

Artifact

Show Element Stereotypes

For elements that have whole shapes drawn by Enterprise Architect, if Use Stereotype Icons is deselected, display any stereotype on the element

For elements that have an icon displayed in the top right corner, indicate that a stereotype is present (icon if Use Stereotype Icons is selected, text if not)

Show Table Owner

Display the Table Owner

Set Table Owner

Show Element Property String

Show the advanced property string for all elements; for example, {leaf}

Show Compartments

Enable the following compartments to be shown or hidden for any element using rectangle notation:

  • Attributes
  • Operations
  • Tags (Tagged Values)
  • Requirements
  • Constraints
  • Testing (Testing Scripts)
  • Maintenance (Maintenance Scripts)
  • Package Contents
  • Notes

Show Test Scripts Compartment

Show Maintenance Script in Diagram


Features Tab [Enterprise Architect User Guide]

Features Tab

The Features tab of the diagram Properties dialog enables you to define how features (attributes and operations) are displayed on the diagram.

Access: Diagram | Properties > Features

Use to:

  • Define how features (attributes and operations) are displayed on a diagram

Reference:

Field | Usage | See also
Show Qualifiers and Visibility Indicators | Show or hide the qualifiers and visibility indicators on the diagram Qualifiers include such things as the 'derived' symbol (/) and the public key symbol (PK) Visibility indicators include such things as +, -, # and ~, which indicate the scope of access of the item (such as an attribute, operation or role) | Visibility indicators
Show Stereotypes | Show the stereotypes on all features |
Show Property String | Show the advanced property string for all element features, for example, {readOnly} |
Show Operation Return Type | Display the return data type of operations |
Suppress Brackets for Operations Without Parameters | Suppress brackets on operations that have no parameters; that is, Opn; rather than Opn(); |
Always Show Linked Features | Force display of linked attributes and operations, regardless of the setting of any other option that might hide them | Linked Attributes and Operations
Visible Class Members | Hide Class members according to their scope and methods that specify properties | Visible Class Members
Show Attribute Detail | Select whether to show both the attribute name and type, or the attribute name only |
Show Parameter Detail | Control the display of method parameters | Visible Class Members


Visible Class Members [Enterprise Architect User Guide]

Visible Class Members

On the Features tab of the diagram Properties dialog, the Visible Class Members panel enables you to hide Class members by their scope and methods that specify properties. Use the check boxes to define the visibility of Class members.

Access: Diagram | Properties > Features : Visible Class Members

Use to:

  • Define visibility of class members

Show Parameter Detail:

The Show Parameter Detail field enables you to control the display of method parameters with the following options:

Option | Effect
None | No details shown
Type Only | Shows the type of parameter only
Full Details | Shows all of the details for parameters
Name Only | Shows the name of the parameter only


Connectors Tab [Enterprise Architect User Guide]

Connectors Tab

The Connectors tab of the diagram Properties dialog enables you to define the appearance of the connectors on the diagram.

Access: Diagram | Properties > Connectors

Use to:

  • Define the appearance of connectors on a diagram

Reference:

Field

Action

See also

Show Relationships

Show relationships in the current diagram

Show Collaboration Numbers

Show numbering in Communication diagrams

Show Non-Navigable Ends

Indicate when an Association end is not navigable; a cross is presented at the Association connector

Show Connector Property String

Show the property string for connectors

Suppress All Connector Labels

Hide all connector labels

Show Stereotype Labels

Show (selected) or hide (deselected) any stereotype labels on the connectors on the diagram

Connector Notation

Display the required connector notation:

  • UML 2.1 - use the standard UML 2.1 notation for connectors
  • Information Engineering - use the Information Engineering (IE) connection style
  • IDEFX1 - use the Integrated Definition Methods IDEFX1 connection style

http://www.agiledata.org/essays/dataModeling101

http://www.idef.com/IDEF1X.html


Paste from Project Browser [Enterprise Architect User Guide]

Paste from Project Browser

As well as creating new elements in a diagram, you can drag existing elements from the Project Browser into the current diagram.

When you drag an existing element into the diagram, the Paste Element dialog displays to prompt you to select the type of paste action to carry out. (If the dialog does not display, press and hold ( Ctrl ) while dragging the element onto the diagram.)

Topics:

Topic

Detail

See also

Pasting Options

Three paste options are available:

  • Paste the element as a simple link: in this case the original element exists both in the current diagram and in the original source diagram; changes to the element are reflected in all diagrams in which it is shown
  • Paste as an instance of the element: if the element can have instances such as an Object, Sequence instance or Node instance, you can drop the element in as an instance of the source element, with the classifier pre-set to the original source; this is useful when creating multiple instances of a Class in a Sequence diagram or Communication diagram

    If you select this option, the Copy connectors checkbox is enabled; if you select this checkbox, any connectors between the original element and any other elements that have also been pasted to this diagram are reproduced as connectors between the instances
  • Create as a child of the source element: this automatically creates a new Class (which you are prompted to name) with a Generalization connector back to the source; this is very useful when you have a Class library or framework from which you inherit new forms - for example, you can paste a Hashtable as "MyHashtable" which automatically becomes a child of the original Hashtable

    Used with the Override parent operations feature, this is a quick way to create new structures based on frameworks such as the Java SDK and the .NET SDK.

You can make your selection on this dialog the default for:

  • all drag and drop operations, or
  • only those where you display this Paste Element dialog

If you select the This Dialog checkbox, you should then select the Only show this dialog when ( Ctrl ) +Mouse drag is used checkbox and, on the Diagram Behavior page of the Options dialog, the Auto Instance checkbox

The effect of these selections is to give you two default paste options:

  • Just drag the element onto the diagram and automatically create an instance
  • Press ( Ctrl ) while you drag the element from the Project Browser, displaying the Paste Element dialog, and click on the OK button to automatically paste the element according to whatever option you last selected from the dialog

If you select the All Drag and Drop checkbox on the Paste Element dialog, this deselects the Auto Instance checkbox on the Options dialog and enables you to add existing elements to the diagram according to the paste option you selected, without pressing ( Ctrl ) and without displaying a dialog (if you want to change the default paste option, press ( Ctrl ) as you drag to display the dialog again and make your changes)

Object Classifiers

Override Parent Operations

Diagram Behavior

Notes:

  • When an element dragged from the Project Browser is pasted into the diagram, its default style and size is applied rather than any alternative styles and sizes used for instances of the element in other diagrams

Learn More:

  • Connect Requirements
  • Create Object From Attribute
  • Make Linked Element A Local Copy


Paste Multiple Items [Enterprise Architect User Guide]

Paste Multiple Items

You can paste multiple elements from the Project Browser into the current diagram.

Topics:

Topic

Detail

See also

Pasting Multiple Elements

To select multiple elements, click on the selected items from the Project Browser while pressing and holding:

  • ( Ctrl ) to add single items to the selection of multiple elements, or
  • ( Shift ) to select all the elements between the first and last selected items in the Project Browser.

You can then drag the selected elements from the Project Browser onto the current diagram, pressing and holding ( Ctrl ) ; for each element you have selected, the Paste Element dialog displays, prompting you to select the type of paste action to carry out.

Pasting Options


Paste Composite Elements [Enterprise Architect User Guide]

Paste Composite Elements

When you drag a Composite element from the Project Browser onto the current diagram, Enterprise Architect prompts you to select the type of paste action to carry out with the Composite element.

(If the dialog does not display, press and hold ( Ctrl ) while dragging the element onto the diagram.)

Topics:

Topic

Detail

See also

Pasting composite elements

Two advanced options are available for pasting Composite elements; these require the include Embedded Elements checkbox to be selected:

  1. The All Embedded Elements option, which pastes all of the Composite element's embedded elements.
  2. The Based on instance option, which pastes only the elements contained in a specific instance of the Composite element, maintaining the layout of the embedded elements.

Click on the drop-down arrow and select the appropriate instance.

For details of the other options on this dialog, see the Paste from Project Browser topic.

Paste from Project Browser


Paste Activities [Enterprise Architect User Guide]

Paste Activities

You can paste an Activity from the Project Browser into the current diagram.

Topics:

Topic

Detail

See also

Pasting Activities

When you drag an Activity from the Project Browser onto the current diagram, The Paste Element dialog displays, prompting you to select the type of paste action to carry out. (If the dialog does not display, press and hold ( Ctrl ) while dragging the element onto the diagram.)

Two options are available:

  • Paste the Activity as a link: in this case the Activity appears in the current diagram as a simple reference to the original source Activity. Changes to the Activity in the diagram affect all other links to this Activity
  • Paste as an invocation of the Activity; if you select this option, the Copy connectors checkbox is enabled. If you select this checkbox, any connectors between the original Activity and any other elements that have also been pasted to this diagram are reproduced as connectors between the instances

For details of the other options on this dialog, see the Paste from Project Browser topic.

Paste from Project Browser

Learn More:

  • Activity


Copy And Paste Diagram Element [Enterprise Architect User Guide]

Copy And Paste Diagram Element

How to:

To copy a diagram element, follow the steps below:

Step | Instruction | See Also
1 | Select the element(s) to copy. |
2 | For multiple elements, right-click to open the context menu and select the Copy menu option. Alternatively, press ( Ctrl+C ) . |
3 | For single elements, select the Edit | Copy menu option or alternatively press ( Ctrl+C ) . |

To paste diagram elements, follow the steps below:

Step | Instruction | See Also
1 | Open the diagram to paste into. |
2 | Right-click on the diagram background to open the diagram context menu. |
3 | Select either the Paste Object(s) as New menu option (completely new element) or the Paste Object(s) as Link menu option (reference to the existing element). |

Notes:

  • The Date Created and Time Created parameters of a pasted-as-new element are set to the current date and time; the parameters for a linked element remain the same as the copied element


Place Related Elements on Diagram [Enterprise Architect User Guide]

Place Related Elements on Diagram

To find and place related elements on the current diagram, use the Relationships window.

Access: View | Relationships

Topics:

Topic

Detail

See Also

Usage

Right-click on any connector in the list to open the context menu.

If an element is not present in the current diagram, the context menu contains the Place Target Element in Diagram option. This is useful when you are building up a picture of what an element interacts with, especially when reverse engineering an existing code base.

Select the Place Target Element in Diagram option. Move the cursor to the required position in the diagram and click to place the element. Alternatively, press ( Esc ) to cancel the action.


Delete Diagram [Enterprise Architect User Guide]

Delete Diagram

How to:

To delete a diagram from your model, follow the steps below

Step | Action | See Also
1 | In the Project Browser, right-click on the diagram to delete The context menu displays |
2 | Select the Delete '<diagram name>' menu option. A confirmation prompt displays. |
3 | Click on the OK button to confirm the delete. |

Notes:

  • In Enterprise Architect there is no Undo feature for deleting diagrams, so be certain that you want to delete a diagram before you do so
  • When you delete a diagram, you do not delete the elements in the diagram from the model
  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Diagrams permission to create new diagrams
  • You can also delete multiple diagrams from the Project Browser, by holding ( Ctrl ) or ( Shift ) while you select them, then right-clicking on one of them and selecting the Delete selected items context menu option

Learn More:

  • Permissions List


Rename Diagram [Enterprise Architect User Guide]

Rename Diagram

To rename a diagram, follow the steps below

How to:

Step | Action | See Also
1 | Open the Diagram Properties dialog by double-clicking on the diagram background, or by selecting the Diagram | Properties menu option. |
2 | In the Name field on the General tab, type the new name for your diagram. |
3 | Click on the OK button to save changes. |


Change Diagram Type [Enterprise Architect User Guide]

Change Diagram Type

If necessary, you can change one type of diagram to another type. This is useful if you have either made a mistake in selecting the diagram type to begin with, or if the purpose and nature of a diagram changes during analysis.

Access: Diagram | Advanced | Change Type

How to:

To change a diagram type, follow the steps below:

Step | Action | See Also
1 | Open the diagram to change. |
2 | Select the Change Type menu option The Change Diagram Type dialog displays |
3 | Select the required diagram type |
4 | Click on the OK button to save changes |

Notes:

  • Some diagram types do not transfer to others; for example you cannot change a Class diagram into a Sequence diagram


Diagram Navigation Hotkeys [Enterprise Architect User Guide]

Diagram Navigation Hotkeys

The diagram hotkeys enable you to quickly navigate to and select elements within a diagram. The following table details the key combinations and their functionality.

Hotkey Command | Action
Shift + Arrow, Element(s)selected | Move the selected element(s) by increments.
Arrow, No element selected | Scroll around the diagram.
Esc | Clear the current selection.
Tab | Select the first element in the diagram if none currently selected.
Shift +click | Add the clicked element to the current selection.
Ctrl +click | Add the clicked element to the current selection.
Ctrl + Shift +drag | Pan the diagram.
Alt + G | Select the item in the Project Browser and give it focus.


Copy Image to Disk [Enterprise Architect User Guide]

Copy Image to Disk

You can copy a diagram image to a disk file in the following formats:

  • Windows bitmap (256 color bitmap)
  • GIF image
  • Windows Enhanced Metafile (standard metafile)
  • Windows Placeable Metafile (older style metafile)
  • PNG format
  • JPG
  • TGA

How to:

To copy a diagram image to file, follow the steps below:

Step | Action | See Also
1 | Open the diagram to save. |
2 | Select the Diagram | Save as Image menu option, or press ( Ctrl+T ) . |
3 | When prompted, enter a name for the file and select an image format. |
4 | Click on the OK button. |

Notes:

  • Enterprise Architect clips the image size to the smallest bounding rectangle that encompasses all diagram elements


Copy Image to Clipboard [Enterprise Architect User Guide]

Copy Image to Clipboard

You can copy diagram images onto the MS Windows clipboard and paste them directly into MS Word or other applications.

To copy an image to the clipboard, follow the steps below

How to:

Step | Action | See Also
1 | Open the diagram to copy. |
2 | Select the Diagram | Copy Image to Clipboard menu option, or press ( Ctrl+B ) |
3 | Click on the OK button. The diagram has been copied to the clipboard and can now be pasted into compatible applications or into another diagram. You can set the clipboard format on the Options dialog (Tools | Options menu option, General page). Enterprise Architect supports bitmap or metafile format. | General Settings


Copy (Duplicate) Diagram [Enterprise Architect User Guide]

Copy (Duplicate) Diagram

Enterprise Architect makes it easy to duplicate a complete diagram, with either :

  • links back to the original diagram elements (shallow mode) or
  • complete copies of all elements in the diagram (deep mode) or
  • complete copies of all elements in the diagram that have the same parent as that of the diagram and links back to the original diagram elements for all other elements on the diagram (smart mode)

To duplicate a diagram, follow the steps below

How to:

Step | Action | See Also
1 | In the Project Browser, select the diagram to copy. |
2 | Right-click to display the context menu and select the Copy Diagram menu option. |
3 | Navigate to the package to host the new diagram, and right-click to open the context menu. |
4 | Select the Paste Diagram menu option. The Copy Diagram dialog displays. |
5 | In the Name field, type the name for the new diagram. |
6 | In the Type of copy panel, click on the radio button for the type of copy you require; either linked elements (shallow mode) or complete copies of the original elements shown on the diagram (deep mode) or complete copies of the original elements shown on the diagram that have the same parent as that of the diagram and linked elements of all other elements on the diagram(smart mode) . |
7 | Click on the OK button. Enterprise Architect automatically creates the new diagram, links or creates new elements and arranges them as in the original diagram. All links are also copied between diagram elements where appropriate. |

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Diagrams permission to copy diagrams.
  • You can also paste a copied diagram as a child of a composite element.
  • For a diagram copied in shallow mode, any changes to the properties of the original elements are reflected in the elements in the pasted diagram.
  • For a diagram copied in deep mode, any changes to the properties of the original elements are not reflected in the elements in the pasted diagram.
  • For a diagram copied in smart mode, any changes to the properties of the original elements are reflected only in those elements that are copied as simple links in the pasted diagram.
  • Element position and size will be independent in all copy modes.

Learn More:

  • Permissions List
  • Composite Elements


Z Order Elements [Enterprise Architect User Guide]

Z Order Elements

Z Order refers to an element's depth in the diagram perspective, and thus influences which elements appear in front of others and which appear behind.

How to:

To set the Z Order of an element, follow the steps below:

Step | Action | See Also
1 | Right-click on the element in the diagram |
2 | Select the Z-Order menu option |
3 | The displayed commands enable you to move the selected element(s) back, forward, to the front of all other elements or behind all other elements |

Notes:

  • This option enables you to change the Z-order of a single element approximately in relation to the rest of the diagram; you can also select the Modify Z-Order option from the diagram context menu, to review and adjust the Z-Order of each element on the diagram precisely relative to each other element

Learn More:

  • Diagram Context Menu


Set the Default Diagram [Enterprise Architect User Guide]

Set the Default Diagram

A project might have a default diagram. If set, this diagram loads when Enterprise Architect first opens the model. It is often convenient to place hyperlinks to other diagrams and resources on the default diagram, thus creating a Home Page for your model.

Access: Diagram | Advanced | Make Model Default

Notes:

  • Once you have specified a default diagram, the Home icon on the Diagram toolbar takes you back to that diagram from your current location in the model


Open Package From Diagram [Enterprise Architect User Guide]

Open Package From Diagram

How to:

To open a package from within a diagram follow the steps below:

Step | Action | See Also
1 | Open a diagram that shows the package to open. |
2 | Right-click on the package element to open the context menu. |
3 | Select the Open Package option. Alternatively, press ( Ctrl+K ) . |

Notes:

  • Enterprise Architect finds the package default diagram and opens it for you. This is the first available diagram in the package, selected in alphabetical order; for example, a diagram called Alpha in a child package or element several levels down opens before a diagram called Beta immediately under the selected package


ppFeature Visibility [Enterprise Architect User Guide]

Feature Visibility

Enterprise Architect enables you to set the visibility of attributes and operations - where shown - for selected elements on a specific diagram only. You can hide or show attributes and operations by scope, or you can hide attributes and operations individually. The visibility you set applies only to the current diagram, so a Class can appear in one diagram with all features displayed, and in another with features hidden. For example, you can hide all protected attributes, all private operations or any other combination of attributes and operations.

It is possible to show inherited attributes, operations, requirements, constraints and Tagged Values for elements that support those features. When Enterprise Architect displays inherited features, it creates a merged list from all generalized parents and from all realized interfaces. If a child Class redefines something found in a parent, the parent feature is omitted from the Merge List.

How to:

To customize feature visibility, follow the steps below:

Step

Action

See Also

1

Either:

  • Click on the element in the diagram and either click on the Element | Feature Visibility menu option or press ( Ctrl+Shift+Y ), or
  • Right-click on the element in the diagram to display the context menu and click on the Feature Visibility option.

The Feature Visibility dialog displays.

2

To filter display of attributes or operations by scope, select the checkbox against each scope that should be visible and clear the checkbox against each scope that should not.

3

In the Show Element Compartments panel, select the compartments to display for the element on the diagram.

The Fully Qualified Tags checkbox enables you to display the full provenance of a Tagged Value, where the same Tagged Value can be used several times in different contexts with different values. The description in the Tagged Value compartment reads:

<Profile>::<Stereotype>::<Tagged Value name>=<Value> for example: BPMN::Activity::Activity Type = Task.

(Only for Tagged Values created in Enterprise Architect release 7.1 or later.)

If you select the Notes checkbox, the Notes compartment on the element in the diagram displays the text that has been typed into the Notes field of the Element Properties dialog. This checkbox also enables the maximum chars field, which defaults to 1000 as the number of characters of notes text displayed. Overtype this value to display less text or more text.

The change only applies to the selected elements on the diagram, so you can display full notes for a selected element whilst the other elements on the diagram have no notes text.

4

In the When Resizing Elements panel, select the appropriate option for resizing the Class, object or table to prevent very wide diagram objects.

The selected option defaults to Resize to longest Feature, so that the minimum width for a diagram object is determined by its longest displayed attribute, method or other compartment value. If necessary, you can change the option to Wrap Features (so that any longer features are wrapped onto multiple lines) or Truncate Features (so that longer features are not displayed in full).

5

If required, in the Inherited Features panel, select one or both checkboxes to set whether Enterprise Architect should display inherited features as well as directly owned ones.

6

Click on the OK button to save changes. Enterprise Architect redraws the diagram with the appropriate level of feature visibility.

Topics:

Topic

Detail

See also

Suppress or Show Specific Features

The Custom button in the Attribute Visibility and Operation Visibility panels enables you to show or hide specific operations and attributes. If you select the Show checkbox, the Custom button displays the Show Features in Diagram dialog; if you deselect the checkbox, the button displays the Suppress Features in Diagram dialog.

The two dialogs are identical, but in the first you select the checkboxes of specific features to show, and in the second you select the checkboxes of specific features to hide.

You can also use the Filter by Scope button in this dialog to, for example, list only operations that are Protected and select, say, two of them to hide, so that on the diagram the element displays all but two of the Protected operations and all operations of other scopes.

Notes:

  • To show features for element types that do not have visible compartments, such as Use Cases and Actors, right-click on the diagram object to display the context menu and select the Advanced Settings | Use Rectangle Notation option
  • The Show checkbox, if selected, overrides these selections to display all attributes or operations in the element, except those specifically deselected in the Show Features in Diagram dialog
  • If you have selected the Notes checkbox, you can select the Render Formatted Notes checkbox to display the text on the diagram, formatted using the Notes toolbar

Learn More:

  • Notes


Insert Diagram Properties Note [Enterprise Architect User Guide]

Insert Diagram Properties Note

Properties of a diagram can be displayed on screen within a custom text box. You can move this text box around and change its appearance. You cannot change what the text box says.

Topics:

Topic

Detail

See also

Usage

To create the note, drag the Diagram Notes element from the Common page of the Toolbox onto the diagram.

Alternatively, select the Diagram | Property Note menu option, or click on the Diagram Properties Note button on the UML Elements toolbar and click on the diagram

Notes:

  • This is not the same as the diagram details note, which displays in the top left corner of the diagram if the Show Diagram Details checkbox is selected on the Diagram Properties dialog. You cannot move the diagram details, nor change the appearance. To hide the diagram details, deselect the checkbox

Learn More:

  • Configure Default Appearance
  • Diagram Properties


Create Legends [Enterprise Architect User Guide]

Create Legends

A Legend shape identifies colors and styles you have used to group other elements on the diagram. You can use the Legend to assist in distinguishing different elements, connectors or systems on the diagram. For example, the Legend could show that all elements concerned with the management system are shaded in blue, and all outcomes connectors are shown in red. The Legend displays as a key to the diagram, with the filled shape styles first and the lines and connector styles underneath.

You add a Legend to the diagram, then edit it to add Legend elements, which define the colors and styles used in the diagram.

To add a Legend to a diagram, drag the Diagram Legend element from the Common page of the Toolbox onto the diagram (or click on the New Diagram Legend icon ( UML Legend ) on the UML Elements toolbar, and click on the diagram).

To edit the Legend either double-click on the Legend or Right-click on the Legend and select the Properties context menu option.


Legend Properties [Enterprise Architect User Guide]

Legend Properties

Access: drag the Diagram Legend element from the Common page of the Toolbox onto the diagram

Use to:

  • Add a Legend to a diagram

Reference:

Field | Usage | See also
Name | Indicates a name for an element displayed within a legend. |
Fill Color | Indicates a fill color for an element within a legend. |
Line Color | Indicates a line color for an element within a legend. |
Line Thickness | Denotes the line thickness of an element within a legend. |
Style Options | Allows further alteration options to the legend appearance. | Style Options
Fill | Indicates that a fill element is to be created/modified. |
Line | Indicates that a line element is to be created/modified. |
Hand (Up) | If more than one element is present within a legend, this button moves a highlighted element up one entry within the description list. |
Hand (Down) | If more than one element is present within a legend, this button moves the highlighted element down one entry within the description list. |
New | Add a new element to the legend. |
Save | Saves an element and adds it to the description list. |
Delete | Deletes an element from the description list. |
Description List | Specifies the current elements created within the legend. |

Notes:

  • The Legend dialog enables you to add, delete, modify or re-sequence Legend elements. Use the Fill tab to define the Legend elements for shapes, then click on the Line tab to define Legend elements for lines and connectors


Style Options [Enterprise Architect User Guide]

Style Options

Click on the Style Options button ( ... ) to display the Style Options dialog, on which you can modify a Legend title, font size, background color and border color. If you choose default options for the colors, the Legend automatically assumes colors based on the diagram background color.

Access: Legend dialog > (...)

Use to:

  • Modify appearance options for a Legend

Reference:

Field | Usage | See also
Legend Title | Indicates the title of the Legend |
Heading Size | Indicates the size of the font for a Legend |
Font Color | Indicates the font color the Legend is to use |
Background | Indicates the background color the Legend is to use |
Border Color | Indicates the border color the Legend is to use |


Autosize Elements [Enterprise Architect User Guide]

Autosize Elements

You can autosize an element or group of elements in a diagram to the default size for the element type (for a Class, 90 x 70 pixels at 100% zoom). However, if the element contains more information than the default size can show (such as a long name, long attributes or additional compartments) the autosize option resizes the element to the minimum size for revealing the information.

The size change effectively operates around the mid point of each element, so the layout and size of the diagram do not change. Automatically changing the layout of a diagram is a different process.

How to:

To autosize elements, follow the steps below:

Step

Action

See Also

1

Select the elements to resize (press ( Ctrl+A ) to select all).

2

Either:

  • Right-click on any of the elements and, on the context menu, select the Autosize menu option, or
  • Press ( Alt+Z ) .

Notes:

  • Not all elements resize: elements such as Events remain the same; Timing and Sequence diagrams (where position is crucial) are unchanged; and elements added from a profile or Shape Script maintain any size definitions imposed by the profile
  • With an element image created with a Shape Script that contains a defSize command, Autosize returns the element to the defSize value and not the element default size

Learn More:

  • Lay Out a Diagram Automatically
  • defSize command


Swimlanes [Enterprise Architect User Guide]

Swimlanes

Enterprise Architect diagrams support Swimlanes for all diagram types. Swimlanes are vertical or horizontal bands in a diagram that divide the diagram into logical areas or partitions. In the example below the activities relating to particular entities within the model (such as the User, or the back end Repository) are placed within a containing swim lane to indicate their association.

Access: Diagram | Swimlanes and Matrix > Swimlanes

Use to:

  • Add Swimlanes to a diagram

Reference:

Field | Usage | See also
Active | Indicates that the Swimlane dialog is active, as opposed to the Matrix dialog | Swimlanes Matrix
Orientation | Specifies the orientation of the swimlane, either vertical or horizontal |
Line Color | Indicates the line color for the swimlane |
Font Color | Indicates the font color for the swimlane |
Line Width | Indicates the line width of the swimlane |
Locked | Indicates that the swimlane can not be moved on the diagram |
Bold Font | Indicates that the name given to the swimlane is set to bold |
Hide Classifier | Indicates that the classifier name is not shown on the diagram |
Hide Names | Indicates that the names set for swimlanes do not appear on the dialog |
Show Names in Title Bar | Specifies that the name given to a swimlane appear in the title bar |
Hand (Up) | If more than one element is present within a swimlane, this button moves a highlighted element up one entry within the Swimlanes list |
Hand (Down) | If more than one element is present within a swimlane, this button moves a highlighted element down one entry within the Swimlanes list |
New | Opens the Swimlane Details dialog, allowing specification of the Name, Classifier and Background Color | Swimlane Details
Modify | Opens the Swimlane Details dialog, allowing modification of the Name, Classifier and Background Color | Swimlane Details
Delete | Deletes a Swimlane from the Swimlanes List |
Swimlanes List | The list of the currently defined Swimlanes |

Notes:

  • If you set a background color for a swimlane, it takes on the same shading profile as the main diagram background


Swimlane Details [Enterprise Architect User Guide]

Swimlane Details

The Swimlane Details dialog opens if the New or Modify buttons are clicked from the Swimlanes dialog.

Access: Diagram | Swimlanes and Matrix > Swimlanes : New/Modify

Use to:

  • Specify details about a swimlane

Reference:

Field | Usage | See also
Name | Indicates a name for the swimlane. |
Classifier | Indicates the classifier name for the swimlane, the (...) button allows specification of a classifier. | Select <Item> Dialog
Back Color | Specifies a background color for a swimlane. |


Swimlanes Matrix [Enterprise Architect User Guide]

Swimlanes Matrix

Enterprise Architect diagrams support a Swimlanes Matrix for all diagram types, based on the Zachman Framework.

The Swimlanes Matrix divides the diagram into cells of vertical columns and horizontal rows. The cell in the top left corner of the Swimlanes Matrix contains the heading of the matrix. The first cell at the top of each column contains the column title text. The first cell at the left of each row contains the row title text.

Access: Diagram | Swimlanes and Matrix > Matrix

Use to:

  • Add a Matrix to a diagram

Reference:

Field | Usage | See also
Active | Indicates that the Matrix dialog is active, as opposed to the Swimlanes dialog. | Swimlanes
Title # | Indicates a title name, up to 3 title names can be specified. |
Color | Indicates a font color for a title. |
Font | Opens the font dialog, font styles can be specified here. | Set Element Font
Hidden | Indicates if a title is hidden. |
Type | Indicates what type of matrix heading is created. |
Back Color | Indicates what background color the matrix item has. |
Hide Item | Indicates that the matrix item is hidden. |
Model Profiles | Indicates what profile is used during creation of the Matrix. |
Model Profiles : Save | Saves a profile to the Model Profiles list Prompts for a profile name. |
Model Profiles : Delete | Deletes a profile from the Model Profiles list. |
Lock | Indicates that the matrix item can not be moved or resized on a diagram. |
Line Widths | Indicates the with on lines surrounding a matrix. |
Hand (Up) | If more than one item is present within a matrix, this button moves a highlighted element up one entry within the Matrix List. |
Hand (Down) | If more than one element is present within a matrix, this button moves a highlighted element down one entry within the Matrix List. |
New | Allows for the creation of a new matrix item. |
Copy | Copies the highlighted matrix item. |
Delete | Deletes a matrix item from the Matrix List. |
Matrix List | A list of currently defined matrix items. |

Notes:

  • The heading is the first item in the list; you create only one heading
  • When you define columns and rows, you define the header or title cells. The properties of these cells do not reflect on the matrix cells themselves. For example, the intersection cell of a column and row has a transparent background and therefore takes the color and shading effect of the diagram background
  • You can also transport all the matrix profiles between models (as Diagram Matrix Profiles), using the Export Reference Data and Import Reference Data options
  • By applying a Model Profile, you replace the current profile. Save the current profile to avoid losing it
  • To size the rows and columns, drag the row and column borders on the diagram. Elements placed inside each cell are shifted when sizing. To prevent the elements shifting, press and hold ( Ctrl ) while sizing

Learn More:

  • Export Reference Data
  • Import Reference Data


Using the Image Manager [Enterprise Architect User Guide]

Using the Image Manager

The Image Manager dialog enables you to insert alternative images in diagrams, rather than inserting standard UML elements. For example, you might want to place a custom background image on a diagram, or display a custom image such as a Router or PC on a UML element.

Access: Right-click on an element within a diagram | Appearance | Select Alternate Image (Shortcut - Ctrl + Shift + W)

To locate and display an image, click on individual image filenames, or press ( # ) and ( $ ) to scroll through the list of images. As you highlight each image filename, the Preview panel changes to reflect the image. Double-click on the required image filename to display the image in full size.

On the Image Manager dialog, the following buttons are available:

Reference:

Action | Usage | Shortcut | See also
View | Display the selected image in full size. | Alt + V |
Usage | Display the Element Usage dialog, which lists the diagrams in which the selected image is used. |  | Element Usage
Rename | Change the filename of the selected image. The option first warns you that the change would impact the other elements that use this image, and prompts you to confirm that you want to go ahead with the name change. If you continue, a prompt displays for you to enter the new filename. |  |
Add New | Browse appropriate directories to search for and import new images. You can import images in .BMP, .PNG, .EMF, .WMF, .TGA, .PCX or .JPG format. Internally, Enterprise Architect stores the images in .PNG or metafile format to conserve space. | Alt + A |
Update Selected | Refresh the selected image; for example, after it has been modified. | Alt + U |
Delete | (Not available for an image from a deployed MDG technology.) Delete the selected image. A message displays to indicate how many elements use the image. Click on the Continue button to delete information about the image from those elements, which then revert to their previous appearance. | Alt + D |
Cancel | Close the Image Manager dialog. |  |
OK | Confirm selection of the alternative image for the element selected in the diagram. | Alt + O |

Notes:

  • For elements with lifelines, such as those used on Sequence diagrams, the Lifeline must remain intact to enable messages to be created between the elements. Therefore such elements cannot have alternative images.
  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Configure Images permission to configure alternative element images
  • There are two categories of image available through the Image Manager: those images that have been imported into the model, which are stored in the model; and those images that are incorporated into a deployed MDG technology, which are not copied into the current model but are held in memory. The technology images are identified by the technology name followed by the image file name; for example: MDGFrame::ovalshape.emf
  • If you are creating many elements of the same type that have a particular image, you should use a custom stereotype with an associated metafile
  • You can transport image files between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Custom background image
  • Permission List
  • Adding Images in MDG Technology
  • Custom Stereotype
  • Export Reference Data
  • Import Reference Data


Create Custom Diagram Background [Enterprise Architect User Guide]

Create Custom Diagram Background

Enterprise Architect diagrams have a single-color 'wash' background that you can set to a solid color or a fade gradient down the screen. You set the color on the Standard Colors page of the Options dialog, and whether to have a fade gradient on the Diagram Appearance page.

Alternatively, using the Image Manager dialog, you can create a non-tiled background for diagrams.

How to:

To create a non-tiled background follow the steps below:

Step

Action

See Also

1

Create a Boundary object from the Use Case Elements page of the Toolbox; do not use the Boundary element from any other section of the Toolbox

System Boundary

Toolbox

2

Stretch the Boundary to a size that can contain all of the elements you intend to place on the diagram, and drag it to the edges of the diagram workspace

3

Right-click on the Boundary element

The context menu displays

4

Select the Z-Order | Send to Bottom menu option; this ensures that the Boundary is not displayed in front of any other element in the diagram

5

Either:

  • Press ( Ctrl+Shift+W ) , or
  • Right-click on the Boundary to display the context menu, and select the Appearance | Alternate Image menu option

6

On the Image Manager dialog, select an appropriate image as the diagram background and ensure that the image size is large enough to span the required size of the diagram background

Image Manager

7

When you have selected the required image, click on the OK button

Alternatively, you can copy an image from another source onto the Windows clipboard, right-click on the Boundary element in the Enterprise Architect diagram, and select the Appearance | Apply Image From Clipboard context menu option

Learn More:

  • Standard Colors
  • Diagram Appearance


Import Image Library [Enterprise Architect User Guide]

Import Image Library

Using the Image Library enables you to create attractive diagrams with custom images. A bundled clip art collection of UML-based images is available as an Imported Image Library, from the Sparx Systems website. Image libraries enable you to import a collection of images into the Image Manager in one process.

How to:

To import the Image Library, follow the steps below (before starting, you must have a suitable Image Library file):

Step | Action | See Also
1 | Download the Image Library from the Sparx Systems website. | www.sparxsystems.com/resources/image_library.html
2 | Select the Project | Model Import/Export | Import Reference Data menu option. The Import Reference Data dialog displays. |
3 | Locate the XML Image Library file to import using the Select File button. The file name is ImageLibrary.xml in the directory in which you saved the file. |
4 | Select the data set containing the Image Library. Then click on the Import button. |

To use the images contained within the Image Library, follow the steps below

Step | Action | See Also
1 | Create a diagram to associate with the images contained in the Image Library. |
2 | Select the element to change from the default appearance to one of the images contained within the library. |
3 | Press ( Ctrl+Shift+W ) , or right-click on the selected element to display its context menu and then select the Appearance | Select Alternate Image option. |
4 | On the Image Manager dialog, in the Name field highlight the appropriate image name and then click on the OK button. |

Notes:

  • Images contained within the Image Library are copyright of Sparx Systems, are only available for use in conjunction with Enterprise Architect, and are supplied on the understanding that they are not used under any other circumstance


Show Realized Interfaces of Class [Enterprise Architect User Guide]

Show Realized Interfaces of Class

You can display each interface directly realized by a Class as a 'lollipop' style interface node, which protrudes from the left-hand side of the Class. Connectors can be directly attached to the node, indicating usage of the interface part of the Class or component. See the example below:

Topics:

Topic

Detail

See also

Explanation

In this example, Class2 realizes Interface1 and Interface2 as represented by the interface nodes protruding from the Class. Class1 is dependent on these two interfaces, which is shown by the Dependency connectors linking to the nodes.

To show nodes for the interfaces a Class realizes, as in the above diagram, right-click on the Class and select the Embedded Elements | Show Realized Interfaces context menu option. This setting only applies to the selected Class, and can be changed at any time.


Label Menu Section [Enterprise Architect User Guide]

Label Menu Section

You can add labels to both connectors and elements, using the element or connector context menu as follows:

  • Element:
  • Select the Embedded Elements menu option and either the Add <element> option or the Embedded Elements option; the label is the embedded element name
  • Apply an alternative image to an element (that might also have a run state; the run state, attributes and operations of the element are then displayed as a label of the element
  • Connector - Select the Properties option and define the connector name, stereotype, constraints and/or source and target roles

Once you have these labels, you can edit and format them using the Labels context menu.

Access: Right-click on a label

Reference:

The Labels context menu associated with embedded elements provides the following options:

Action | Usage | Shortcut | See also
Set Label Color | Specify a color for the label. |  |
Hide Label | Hide the label; to unhide the label, right-click on the element and select the Appearance | Show labels context menu option. |  | Appearance Menu section
Bold | Set the label font to bold. |  |
Text Alignment | Align the text within the label text area. The options available from the submenu enable you to specify left, center and right alignment. |  |
Label Rotation | Orient the label in the horizontal or vertical planes, with the vertical plane offering the option of clockwise or anti-clockwise position. |  |
Default Position | Move the label to the initial default location. |  |
Default Color | Set the label color to the default color. |  |

The Labels menu associated with connectors provides the following options:

Action | Usage | Shortcut | See also
Set Label Color | Specify a color for the label. |  |
Hide Label | Hide the label; to unhide the label use the Visibility | Set Label Visibility option on the connector context menu. |  | Set Label Visibility
Bold | Set the label font to bold. |  |
Text Alignment | Align the text within the label text area. The options available from the submenu enable you to specify left, center and right alignment. |  |
Label Rotation | Orientate the label horizontally or vertically and, if vertically, in a clockwise or anti-clockwise position. |  |
Direction | Set a small arrow at the end of the label pointing to either the label source or the destination dependent upon selection from the available options. This is part of the label, so if there is no label there is no direction indicator. |  |
Default Position | Move the label to the default location. |  |
Default Color | Set the label color to the initial default color. |  |

Notes:

  • As labels can be concentrated on and around the element or connector, make sure that you click on a section of the required label that is clear of any other label or structure

Learn More:

  • Embedded Elements
  • Using the Image Manager
  • Run-time State
  • Connector Properties


Pan and Zoom a Diagram [Enterprise Architect User Guide]

Pan and Zoom a Diagram

Topics:

Topic

Detail

See also

Pan

Pan the Diagram View in the following ways:

  • Use ( ! ) , ( " ) , ( # ) , ( $ ) , ( Page Up ) , ( Page Down ) , ( Home ) and ( End ) when the Diagram View is selected
  • Use the scrollbars
  • Use the middle mouse button
  • Use the Pan & Zoom window

Pan & Zoom Window

Zoom

You can zoom into and out from a diagram using the zoom buttons on the diagram toolbar, or by using the Diagram | Zoom submenu.

Change the zoom level by 10% by clicking on either the Zoom In (+) or Zoom Out (-) buttons. Alternatively, select the Zoom In or Zoom Out options from the Diagram | Zoom submenu.

There are three ways to return the diagram to 100%:

  • Click on the ZoomIcon button
  • Select Zoom to 100% from the Diagram | Zoom submenu
  • ( Ctrl ) +middle-click the mouse

Notes:

  • You can zoom in and out of the main window dynamically by holding ( Ctrl ) and rolling the mouse wheel
  • Changes in diagram magnification through the zoom options can be saved as permanent changes to the diagram
  • At high levels of zoom, element features cease to display. This is because of the difficulty the Windows font mapper has in choosing a font for extreme conditions, and the result can look odd


Move Elements In Diagram Sections [Enterprise Architect User Guide]

Move Elements In Diagram Sections

As you build up a diagram, you might find that you have to move part of the diagram up, down or to one side. You can do this in one of two ways:

Topics:

Topic

Detail

See also

Moving Elements
  • Hold the left mouse button down and drag over a group of elements to move (creating an outline around the elements), then click on an element in the outline and move the group as required
  • Press ( Alt ) and click on the diagram, then drag the cursor to move everything beyond the cursor in the direction of the movement.

The first method enables you to reposition groups of elements within the larger diagram. The second method enables you to create space within the diagram without pushing some elements into others, as might happen if you cannot see the whole diagram on one screen.

When you press ( Alt ) and click on the diagram, as you move the cursor a line displays on the diagram just behind the cursor. If you are moving the cursor left, everything to the left of the line moves with the cursor. If you move the cursor up, everything above the line moves up.

However, if you move the cursor diagonally, two lines display to create a quadrant, and everything within the quadrant moves. For example, if you move the cursor left and down, everything below and left of the cursor moves.

Fine Movement

To adjust (or 'nudge') the position of a single element or a selected group of elements, press ( Shift ) + ( " ) , ( ! ) , ( # ) or ( $ ) .


View Last and Next Diagram [Enterprise Architect User Guide]

View Last and Next Diagram

Enterprise Architect enables you to step backwards and forwards through the currently-open diagrams, including the Start Page.

Topics:

Topic | Detail | See also
Usage | To view the previous or next diagram use the Previous or Next buttons on the Diagram toolbar. Use the Home button to display the default project diagram (if one has been specified). | Default Project Diagram


Set Diagram Page Size [Enterprise Architect User Guide]

Set Diagram Page Size

You can change the size of the diagram area (or scrollable/printable area) using the Diagram Properties dialog.

How to:

To set the page size, follow the steps below:

Step | Action | See Also
1 | Load a diagram. |
2 | Double-click on the background to open the Diagram Properties dialog. |
3 | Click on the Diagram tab and, in the Appearance panel ensure that the Show Page Border checkbox is selected. |
4 | On the Page Setup panel, click on the Advanced button. The Print Advanced dialog displays. |
5 | Click on the Page Setup button. The Page Setup dialog displays. As you adjust the settings on this dialog, the page icon at the top illustrates the effects of your changes. |
6 | In the Size field, click on the drop-down arrow and select an appropriate page size. |
7 | In the Orientation panel click on the radio button for the orientation of the page to print. |
8 | In the Margins panel, type the required left, right, top and bottom page margins for the diagram, in inches. |
9 | Click on the OK button on the Page Setup dialog, the Print Advanced dialog, and the Diagram Properties dialog. The area within the page boundary lines on your diagram is expanded or reduced accordingly. When you print or print preview, the output is cropped to these boundary lines and the diagram divided between the necessary number of pages. |

Topics:

Topic | Detail | See also
Setting the Default Paper Size for New Diagrams | You can set the default paper size for new diagrams on the Diagram page of the Options dialog (select the Tools | Options | Diagram menu option). Once the paper size is set there, all new diagrams have that as the default size. | Configure Local Options - Diagram

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Diagrams permission to change diagram page setup

Learn More:

  • Permissions List


Scale Image to Page Size [Enterprise Architect User Guide]

Scale Image to Page Size

When you print a diagram, the default setting is to scale the image to fit the size of the printer paper you have defined in the page set-up. The image is not scaled up to fill the page, but it is scaled down if it exceeds the current page boundary. The image retains its current proportions; that is, it is scaled down equally in the X and Y dimensions. For a large diagram, this can mean that the components of the diagram are small and hard to read.

Alternatively, you can print a multi-page image; that is:

  • allow the diagram image to print on as many printer pages as it naturally occupies, (no scaling), or
  • scale the diagram image to exactly fit a specified number of pages

In all three cases you also define the paper size and orientation.

How to:

To turn off or customize image scaling options, follow the steps below:

Step

Action

See Also

1

Select the diagram to scale

2

Either:

  • Double-click on the diagram background, or
  • Right-click on the background and select the Properties context menu option

The <type> Diagram: <name> dialog displays

3

Click on the Diagram tab and, in the Page Setup panel click on the Advanced button

The Print Advanced dialog displays

Page size and Alignment

4

Select from the following options as required:

  • None: select to print on as many pages as the diagram image covers
  • Scale to 1 page: select to scale the diagram image to fit on the currently selected page
  • Custom: select to specify the width and height of the diagram images across a specified number of pages
  • Page Setup: click to select the page size and alignment

Notes:

  • Before printing, make sure you have selected the required page layout using the Page Setup button

Learn More:

  • File Menu


Lock Diagram [Enterprise Architect User Guide]

Lock Diagram

You can lock a diagram against inadvertent changes, such as moving or sizing elements.

How to:

To lock a diagram, follow the steps below:

Step | Action | See Also
1 | Open the diagram to lock |
2 | Right-click on the background to open the diagram context menu |
3 | Click on the Lock Diagram option to prevent further changes |
4 | Click on the OK button If a user selects an item on a locked diagram, the object border or outline displays in red |

Notes:

  • This does not apply in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions if security is enabled. In that case, see the Lock Model Elements topic

Learn More:

  • Lock Model Elements


Undo Last Action [Enterprise Architect User Guide]

Undo Last Action

When editing diagrams, Enterprise Architect supports multiple undo levels for moving, re-sizing and deleting elements, and for deleting connectors.

Topics:

Topic

Detail

See also

Usage

There are three ways to undo the last action:

  • Press ( Ctrl+Z )
  • Select the Edit | Undo menu option
  • Click on the Undo button in the Default Tools toolbar - UndoButton

Notes:

  • Currently you cannot undo element additions or connector moves


Redo Last Action [Enterprise Architect User Guide]

Redo Last Action

When editing diagrams, Enterprise Architect supports multiple undo levels for moving, re-sizing and deleting elements, and for deleting connectors. If an Undo action is in error, you can redo the action to reverse the Undo.

Topics:

Topic

Detail

See also

Usage

There are three ways to redo the last action:

  • Press ( Ctrl+Y )
  • Select the Edit | Redo menu option
  • Click on the Redo button in the Default Tools toolbar - RedoButton


Layout Diagrams [Enterprise Architect User Guide]

Layout Diagrams

Enterprise Architect provides a Layout Tools window to enable you to lay out the elements in a diagram. Unless the diagram is very simple, this facility does not lay out the entire diagram; it consists of a set of tools to set out different areas or sets of elements in the diagram.

How to:

To start to lay out a diagram, follow the steps below:

Step

Action

See Also

1

Open the Layout Tools window; either:

  • Select the View | Diagram Layout menu option, or
  • Right-click on the main toolbar and select the Layout Tools context menu option

2

Select the elements to lay out on the currently-active diagram - hold ( Shift ) or ( Control ) while you click on each required element, or hold the mouse button down while you sweep over the area containing the required elements

If no elements are selected on the active diagram, then all elements on the diagram are laid out (except where otherwise documented)

3

Click on the drop-down arrow on the top left field of the Layout Tools window, and select the required layout type

4

The layout type determines the fields presented in the window, therefore the appropriate fields are described in the topic for each layout type

  • Circle/Ellipse
  • Box
  • Per Page
  • Digraph
  • Spring
  • Neaten
  • Converge/Diverge
  • Fan Relations
  • Auto Route

Circle/Ellipse

Box

Per Page

Digraph

Spring

Neaten

Converge/Diverge

Fan Relations

Auto Route

5

When you have completed the fields, click on the LayoutButton button

Enterprise Architect sets out the selected elements according to the options you have selected

6

If you do not want to work with the new layout, click on the Undo button in the toolbar

( UndoLayout)

Enterprise Architect also provides a facility for automatically laying out a diagram; if necessary, you can manually adjust the final result of this automatic process

Automatically Laying out a Diagram


Circular/Elliptical Layout [Enterprise Architect User Guide]

Circular/Elliptical Layout

The Circle and Ellipse layouts arrange the selected elements in a circle or elliptical pattern, using the largest horizontal and vertical element edge in the set of elements when calculating the radius of the layout arc.

How to:

To invoke the Circular or Ellipse layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select either Circle or Ellipse as required

Layout Diagrams

2

Click on the drop-down arrow in the Sort By: field and select the required sort parameter:

  • None - Elements are passed to the specified layout in the order in which they appear on the original diagram (left to right, top to bottom)
  • Area (Ascending) - Elements are passed to the specified layout in order of the screen space they occupy, smallest to largest
  • Area (Descending) - Elements are passed to the specified layout in order of the screen space they occupy, largest to smallest
  • Name (Ascending) - Elements are passed to the specified layout in alphanumeric order, based on the element name
  • Name (Descending) - Elements are passed to the specified layout in reverse alphanumeric order, based on the element name
  • Element Type - Elements are grouped by type (for example, Class, Use Case) and in alphanumeric order within the group by name

3

Under the Placement option, select either:

  • Top to Bottom (the elements are positioned in the required order, zig-zagged across the perimeter of the circle or ellipse - see Diagram A, below)
  • Circular (the elements are placed in the required order, clockwise around the perimeter of the circle or ellipse - see Diagram B, below)

4

Select the Center focused element checkbox to put the last-selected element (the one with the hashed border) in the center of the circle or ellipse - see Diagram C, below

Diagram A - Top To Bottom Layout

Diagram B - Circular Layout

Diagram C - Center Focused Element


Box Layout [Enterprise Architect User Guide]

Box Layout

The Box layout arranges the set of selected elements into a square grid.

The dimensions of the box are determined by the square root of the number of selected elements (for example, 16 elements create a 4x4 box).

How to:

To invoke the Box layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select Box

Layout Diagrams

2

Click on the drop-down arrow in the Sort By: field and select the required sort parameter:

  • None - Elements are passed to the specified layout in the order in which they appear on the original diagram (left to right, top to bottom)
  • Area (Ascending) - Elements are passed to the specified layout in order of the screen space they occupy, smallest to largest
  • Area (Descending) - Elements are passed to the specified layout in order of the screen space they occupy, largest to smallest
  • Name (Ascending) - Elements are passed to the specified layout in alphanumeric order, based on the element name
  • Name (Descending) - Elements are passed to the specified layout in reverse alphanumeric order, based on the element name
  • Element Type - Elements are grouped by type (for example, Class, Use Case) and in alphanumeric order within the group by name

3

In the Padding (px) field, type the vertical and horizontal distance between elements, in pixels

4

Select the appropriate element distribution option:

  • Automatically distribute: Automatically calculate the dimensions of the box (the square root of the number of selected elements; for example,16 elements create a 4x4 box)
  • Specify distribution: Manually define the width of the box, in columns

5

If you selected Specify Distribution, in the Columns field type the required number of columns


Per Page Layout [Enterprise Architect User Guide]

Per Page Layout

The Per Page layout divides each diagram page into a number of cells, which house the selected elements. The number of cells per page is determined by the page distribution parameter, as explained below.

How to:

To invoke the Per Page layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select Per Page

Layout Diagrams

2

Click on the drop-down arrow in the Sort By: field and select the required sort parameter:

  • None - Elements are passed to the specified layout in the order in which they appear on the original diagram (left to right, top to bottom)
  • Area (Ascending) - Elements are passed to the specified layout in order of the screen space they occupy, smallest to largest
  • Area (Descending) - Elements are passed to the specified layout in order of the screen space they occupy, largest to smallest
  • Name (Ascending) - Elements are passed to the specified layout in alphanumeric order, based on the element name
  • Name (Descending) - Elements are passed to the specified layout in reverse alphanumeric order, based on the element name
  • Element Type - Elements are grouped by type (for example, Class, Use Case) and in alphanumeric order within the group by name

3

In the Padding (px) field, type the vertical and horizontal distance between cells, in pixels

4

Select the appropriate page distribution option:

  • Automatically distribute: Automatically calculate the optimum number of cells, taking into consideration the largest horizontal and vertical element edges
  • Specify distribution: Manually enter the per page grid dimensions

5

If you selected Specify Distribution, in the Rows and Columns fields type the required number of rows and columns

6

Select the Center Elements checkbox to place each element in the center of its cell; otherwise the element placement defaults to the top left corner of the cell

7

In the Start Page field, type the number from which to start page numbering; pages begin at the top left and continue horizontally to the right


Digraph Layout [Enterprise Architect User Guide]

Digraph Layout

The Digraph layout arranges the selected elements into a directed graph (digraph for short). The Digraph attempts to highlight the hierarchy of the elements while keeping the direction of all connectors pointing to the same edge of the diagram.

The Digraph layout provides the same behaviour as the Automatic Diagram layout.

Learn More:

  • Layout Diagrams
  • Lay out a Diagram Automatically


Spring Layout [Enterprise Architect User Guide]

Spring Layout

The Spring layout uses a force-directed approach to arrange the selected elements organically.

The Spring layout employs a physical analogy to lay out elements. Each element is treated as a particle with a like electrical charge that repels other elements. Connectors act as springs (hence the term Spring layout) that draw connected elements back together. The layout is good for highlighting clusters of related objects and identifying symmetry in the graph.

How to:

To invoke the Spring layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select Spring

Layout Diagrams

2

In the Iterations field, type the number of iterations, or rounds, to perform to reach the final layout

The layout is developed over several iterations; depending on the complexity of the graph, increasing the number of iterations produces a better result but takes longer to calculate

3

If the diagram contains elements that significantly vary in size, and that might overlap in the final layout, select the Scale to prevent overlap checkbox to scale up the positions of the selected elements (preserving size) until no elements overlap


Neaten Layout [Enterprise Architect User Guide]

Neaten Layout

The Neaten layout attempts to arrange the selected elements into a grid based on their horizontal and vertical proximity to each other. Elements that share the same row or column are aligned based on the Column and Row Snap parameters.

How to:

To invoke the Neaten layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select Neaten

Layout Diagrams

2

In the Threshold (px) field, type the height or width distance, in pixels, at which elements should be considered to be in the same row or column; a lower threshold value produces a tighter result, with only elements that are extremely similar - vertically or horizontally - considered to be in the same row or column

3

In the Column Snap field, click on the drop-down arrow and select the appropriate alignment for elements in the same column:

  • Left - elements are aligned with the left edge of the left-most element in the column
  • Center - elements are aligned with the vertical center of the center-most element in the column
  • Right - elements are aligned with the right edge of the right-most element in the column

4

In the Row Snap field, click on the drop-down arrow and select the appropriate alignment for elements in the same row:

  • Top - elements are aligned with the top edge of the highest element in the row
  • Center - elements are aligned with the horizontal center of the center-most element in the row
  • Bottom - elements are aligned with the bottom edge of the lowest element in the column


Converge/Diverge Layout [Enterprise Architect User Guide]

Converge/Diverge Layout

The Converge layout attracts the set of selected elements towards the center of their bounding rectangle. Conversely, the Diverge layout repels the set of selected elements away from the center of their bounding rectangle. The Converge/Diverge layout also tries to maintain connector angles if an element in the set contains a connector with waypoints.

How to:

To invoke the Converge/Diverge layout, follow the steps below:

Step

Action

See Also

1

Follow the general Layout Diagrams procedure, and at step 3 select Converge/Diverge

Layout Diagrams

2

For Direction, select the required layout:

  • Converge - attracts the set of selected elements to the center point
  • Diverge - repels the set of selected elements from the center point

3

The Amount (%) slider determines how far the elements are moved towards or away from the center point; the movement is the element's current distance from the center point multiplied by the percentage value set on the slider

In the Converge layout, the element moves towards the center point; in the Diverge layout the element moves further away from the center point

Set the slider to the required percentage


Fan Relations Layout [Enterprise Architect User Guide]

Fan Relations Layout

The Fan Relations layout arranges the immediate relations of an element around a specified edge. This layout requires a single element to be selected on the diagram, to be used as the context for the layout. fan

How to:

To invoke the Fan Relations layout, follow the steps below:

Step

Action

See Also

1

Open the Layout Tools window; either:

  • Select the View | Diagram Layout menu option, or
  • Right-click on the main toolbar and select the Layout Tools context menu option

Layout Diagrams

2

Select the single element around which to lay out related elements on the currently-active diagram

3

Click on the drop-down arrow on the top left button of the Layout Tools window, and select Fan Relations

4

Click on the drop-down arrow in the Sort By: field and select the required sort parameter

The options are:

  • None - Elements are passed to the specified layout in the order in which they appear on the original diagram (left to right, top to bottom)
  • Area (Ascending) - Elements are passed to the specified layout in order of the screen space they occupy, smallest to largest
  • Area (Descending) - Elements are passed to the specified layout in order of the screen space they occupy, largest to smallest
  • Name (Ascending) - Elements are passed to the specified layout in alphanumeric order, based on the element name
  • Name (Descending) - Elements are passed to the specified layout in reverse alphanumeric order, based on the element name
  • Element Type - Elements are grouped by type (for example, Class, Use Case) and in alphanumeric order within the group by name

5

In the Padding (px) field, type the separation required between the selected element and its related elements, in pixels

6

Select the connector direction to use in determining the related elements to lay out; either:

  • Incoming Nodes - to lay out related elements that have the selected element as the target
  • Outgoing Nodes - to lay out related elements that have the selected element as the source

7

In the Fan Edge field, click on the drop-down arrow and specify the edge of the selected element from which to lay out the related elements

  • Left - to arrange related elements to the left of the selected element
  • Right - to arrange related elements to the right of the selected element
  • Top - to arrange related elements from the top of the selected element
  • Bottom - to arrange related elements from the bottom of the selected element


Auto Route Layout [Enterprise Architect User Guide]

Auto Route Layout

The Auto Route layout orthogonally routes connectors between the selected elements. The layout attempts to find the shortest path between the two connected elements while minimizing crossings. In the following layout, the original connectors are shown in red.

How to:

To invoke the Autoroute layout, follow the steps below:

Step | Action | See Also
1 | Follow the general Layout Diagrams procedure, and at step 3 select Auto Route | Layout Diagrams
2 | When calculating connector routes, the algorithm divides the diagram into cells of a size determined by the Cell Size value; a smaller cell size results in connectors being placed closer together In this Cell Size (px) field, type the value in pixels |
3 | In the Element Margin field, type the preferred separation between connector segments and element borders, in pixels |


Lay Out a Diagram Automatically [Enterprise Architect User Guide]

Lay Out a Diagram Automatically

Enterprise Architect provides the facility to layout diagrams automatically. This creates a tree-based structure from the diagram elements and relationships in a diagram. Owing to the complexity of many diagrams, you might then have to do some manual 'tweaking'.

How to:

To layout a diagram, follow the steps below:

Step

Action

See Also

1

Select a diagram.

2

Click on either:

  • The Diagram | Layout Diagram option, or
  • The Auto Layout button on the diagram toolbar

Layout Diagrams

Notes:

  • This facility is available for Structural diagrams and Extended diagrams, but not for Behavioral diagrams (see the UML Diagrams topic for a description of the diagram types); however, the facility is also available for Sequence diagrams generated by the Enterprise Architect Debugger
  • Dynamic and Analysis diagrams are NOT suited to this form of layout - please ensure first that the diagram type you are laying out benefits from the action
  • If you dislike the autolayout, you can reverse it before saving the diagram; click ( Ctrl+Z )

For a fine degree of control of the elements in your diagram, you can use the Diagram Layout Options dialog. Generally the default layout parameters provide adequate layouts for a wide range of diagrams, but there are times when more specific settings are required.

How to:

To access the Diagram Layout Options dialog, follow the steps below:

Step

Action

See Also

1

Double-click on the background of the diagram

The Diagram Properties dialog displays

2

Click on the Diagram tab, then click on the Set Layout Style button

The Diagram Layout Options dialog displays

3

When you have made the required changes, click on the OK button to save the changes

You can alter any of the following settings on the Diagram Layout Options dialog to refine your layout:

  • Cycle Remove Options panel - these settings remove cycles in the element organization (where element X is the source of a path but also becomes the target of a branch of the path), by reversing the connectors that impose the cycling and then reorganizing the diagram and reinstating the reversed relationships; this identifies the primary source element in the diagram
  • Greedy - Select to use the Greedy Cycle Removal algorithm, which minimizes the number of connectors reversed
  • Depth First Search - Select to use the Depth First Search Cycle Removal algorithm, which establishes the longest linear sequence possible, before establishing parallel sequences and branches; this algorithm is less effective in large and/or complex diagrams, but produces a more natural layout than the Greedy algorithm
  • Crossing Reduction Options panel - these options determine how long the routine should look for ways of reorganizing the layout to avoid crossed relationships:
  • Iterations - Type the number of iterations to be used during cycle removal (more than 8 does not usually provide any improvement)
  • Aggressive - Select to use an aggressive (detailed and time-consuming) crossing reduction step
  • Layering Options panel - these settings determine how elements are organized in layers during layout:
  • Longest Path Sink - Select to use the Longest Path Sink Layering algorithm, where the final target elements (sinks, which have no relationships issuing from them) are arranged in a layer at the top of the diagram, and the relationship paths built downwards from there in as many layers as there are nodes in the longest path
  • Longest Path Source - Select to use the Longest Path Source Layering algorithm, where the original source elements (those with no relationships entering them) are arranged in a layer at the bottom of the diagram and the relationship paths built up from there in as many layers as there are nodes in the longest path
  • Optimal Link Length - Select to use the Optimal Link Length Layering algorithm, which organizes the elements into whichever layers minimize the total source-to-sink relationship chain; in this layout you can have both source elements and sink elements at various levels of the diagram
  • Layout Options panel:
  • Layer Spacing - Type the default number of logical units between layers of elements (vertical spacing)
  • Column Spacing - Type the default number of logical units between elements within a layer (horizontal spacing)
  • Direction panel:
  • Up, Down, Left, Right - Select the direction in which directed connectors should point, to set the position of the primary source element and the overall flow of the diagram
  • Initialize Options panel - the autolayout routine inserts line waypoints and connectors into relationship paths to help plot the direction of relationships; the routine then assigns an index number to every node, such that nodes in the same layer are numbered left to right

    The settings in this panel determine how those index numbers are assigned
  • Naive - Select to use the Naive Initialize Indices algorithm, which assigns index numbers to nodes as they are encountered in a sweep and tends to place all waypoints to the right of real nodes (and therefore long relationships between a small number of elements to the right of chains of short relationships between several elements)
  • Depth First Search Outward - Select to use the Depth First Out Initialize Indices algorithm, which assigns index numbers to nodes as they are encountered in a depth first search from source nodes outwards (and would therefore place longer relationship chains to the left of shorter chains, with the primary source node at the start of the diagram flow)
  • Depth First Search Inward - Select to use the Depth First In Initialize Indices algorithm, which also assigns index numbers to nodes as they are encountered in a depth first search, but from sink nodes inwards (and would therefore place longer relationship chains to the left of shorter chains, with the ultimate target node at the end of the diagram flow)
  • Set as Project Default checkbox - select this checkbox to apply the diagram layout settings to all diagrams in the project; if you later check this box and click on the OK button for a different diagram, the new settings override the settings saved earlier

The following is an example of an automatically laid out diagram, with the following options set:

  • Depth First Search
  • Optimal Link Length
  • Depth First Search Outward
  • Direction - Up

Learn More:

  • UML Diagrams


The Quick Linker [Enterprise Architect User Guide]

The Quick Linker

The Quick Linker provides a simple and fast way to create new elements and connectors on a diagram. When an element is selected in a diagram, the Quick Linker arrow is displayed at the upper right corner of the element, as shown below:

Topics:

Image

Topic

Detail

See also

Usage

Simply clicking and dragging the icon enables you to create new connectors and elements on a diagram, as explained in the following topics:

  • Create New Elements
  • Create Connectors

The connectors and elements suggested by the Quick Linker are the commonest objects appropriate to the context. You can select others from the Toolbox pages. Also, a Technology Developer can edit the lists of elements and connectors, and create new combinations.

Create New Elements

Create Connectors


Create New Elements [Enterprise Architect User Guide]

Create New Elements

Topics:

Topic

Detail

See also

Usage
  • Press and hold ( Shift ) while selecting the type of connector to select an existing classifier as the target.
  • For rapid modeling, you can suppress the Properties dialog when creating new elements. See the option Tools | Options | Objects | Edit Object on New.

The available Quick Linker options depend on the type of element selected. For example, the Quick Linker options for a Class (above) differ from those of an Actor (below). These are the most appropriate, commonly used elements and connectors for the source element; you can create other target elements and connectors by selecting them from the appropriate Toolbox page.


Create Connectors [Enterprise Architect User Guide]

Create Connectors

Topics:

Topic

Detail

See also

Usage

The list of connectors provides the most appropriate, commonly-used connectors for the source and target element types. If you want to use a different connector, select the appropriate Toolbox page, click on the required connector and then on the source element, and drag across to the target element.

The connector does not actually establish until you release the mouse button over the target element. However, a dotted line shows where the connector would be at any point, and the solid outline of the nearest element or extension changes to a hatched outline as you move the cursor onto it; this helps you identify where the connector should connector to, if there are many closely-arranged elements, Parts, Ports and other extensions.

You can also bend the connector, pressing ( Shift ) as you drag the cursor in a new direction.

You can create a Notelink to attach a Note or Constraint to a connector, simply by dragging the Quick Linker arrow on the Note to the connector.


Elements [Enterprise Architect User Guide]

Elements

Models are constructed from elements, each of which has its own meaning, rules and notation. Elements can be used at different stages of the design process for different purposes.

The properties and features of an element can be defined and displayed through a set of windows and dialogs.

Learn More:

  • Element Property Displays
  • Element Tasks
  • Element Context Menu
  • Visual Representation
  • In-place Editing Options


Element Tasks [Enterprise Architect User Guide]

Element Tasks

This topic describes the following common tasks that you can perform on elements in Enterprise Architect:

Topic | Link
Create Elements | Create Elements
Add Elements Directly to Packages | Add Elements Directly to Packages
Use Auto Naming and Auto Counters | Use Auto Naming and Auto Counters
Set Element Parent | Set Element Parent
Show Element Use | Show Element Use
Set Up Cross References | Set Up Cross References
Move Elements Between Packages | Move Elements Between Packages
Move Elements Within Diagrams | Move Elements Within Diagrams
Copy Elements Between Packages | Copy Elements Between Packages
Change Element Type | Change Element Type
Align Elements | Align Elements
Resize Elements | Resize Elements
Delete Elements | Delete Elements
Customize Visibility of Elements | Customize Visibility of Elements
Create Notes and Text | Create Notes and Text
Link Note to Internal Documentation | Link Note to Internal Documentation
Set an Element's Default Appearance | Set an Element's Default Appearance
Use Element Templates | Use Element Templates
Highlight Context Element | Highlight Context Element
Make Linked Element a Local Copy | Make Linked Element a Local Copy
Copy Features (Attributes and Operations) Between Elements | Copy Features (Attributes and Operations) Between Elements
Move Features Between Elements | Move Features Between Elements

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Update Element permission to update element properties or delete an element

Learn More:

  • Permissions List


Create Elements [Enterprise Architect User Guide]

Create Elements

Example:

Notes:

  • If you have defined a template element in the Templates package, Enterprise Architect applies the characteristics of that template to each new element you create of that type
  • If you are creating several elements of one type, after creating the first just press (Shift+F3) or (Ctrl) + click to create the next element of that type
  • Be aware that once you have created elements, you can re-use them by dragging them from the Project Browser and dropping them onto your diagrams
  • Sometimes it is useful to add elements to a package, without a diagrammatic representation; this can be accomplished via the Project Browser and is explained in the topic - Add Elements Directly to a Package

Learn More:

  • Create Elements In Place Using the Quick Linker
  • Create Elements Using the Toolbox
  • Create Elements Using the Diagram Context Menu
  • Create Elements From Text File
  • Create a Group of Elements Using UML Patterns
  • Create Domain Specific Elements from UML Profiles
  • Pasting from the Tree
  • Add Elements Directly to a Package
  • Set Element Templates Package
  • Behavioral Diagram Elements
  • Structural Diagram Elements


Add Elements Directly To Packages [Enterprise Architect User Guide]

Add Elements Directly To Packages

You can quickly add new elements to a package without the necessity of adding a diagram element at the same time. This is particularly useful in defining a group of Requirements, Changes, Issues, base Classes or other element types that might not require diagrammatic representation in the model.

How to:

To add a new element to a package, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, right-click on the appropriate package. The context menu displays. |
2 | Select the Add | Add Element menu option. The New Element dialog displays. |
3 | In the Name field, type the name of the element. |
4 | In the Type field, click on the drop-down arrow and select the element type. |
5 | If required, in the Stereotype field either type the stereotype name or click on the drop-down arrow and select the stereotype. |
6 | Select the Open Properties Dialog on Creation checkbox if the Properties dialog is to open immediately after the element is created. |
7 | Deselect the Close Dialog on OK checkbox to add multiple elements in one session. |
8 | Click on the OK button to create the element. |

Notes:

  • The drop-down list is populated from one of the Toolbox page groups (including profile, Add-In and MDG Technology groups). If the list does not represent the group containing the element you require, click on the Select Group button and, from the list, select the appropriate Toolbox page group. The drop-down list then shows the elements from that group
  • The <default> group in the list contains a basic set of elements drawn from across the UML Behavioral and Structural groups, and the Enterprise Architect Extended groups
  • If you have a diagram open, the Add to Current Diagram checkbox is available and defaulted to selected to add the new element to the diagram. If you do not want the element in that diagram, deselect the checkbox


Use Auto Naming and Auto Counters [Enterprise Architect User Guide]

Use Auto Naming and Auto Counters

The Auto Element Naming dialog enables you to configure automatic naming for any element type. Each element can have separately configured automatic names and aliases.

How to:

To set up auto naming, follow the steps below:

Step

Action

See Also

1

In the Name panel:

  • In the Prefix field, type a prefix for the new name (optional)
  • In Counter field, type the counter value; use as many 0's as required to pad the name
  • In the Suffix field, type a suffix for the new name (optional)
  • If required, click on the Active checkbox to turn auto naming on for this element type

2

In the Alias panel:

  • In the Prefix field, type a prefix for the new alias (optional)
  • In Counter field, type the counter value; use as many 0's as required to pad the alias
  • In the Suffix field, type a suffix for the new alias (optional)
  • If required, click on the Active checkbox to turn alias auto naming on for this element type

3

Click on the Save button.

New elements of this type now have an automatically-generated name and/or alias with an incrementing counter value.

If an Alias is active then auto naming applies; however, to view the Alias in a diagram requires that the option Use Alias if Available is selected in Diagram Properties.

Diagram Properties


Set Element Parent [Enterprise Architect User Guide]

Set Element Parent

You can manually set an element's parent or parents, or an interface it realizes (implements), using the Set Parents and Interfaces dialog.

How to:

To set an element parent, follow the steps below:

Step

Action

See Also

1

Select a generalizable element in a diagram.

2

Select the Element | Advanced | Set Parents and Interfaces menu option. Alternatively:

  • Press ( Ctrl+I ) or
  • Right-click and select the Advanced | Parent context menu option.

The Set Parents and Interfaces dialog displays.

3

You can elect to enter a parent or interface name by either manually typing it in, or clicking on the Choose button to locate the element within the current model.

4

Set the Type of relationship (Implements or Generalizes) from the drop-down list.

5

Click on the Add button to add the relationship to the Type Details list, and to the selected child element.

6

Repeat this process to add further parent elements, or click on the Delete Selected button to remove a selected relationship.

If the parent name is shown in the element on the diagram, you can select it and perform further operations, as follows:

Step

Action

See Also

1

Click on the element

2

Click on the parent name to highlight it

3

Right-click to display the context menu, which provides options enabling you to:

  • Redisplay the Set Parents and Interfaces dialog to, for example, delete the parent or add further parents
  • Display the parent element Properties dialog
  • Find the parent element in the Project Browser

Find the parent element in the diagram

If the parent element does not currently exist in the model, and is listed on the element in the diagram, you can highlight it and click on it to redisplay the Set Parents and Interfaces dialog to, for example, delete it or add further parents

Notes:

  • You can specify parent elements that exist in the model, or that you intend to create later. If the parent element does not currently exist in the model, select the Accept classifier even if not in model checkbox to ensure that the reference to a non-existent element is accepted
  • If Parents are not in the same diagram as their corresponding related element, the parentage is shown in the top right corner of the child element


Show Element Use [Enterprise Architect User Guide]

Show Element Use

You can display the use of an element using the Element Usage dialog. This lists all occurrences of the element throughout the model, and enables you to easily navigate to any occurrence.

How To:

To show element usage, follow the steps below:

Step

Action

See Also

1

Select an element in a diagram

2

Select the Element | Find in Diagrams menu option (or, for a Package element, the Find in all Diagrams option)

Alternatively, press ( Ctrl+U )

If the element exists in other diagrams, the Element Usage dialog displays, listing all occurrences of the current element in diagrams in the model

3

If you want to display the usage information in a more readable layout, you can resize the dialog and its columns

Either:

  • Double-click on a line item to open the relevant diagram and display the selected element (the Element Usage dialog remains open), or
  • Click on the Open button to display the selected diagram and close the Element Usage dialog

Notes:

  • You can also access this feature from the Project Browser; select an element in the tree and select the Element | Find in Diagrams menu option

    If there is only one instance of the element in any diagram, that diagram displays instead


Set Up Cross References [Enterprise Architect User Guide]

Set Up Cross References

It is possible to set up a cross reference (or Custom Reference) from one element in Enterprise Architect to another. You can also view existing cross references on an element, using the Context References tab on the element's Properties dialog, or the Traceability window.

How to:

To set up a cross reference, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, locate the target element or diagram (that is, the object of the cross reference). |
2 | Open a diagram that contains the elements that are to have the currently selected element as a reference. |
3 | Right-click on the element in the Project Browser. The context menu displays. |
4 | Select the Add custom reference menu option. |
5 | In the Set up references dialog, select the checkbox against each element to that is to have the target element as a reference. |
6 | Optionally, in the Comment field, type some text to describe the purpose of the reference. |
7 | Click on the OK button. |

To use the cross reference, follow the steps below:

Step | Action | See Also
1 | Select an element in a diagram. |
2 | Select the Element | Advanced | Custom References menu option Alternatively, either press (Ctrl+J) , or right-click on the element and select the Find | Custom References context menu option. |
3 | The Custom References dialog displays, showing a list of elements that have been set as cross references for the selected element. |
4 | You can open the Properties dialog for an element by highlighting it and clicking on the Open button. |
5 | If you have a diagram cross reference, you can open that diagram. |
6 | If you have a string of diagram links, click on the Home button to return to the original diagram. |

Notes:

  • You can delete a cross reference by selecting it on the Custom References dialog and clicking on the Delete button; cross references are also automatically deleted if the source or target element in the reference is deleted

Learn More:

  • Context References Tab
  • The Traceability Window


Move Elements Within Diagrams [Enterprise Architect User Guide]

Move Elements Within Diagrams

Any one of the following options enables you to move an element within a diagram.

Topics:

Image

Topic

Detail

See also

DragObject

Usage

Select an element or group of elements in the diagram view, then:

  • Use the mouse to drag the element to the required position (the cursor switches to the four-arrow icon as shown)
  • Hold down ( Shift ) and use the arrow keys to move the element by increments to the required position
  • Use the Left, Right, Up and Down options in the Element | Move submenu
  • Align multiple elements using the Element | Alignment submenu, the Alignment options in the right-click context menu, or the Alignment buttons on the Diagram toolbar.

ParentDashedBorder

Confirm Possible Parent Elements

As you organize the elements within a diagram, you can drag any element over another and, provided the dragged element is within and on top of the possible parent, it is always encapsulated by the lower element and moved within the lower element. However, the lower element might not be a valid parent.

You can confirm that a possible parent element is able to accept a selected child element. When you drag the child element over the potential parent, the target element border changes to a dashed line if it can accept the selected element as a child. If the border does not change, the selected element cannot be a child to the target element.

Notes:

  • The Support for Composite Objects checkbox must be selected on the Objects page of the Options dialog (select the Tools | Options | Objects option). If this option is not selected, the dashed border does not show and the child element cannot be embedded on the parent in the diagram
  • Both elements must already exist on the diagram; an element border does not change if you drag a potential child element over it from the Toolbox or Project Browser
  • The child element must have equal or higher Z-order placement than the parent; that is, the parent element must be level with or behind the child
  • The child element borders must be completely within the parent element borders
  • For example, if you drag a Signal over a Class, the Class border changes; a Class element can be a parent to a Signal. If you drag a Class element over a Signal element, the Signal border does not change. A Signal cannot be a parent to a Class
  • When you embed a child element on its parent, the child element becomes part of the parent element hierarchy in the Project Browser. Similarly, if you drag the child element out of the parent, the child element becomes independent and is no longer embedded in the parent element hierarchy

Learn More:

  • Objects
  • Diagram Context Menu


Move Elements Between Packages [Enterprise Architect User Guide]

Move Elements Between Packages

Elements and packages can be moved from one package to another by dragging and dropping the element to the target destination in the Project Browser. Note that if you move a package, ALL the child packages and their contents are moved to the new location also.

How To:

To move an element between packages, follow the steps below:

Step | Action | See Also
1 | Click on the element in the Project Browser. (See Customer in the diagram below.) |
2 | Drag the element so that the cursor is over the target package icon. The element symbol (and, in some operating systems, the element name) displays at the moving cursor position.) |
3 | Release the mouse button. The element is moved into the target package. |

Notes:

  • You can also drag the element under a host element in the new package; for example, drag an element under a Class
  • Moving an element has no effect on any relationships that the element might have
  • Moving an element in the Project Browser has no effect on the use of that element in any diagram
  • Moving a diagram generally does not affect the location of elements in packages. If you move a diagram out of one package into another, all the elements in the diagram remain in the original package. However, certain elements (such as Decision, Initial and Final elements) are used only within one diagram, have no meaning outside that diagram, and are never re-used in any other diagram. Therefore, if you move a diagram containing these elements, they are moved to the new parent package with the diagram
  • In a multi-user environment, if one person moves or updates the Project Browser structure, other users must reload their project to see the latest changes in the Project Browser. Although this is true of any addition or modification to the tree, it is most important when big changes are made, such as dragging a package to a different location

Learn More:

  • Refresh View of Shared Project


Copy Elements Between Packages [Enterprise Architect User Guide]

Copy Elements Between Packages

Enterprise Architect enables you to quickly and easily duplicate one or more elements, including their child elements and diagrams. You can insert a copy of an element under one or more other packages, in the same .eap file or any other .eap file.

Topics:

Topic

Detail

See also

Copying Elements

In the Project Browser, select each required element, right-click on one of them and select the Copy Element(s) to Clipboard context menu option (or click on a selected element and press ( Ctrl+C ) )

The Copy Element(s) to Clipboard dialog briefly displays until the copy operation completes

Pasting Elements

In the Project Browser, right-click on the package into which to paste the copied elements, and select the Paste Element(s) from Clipboard context menu option (or click on the package and press ( Ctrl+V ) )

The Paste Element(s) from Clipboard dialog briefly displays until the paste operation completes.

The target package is expanded and the pasted elements are exposed in the Project Browser. If you are pasting the elements within the same model as the copied source, the source parent package is also collapsed.

If the target package already contains:

  • an element of the same type with the same name as a pasted element, the pasted element name has the suffix - Copy
  • an element with the same name as the pasted element including the - Copy suffix, the suffix becomes - Copy1 (or - Copy 2, - Copy3 and so on, as copies of the element accumulate in the target package)

You can keep the same element names as the source, or you can rename each element either by clicking twice on it and editing the name in the Project Browser, or by double-clicking on it and editing the name in the Properties dialog

Notes:

  • A copy of an element does not have the external cross references of the source element; that is:
  • if one element is copied it has no connectors
  • if more than one element is copied, only the connectors between the copied elements are retained
  • however, if those elements come from a Sequence or Communication diagram and the diagram itself is not copied, the message connectors between the copied elements are not retained
  • You cannot paste an element into a package that is locked by another user or that is checked in. The Paste... option is grayed out in the context menu

Learn More:

  • Locking Packages
  • Checking In/Checking Out Packages


Change Element Type [Enterprise Architect User Guide]

Change Element Type

Access: Element | Advanced | Change Type

Select the new element type from the list and click on the OK button.

The target element is transformed into the required type.


Align Elements [Enterprise Architect User Guide]

Align Elements

To align multiple elements, follow the steps below

How To:

Step | Action | See Also
1 | Select a group of elements by drawing a selection box around them all (or select them one by one by holding down ( Ctrl ) and clicking on each element) |
2 | Right-click on the element in the group to align others to The context menu displays |
3 | Select the alignment function you require All selected elements are aligned to the one beneath the cursor |

Notes:

  • You can also use the Diagram toolbar; the first four buttons are used to align elements, and are made available when more than one element is selected in a diagram
  • You can also select the Element | Alignment menu option, to display one of the Position submenus

Learn More:

  • Diagram Toolbar
  • Position Submenus


Resize Elements [Enterprise Architect User Guide]

Resize Elements

Any one of the following options enables you to resize an element.

Topics:

Images

Topic

Detail

See also

ResizeElement

Resize handles

Select an element or group of elements in the diagram view, then:

  • Use the resize handles that appear at each corner and side to resize the element(s) by dragging with the mouse (the cursor switches to the double-ended arrow as shown in the image to the left)
  • Press and hold ( Ctrl ) and use the arrow keys to resize by increments as required
  • Use the Wider, Narrower, Taller and Shorter options in the Element | Move submenu
  • Autosize selected element(s) using the option in the Element | Appearance submenu, or by pressing
    ( Alt+Z ) . (With multiple elements selected, Autosize also appears in the right-click context menu)
  • Set multiple elements to the same height, width or both, using these options in the Element | Make Same submenu, or the options in the right-click context menu.

ResizeElementSelected

Resize a Set of Objects to a specific size

If you right-click a selected set of objects, you can resize them to the same dimensions (height, width or both) using the context menu. When you select multiple elements using ( Ctrl ) +click, then resize the dimensions, the dimensions of the selected hatched object are used to set the dimensions of the other selected objects.

For example, in the diagram below, the Message Class height and width are used to set the height and width of the Account and Message Folder Classes. The aim is to make the Account and Message Folder elements the same height and width as the Message element.

How To:

To resize a set of objects to a specific size, follow the steps below:

Step | Action | See Also
1 | Set one element to the required size (for example, Message as above) |
2 | Select all other elements (for example, Account and Message Folder as above) |
3 | Right-click on the pre-sized element (for example, Message) |
4 | Select your resizing option (such as same height, width) from the context menu |

Learn More:

  • Highlight Context Elements


Delete Elements [Enterprise Architect User Guide]

Delete Elements

How To:

To delete an element from a diagram, follow the steps below:

Step

Action

See Also

1

In the active diagram, click on the element to delete

2

Either:

  • Press ( Delete) or
  • Right-click to display the context menu and select the Delete <element name> option

This does not delete the element from the model, only from the current diagram

To delete an element from the model, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, right-click on the element to delete The context menu displays |
2 | Select the Delete <element name> option A confirmation prompt displays |
3 | Click on the Yes button |

Alternatively, click on the element in the Project Browser and press ( Ctrl+Delete ) . The element is completely removed from the model.

To delete multiple elements from a diagram, follow the steps below:

Step

Action

See Also

1

In the active diagram, ( Ctrl ) +click on each element to delete

2

Either:

  • Press ( Delete ), or
  • Right-click to display the context menu and select the Delete selected elements option

To delete multiple elements from a diagram and model, follow the steps below:

Step | Action | See Also
1 | Open the diagram containing the elements to remove from the model |
2 | Press ( Ctrl+A ) to select all of the elements in the diagram, or use ( Ctrl ) +click to select specific elements |
3 | Press ( Ctrl+Delete ) to completely remove the elements from the model |

To delete multiple elements from the Project Browser and model, follow the steps below:

Step

Action

See Also

1

In the Project Browser, press and hold either ( Shift ) or ( Ctrl ) and click on the required items

2

To completely remove the elements from the model, either:

  • Press ( Ctrl+Delete ), or
  • Right-click on the selected items and select the Delete selected item(s) context menu option

If you delete an element in this way, you delete all its properties and connectors as well


Customize Visibility of Elements [Enterprise Architect User Guide]

Customize Visibility of Elements

Some elements are hidden from view in packages and in RTF documents by default. These include Events, Decisions, Sequence elements and Associations. You have the option of turning these elements back on.

For example, some Events and Decisions contained in a package do not appear in the package view, as in the example below.

How To:

Images | Step | Action | See Also
CustomVisibility2 | 1 | Select the Tools | Options | Objects menu option The Objects page of the Options dialog displays |
 | 2 | Click on the Advanced button The Advanced Settings dialog displays |
 | 3 | Select the checkbox for each type of element to show in packages and in RTF documents |
 | 4 | Click on the Close button on each dialog |
 | 5 | Reload the current diagram if required The package from the example shows the Event and Decision elements it now contains (see left image) | Refreshing the view of a shared project


Create Notes and Text [Enterprise Architect User Guide]

Create Notes and Text

You can create both notes and text on a diagram; the two are slightly different.

How To:

To create a Note, follow the steps below:

Step

Action

See Also

1

Drag the Note icon from the Common page of the Toolbox onto the diagram.

  • If you have the Edit Object On New checkbox deselected on the Objects page of the Options dialog, the Note element displays on your diagram; type your note text directly within the Note element
  • If you have the checkbox selected, the Notes window displays; type your text in that window

    If you want to display the Notes information in a more readable layout, you can resize the dialog

    You can format the text if necessary, using the Notes toolbar at the top of the window. When you have completed the text, click on the OK button to save it

Objects

Notes

Notes Toolbar

To create a Text element, follow the steps below:

Step | Action | See Also
1 | Drag the Text Element icon from the Common page of the Toolbox onto the diagram The Notes window displays | Notes
2 | Type your text in the window If you want to display the Notes information in more readable layout, you can resize the dialog You can format the text if necessary, using the Notes toolbar at the top of the window; when you have completed the text, click on the OK button to save it | Notes Toolbar

Notes:

  • You can also create a note by clicking on the New Note icon (the text page) on the UML Elements toolbar and clicking on the diagram

Learn More:

  • UML Elements Toolbar


Link Note to Internal Documentation [Enterprise Architect User Guide]

Link Note to Internal Documentation

It is possible to connect a Note element to another element's internal documentation. This enables you to externalize model documentation to the diagram level, and as Enterprise Architect keeps the note and the internal structure in synch, you do not have to worry about updating the note contents; this is done automatically.

In the example below, two notes are connected into an element's internal structures. One is connected to an attribute, and displays the attribute name and notes. The other is connected to a constraint, showing the constraint name and documentation.

How To:

To connect a Note element to another element's documentation, follow the steps below:

Step | Action | See Also
1 | Click on the element and then click on the feature to link the Note to |
2 | Select the Element | Inline Features | Create Linked Note context menu option. This creates a Note element linked to the selected feature, reflecting the content of that feature |

Alternatively:

Step | Action | See Also
1 | Insert the target element into a diagram |
2 | Drag the Note icon from the Common page of the Toolbox onto the diagram, next to the target element The Notes dialog displays |
3 | Do not type any text, just click on the OK button |
4 | Click on the Note Link icon from the Common page of the Toolbox |
5 | Click on the Note, and drag across to the target element to create the connector |
6 | Right-click on the Note Link to display the context menu |
7 | Select the Link this Note to an Element Feature menu option The Link note to element feature dialog displays |
8 | In the Feature Type field, click on the drop-down arrow and select the type of feature to link to |
9 | In the Feature list, click on the specific feature to link to |
10 | Click on the OK button The note now automatically derives its contents from the target element |


Set an Element's Default Appearance [Enterprise Architect User Guide]

Set an Element's Default Appearance

To override the global appearance and define a default appearance for a specific element on all diagrams on which it is found, you use the Default Appearance dialog.

Access: Double-click element | Appearance | Default Appearance

Use to:

  • Alter the background, border and font colors
  • Change font styles, including font face and size
  • Alter the border width for an element

Reference:

Field | Usage | See also
Background Color | Set the color of the background for an element |
Border Color | Set the color of the border for an element |
Border Width | Set the width of the border surrounding an element, the minimum setting being 1, the maximum setting being 5 |
Font Style (...) | Set the typeface of element text The current font typeface is displayed within the text field; click on the (...) button The Font dialog displays, which enables you to select a different typeface, style, (such as bold/italic) and font size You can also select from a limited number of font colors and effects on this dialog | Font Dialog
Font Color | Set the font color of the element text |
Reset to defaults | Reset all appearance settings to default values |
Preview | Review a representation of the colors, border width and font styles, which updates as you choose the new settings |

Notes:

  • You can adjust several elements at the same time; select all of the required elements, right-click on one of them and select the Default Appearance context menu option, or use the Format toolbar
  • If the Show Project Custom Colors in Color Combo Boxes checkbox is selected on the Options dialog, Standard Colors page, the last 16 color squares in the color selection palettes contain the project colors set on that dialog
  • The Font Color field affects only the element name text; it does not override the feature text colors as defined on the Options dialog, Standard Colors page
  • When it has been called directly on one or more selected elements (Appearance | Set Font), the Font dialog overrides the Default Appearance dialog
  • When called from the Default Appearance dialog, the Color field on the Font dialog is overridden by the Font Color field on the Default Appearance dialog
  • The Font and Style fields affect all text except for the Note compartment text
  • The Size field affects all text

Learn More:

  • Standard Colors
  • Diagram Appearance
  • Format Toolbar


Get/Set Project Custom Colors [Enterprise Architect User Guide]

Get/Set Project Custom Colors

If more than one person is working on a project, you might want to share a set of custom colors with other team members, and possibly the whole project.

Access: Settings | Colors | Set Project Custom Colors
Settings | Colors | Get Project Custom Colors

Use to:

  • Capture the project colors you have defined, in the project file, or
  • Retrieve a set of colors someone else has defined, from the project file

How To:

To set your project's custom colors in the project file, follow the steps below:

Step | Action | See Also
1 | Define the project colors on the Standard Colors page of the Options dialog | Standard Colors
2 | Select the Set Project Custom Colors option The following message displays: Project Custom Colors export successful. 16 custom colors saved to the project file. |
3 | Click on the OK button |

To get your project's custom colors from the project file, follow the steps below:

Step | Action | See Also
1 | Select the Get Project Custom Colors option The following message displays: Project Custom Colors import successful. 16 custom colors imported from the project file. |
2 | The colors are now made available in the color pallet of the Default Appearance dialog | Set an Element's Default Appearance


Set Element Templates Package [Enterprise Architect User Guide]

Set Element Templates Package

Topics:

Topic

Detail

See also

Overview

In building up a model, you might want to represent or emphasize certain characteristics of elements in the appearance of those elements, or select particular display options as standard

For example, you could make new Interface elements a different default color to new Class elements, ensure all new Activity Partitions are vertical rather than horizontal, or set a specific group of display options for new diagrams; you could also define a set of characteristics to use for each development stage of a project

To do all this, you create a diagram with all the characteristics you require, and store the diagram in an element Templates package; Enterprise Architect then checks this package:

  • Whenever you start to create an element in a diagram or
  • Whenever you create a new diagram

If it finds a template for that diagram type, Enterprise Architect applies the settings in that template to the new element or to the display options of the diagram; for example, you could save a diagram under the name ClassTemplate, to apply a set of display characteristics to all new Class elements and all new Class or Logical diagrams

You should create the Templates package in an administrative View of the project file rather than in any work area, to prevent the package from being changed or lost in any project development work

Modifying the appearance of elements

There are two other ways in which you can modify the appearance of elements in diagrams:

  • You can define the default appearance of elements (and other structures) grouped in a diagram by using UML Profiles; these provide a means of extending the UML Language, which enables you to build UML models in particular domains

    Profiles are based on additional stereotypes and Tagged Values that are applied to elements, attributes, methods, connectors and connector ends
  • You can modify the appearance of elements (and connectors) of a specific type using stereotypes, which take precedence over templates; if you drop an unstereotyped element - a Class, for example - onto a diagram, Enterprise Architect searches the Templates package for a Class diagram that defines an unstereotyped Class, and applies that definition to the new Class

    If you drop a stereotyped Class onto a diagram, the stereotype defines the Class appearance so the template is not accessed; stereotypes are much more flexible for defining the appearance of an element under different scenarios

UML Profiles

UML Stereotypes

How To:

To set up the element Templates package, follow the steps below:

Image

Step

Action

See Also

ElementTemplateBrowse

1

Create a new package in the appropriate administration View

You can give this package any name; Templates is an unambiguous option

2

Within the Templates package create new diagrams, one for each type of diagram to template

Give them easily recognized names; for example ClassTemplate for the template for Class diagrams

3

Add new elements to the template diagrams from the Toolbox, and configure the size, appearance, notes, version and other properties

4

Select the Settings | Project Template Package menu option to set the templates as the default element templates

The Browse Project window displays

5

Locate and click on the Templates package, and click on the OK button to set the package as the default element template

Now each new element or diagram you add to your project is created with the settings from the appropriate Template diagram

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Reference Data - Update permission to set up or access the element Templates package
  • If you decide not to use the default element template, set the default element template to <none> in the Browse Project window; the <none> package is at the bottom of the hierarchy shown in the Browse Project window


Highlight Context Element [Enterprise Architect User Guide]

Highlight Context Element

You can show a hatched border around a selected element by selecting the Always Highlight Context Element checkbox on the Diagram Behavior page of the Options dialog. If you have selected this checkbox, the selected element displays similarly to the following example:

If you have not selected the Always Highlight Context Element checkbox, the selected element does not have a hatched border around it.

Topics:

Images

Topic

Detail

See also

HighlightContextElement-Alignment

Multiple Selections

Whether you have selected the Always Highlight Context Element checkbox or not, if you select multiple elements one of the elements you select always has a hatched border

If you align the elements, this element is the one used to align the other elements against

For example, if the elements in the diagram are aligned, the top element aligns to the bottom element (the element showing a hatched border)

Change the Element to Align Against

To change which element has a hatched border in a selected group (and thus the element that is aligned with) click on the element that the other elements are to align with


Make Linked Element a Local Copy [Enterprise Architect User Guide]

Make Linked Element a Local Copy

How To:

To convert a linked element to a local copy, follow the steps below:

Step | Action | See Also
1 | Open the diagram with the linked element |
2 | Select the linked element and right-click on it to display its context menu |
3 | Select the Convert Linked Element to Local Copy menu option The element changes to a local copy and is placed in the appropriate package |


Copy Features Between Elements [Enterprise Architect User Guide]

Copy Features Between Elements

Using drag and drop, you can copy attributes and/or operations from an element in the Project Browser on to another element in a diagram.

How To:

To copy an element feature, follow the steps below:

Images | Step | Action | See Also
CopyElemFeat | 1 | Open a diagram that contains the target element (in the example to the left, the AccountItem Class is the target and Customer element is the donor) |
 | 2 | Click on the attribute or operation and drag it to the target element |
 | 3 | Release the mouse button |

The image below shows AccountItem after the attribute Account has been dropped from the browser on to it.

To copy multiple element features, follow the steps below:

Images | Step | Action | See Also
CopyElemFeat2 | 1 | Open a diagram that contains the target element (in the example above, the AccountItem Class is the target and Customer element is the donor) |
 | 2 | Hold down ( Ctrl ) (separate features) or ( Shift ) (select a range) and click on the attributes and/or operations to copy, then drag the selected features to the target element |
 | 3 | Release the mouse button |

Learn More:

  • Attributes
  • Operations
  • Move Features Between Elements


Move Features Between Elements [Enterprise Architect User Guide]

Move Features Between Elements

Using drag and drop, you can move attributes and/or operations from an element in the Project Browser on to another element within the Project Browser.

How To:

To move element features, follow the steps below:

Images

Step

Action

See Also

AttribMulti

1

In the Project Browser, locate the attributes and/or operations to move from the target element and select them while holding down:

  • ( Ctrl ) (single item select) or
  • ( Shift ) (multiple item select)

AttribMove

2

Holding down the mouse button, drag the attributes and/or operations to the target element

A single feature symbol (and, under some operating systems, the feature name) displays during the move; however all of the selected features are moved

FinalMoveMultiAttrib

3

Release the mouse button

The image to the left shows the final stage of the attribute and operations move between the Class element and the Account element

Learn More:

  • Attributes
  • Operations
  • Copy Features Between Elements


Composite Elements [Enterprise Architect User Guide]

Composite Elements

Enterprise Architect supports Composite elements for Classes, Objects and Use Cases. A Composite element is a pointer to a child diagram.

How To:

Images | Step | Action | See Also
 | 1 | Create the element to set as a Composite element |
CompositeObject | 2 | Right-click on the element in the diagram and select the Advanced | Make Composite context menu option The element displays (see Image on left) Note the small icon in the bottom right hand corner indicating that this is now a Composite element |
CompositeObject-ProjectBrowser | 3 | Double-click on the Composite element to access the child diagram that it points to The Composite element and its child diagram are represented in the Project Browser as shown Note that ClassX, ClassY and ClassZ are elements in the child diagram |

Topics:

Topic

Detail

See also

Alternative Notation

Composite elements can show their contents instead of their usual notation

To enable this:

  1. Right-click on the element to open the context menu
  2. Select the Advanced | Show Composite Diagram option

The Automation Interface

Automation support is available for Composite elements

Element has an Elements collection and a Diagrams collection

Using the Automation Interface

Notes:

  • If the Make Composite option is not listed in the context menu, the option is not available for the type of element you have selected


Element Context Menu [Enterprise Architect User Guide]

Element Context Menu

Right-click on a single element in a diagram to open the element context menu. If two or more elements are selected, a different, multiple selection context menu is displayed.

The element context menu is split into a number of sections and sub-menus:

  • Properties
  • Add
  • Find
  • Transform ( Ctrl+H ) - Transform the selected element from one domain to another
  • Embedded Elements
  • Features
  • Generate DDL - Generate DDL for a table, procedure or view Class
  • Code Engineering
  • Appearance
  • UML Help - display the Enterprise Architect Help topic for the UML element type
  • Delete ( Ctrl+D ) - delete the element

Notes:

  • Context menus vary between element types; for example, the Code Engineering options won't display for a Use Case element

Learn More:

  • Properties
  • Add Sub-menu
  • Find Sub-menu
  • Transform Elements
  • Embedded Elements
  • Features Menu
  • Generate DDL
  • Code Engineering Menu
  • Appearance Menu
  • Multiple Selection Context Menu


Properties Menu Section [Enterprise Architect User Guide]

Properties Menu Section

The Properties section of the element context menu can contain the following options:

Action | Usage | Shortcut | See also
Properties | Open the Properties dialog for the selected element For State Lifeline and Value Lifeline elements, display the Configure Timeline dialog | Ctrl + Enter | Properties dialog
Advanced | Open the Advanced sub-menu |  | Advanced Submenu
Rule Composer | For a Rule Task element, invoke the Rule Composer tab in Business Rule Modeling |  | Compose Business Rules
Other Properties | For State Lifeline and Value Lifeline elements, display the Properties dialog for the selected element |  | Properties dialog
Create (or Edit) Linked Document | (Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions) Create an RTF document linked to the element | Ctrl + Alt + D | Link Document to UML Element
Delete Linked Document | Delete an existing linked document for the element |  |


Advanced Submenu [Enterprise Architect User Guide]

Advanced Submenu

The Advanced submenu on an element context menu can contain the options listed in the table below.

Action | Usage | Shortcut | See also
Parent | Set the element parent | Ctrl + I | Set Element Parent
Instance Classifier | Set the instance classifier for the element, on the Select <Item> dialog | Ctrl + L | Select <Item> Dialog
Classifier Properties | Open the Properties dialog for the classifier of the selected element | Ctrl + Alt + Enter | Properties Dialog
Make Composite | Set the element as a Composite element |  | Composite Elements
Change to State (Value) Lifeline | Switch one type of Lifeline element to the other |  |
Show Composite Diagram | Display a mini-picture of the contents of a composite element within that element |  |
Multiplicity | Define the multiplicity for the element, using the format defined on the Cardinality tab This is the number of instances of the element that can exist in a set; the value displays on the element in a diagram, in the Name compartment |  | Cardinality
Show Element Type | (Ports and Parts only) Toggles between displaying and hiding the element type, as set on the Property page of the element's Properties dialog |  | Part Port The Property Page
Edit Extension Points | For an extended Use Case, display the Use Case Extension Points dialog, which you use to insert the point at which the behavior should be inserted |  | Use Case Extension Points
Association Class | Connect the Class to a new Association (if the element is a Class) |  | Connect New Class to Association
Use Rectangle (Circle) Notation | Use rectangle notation for the element |  | Rectangle Notation
Partition Activity | Define an Activity Partition |  | Activity Partition
Set Run State | Add a new instance variable to the element using the Define Run State dialog |  | Define A Run-Time Variable
Set Property Value | (Part elements) Set the property value for the Part, using the Set Property Values dialog |  |
Override Attribute Initializers | Pre-define initial values for attributes that can be used to override existing defaults | Ctrl + Shift + R |
Convert to Instance (Property) | Convert this classifier to an instance or a property, depending on the type of classifier selected (for example, SysML classifiers are always converted to properties) |  |
Convert Linked Element To Local Copy | Convert the occurrence of the element on this diagram from a link to the original element to a local copy of the element |  |
Make Sender/Receiver | Toggle the element from a sender to a receiver and vice versa |  |
Accept Time Event | Change the notation for an Accept Event action to an Accept Time Event action |  |
Set Object State | Set the state of an object/instance based on the child states of its classifier | Ctrl + Shift + S | Object State
Define Concurrent Substates | Define a set of substates that can be held simultaneously within that composite State |  | Regions
Use State Label Notation | Display State Label Notation for a State object (the element name is displayed on a box on top of the element rather than inside it) |  |
Deep History | Change the type of a shallow History pseudo-state to a deep History Applies only when right-clicking on a History pseudo-state. |  | History
Set Attached Links | Attach the selected Note element to a connector, or several connectors |  | Add A Note to A Connector
Link to Diagram Note | Display the diagram notes as the Note element text The option simply deletes any current text and blocks the Note from being edited other than through the Notes field in the diagram Properties dialog |  |

Notes:

  • Context menus vary between element types. Not all menu options shown here are present on all element context menus; for example, the Partition Activity option only displays for an Activity element
  • If an element appearance is overridden by a Shape Script, several of the appearance options are disabled; for example, Use Rectangle (Circle) Notation

Learn More:

  • Shape Scripts


Add Submenu [Enterprise Architect User Guide]

Add Submenu

The Add submenu enables you to add supporting elements and diagrams to the selected element.

Menu Option | Action | Shortcut | See Also
Tagged Value | Add a Tagged Value |  | Quick Add - Tagged Value To Elements
Related Elements | Open the Insert Related Elements dialog |  | Insert Related Elements
Note | Create and attach a blank Note element to the current element |  | Create Notes and Text
Constraint | Create and attach a blank Constraint element to the current element |  | Note
Activity | Add an Activity element as a child of the current Classifier element, with either an Activity diagram or an Interaction Overview diagram. |  | Activity Object Classifiers
Interaction | Add an Interaction element as a child of the current Classifier element, with either a Sequence diagram, a Communication diagram or a Timing diagram |  | Interaction
State Machine | Add a State Machine element as a child of the current Classifier element, with a State Machine diagram |  | State Machine
RuleFlow activity | For a Class element, create a Rule Flow Activity element with a child Rule Flow diagram, as a behavior for the Class |  | Create a Rule Flow Model
Add Diagram | Add a child diagram to the Classifier element, using the New Diagram dialog |  | Add New Diagrams

Notes:

  • Context menus vary between element types, so not all menu options shown here are present on all element context menus; for example, the options relating to Classifiers are not available for Object elements


Insert Related Elements [Enterprise Architect User Guide]

Insert Related Elements

The Insert Related Elements dialog can be accessed from the Add | Related Elements option on most element context menus. This dialog enables you to insert connected elements from elsewhere in the model into the current diagram.

You can specify the following details:

Field

Usage

See also

Insert elements to: «x» levels

Select the level down to which to insert connected elements, between levels 1 and 5

You can select levels 4 or 5 to see how far the element/relationship hierarchy extends, but as this can produce a complicated and tangled diagram, it is better to use level 1 or 2 on selected elements in turn

For Link Type

Select a type of connector to limit the inserted elements to those connected by that relationship type

With Link Direction

Select whether the connectors are to be a single direction or bi-directional

Limit to Element Type

Select a type of element to limit the inserted elements to those of that element type

Layout Diagram When Complete

Select whether Enterprise Architect should layout the diagram after the elements have been inserted; the layout applied is the Digraph layout

If no elements have been added, this option has no effect; elements have to be added for Enterprise Architect to adjust the layout

Digraph Layout

Limit to this Namespace

Select a specific namespace from which the inserted elements are to come


Find Submenu [Enterprise Architect User Guide]

Find Submenu

The Find submenu on the element context menu can contain the following options:

Action | Usage | Shortcut | See also
In Project Browser | Highlight the currently selected element in the Project Browser | Alt + G |
Locate Classifier In Project Browser | Highlight the classifier for the currently-selected object, in the Project Browser | Ctrl + Alt + G |
Locate Operation in Project Browser | Highlight the call operation for the currently-selected Activity, in the Project Browser | Ctrl + Alt + G | Class Operations in Activity Diagrams
In Diagrams | Open the Element Usage dialog | Ctrl + U | Show Element Use
Custom References | Set up cross references | Ctrl + J | Set Up Cross References
Add to Favorites | Add the element to the Favorites folder in the Resources window |  | Favorites


Embedded Elements Submenu [Enterprise Architect User Guide]

Embedded Elements Submenu

The Embedded Elements submenu on the element context menu can contain the following options:

Menu Option | Action | Shortcut | See also
Add Port | Add an embedded Port to the element |  |
Add Required Interface | Add an embedded Required Interface to the element |  |
Add Provided Interface | Add an embedded Provided Interface to the element |  |
Add Action Pin | Add an embedded Action Pin to the element |  |
Add Expansion Node | Add an embedded Expansion Node to the element |  |
Add Object Node | Add an embedded Object Node to the element |  |
Add Activity Parameter | Add an embedded Activity Parameter to the element |  |
Add Entry Point | Add an embedded Entry Point to the element |  |
Add Exit Point | Add an embedded Exit Point to the element |  |
Embedded Elements | Open the Embedded Elements window |  | Embedded Elements Window
Show Realized Interfaces | Display each interface directly realized by a Class |  | Show Realized interfaces of Class
Show Dependent Interfaces | Display each dependency relationship for that model element as a lollipop style node attached to its left-hand side |  |

Notes:

  • Context menus vary slightly between element types, and not all menu options shown here are present on all element context menus; for example, of the Add options, only Add Port displays for a Class element


Embedded Elements Window [Enterprise Architect User Guide]

Embedded Elements Window

The Embedded Elements dialog enables you to embed particular elements into other elements. For example, a Port can be embedded into a Class. The Embedded Elements option is available on the context menu of some elements.

Topics:

Image | Topic | Detail | See also
EmbeddedElement | Usage | In the Embedded Elements dialog, click on the New button to create a new embedded element Enter details such as type, name and stereotype, and click on the OK button The embedded element now shows on the primary element as shown You can add as many embedded elements as necessary; modify or delete embedded elements using the Embedded Elements dialog To incorporate inherited or owner properties, select the Show Owned/Inherited checkbox The name of the embedded element is a label, which you can edit using the Labels context menu | Label Menu Section


Features Menu Section [Enterprise Architect User Guide]

Features Menu Section

The Features section of the element context menu can contain the following options:

Action | Usage | Shortcut | See also
Attributes | Open the Attributes dialog |  | Attributes
Operations | Open the Operations dialog |  | Operations Dialog - General
Feature Visibility | Open the Feature Visibility dialog | Ctrl + Shift + Y | Feature Visibility

Notes:

  • Context menus vary slightly between element types, and not all menu options shown here are present on all element context menus; for example, the Attributes and Operations options won't display for an Action element


Code Engineering Menu Section [Enterprise Architect User Guide]

Code Engineering Menu Section

The Code Engineering submenu on the element context menu can contain the following options:

Action | Usage | Shortcut | See also
Generate Code | Generate source code for the selected element (forward engineer) | F11 | Generate a Single Class
Synchronize With Code | Reverse engineer source code for the selected element | F7 | Importing Source Code
View Source Code | Open the source editor if a file exists for that selected element | F12 | The Source Code Viewer
Create Workbench Instance | Create a workbench instance for the Debug Workbench (if a debug command has been configured for the parent package) | Ctrl + Shift + J | Create Workbench Variables

Notes:

  • Context menus vary slightly between element types, and not all menu options shown here are present on all element context menus; for example, Code Engineering options won't appear for a Use Case element


Appearance Menu Section [Enterprise Architect User Guide]

Appearance Menu Section

The Appearance section of the element context menu can contain the following options:

Reference:

Menu Option

Action

Shortcut

See also

Lock Element

Lock the element so it can't be edited; to unlock the element, select Lock Element again

This does not apply in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions when security is enabled; in that situation, use the Lock option for model elements

Lock model elements

Selectable

Toggle whether the element is selectable or not

  • If an element is selectable, you can move it around the diagram and perform right-click context menu operations
  • If an element is unselectable, you cannot move it around the diagram and the only right-click operation available is to make the element selectable

This option has no effect on double-click operations on the element, such as displaying child diagrams or Properties dialogs

An element on a locked diagram is also unselectable - if you click on it, the element outline displays in red

In a diagram, you can filter the display to show selectable or non-selectable elements only

Diagram Filters

Dockable

Align and join two elements either vertically or horizontally, on the current diagram only

Both elements must have the Dockable option selected, and must have the joining edges parallel

As the distance between the elements narrows, the moving element snaps to the edge of the other element

For Activity Partitions, the option is selected by default.

Deselecting the Dockable option does not separate the elements; if necessary, you can simply move the elements apart again

Partition

Appearance

Display the Appearance submenu; see the table below

Z-Order

Set the Z-Order of the element

Z-Order Elements

Appearance Sub-Menu

Action | Usage | Shortcut | See also
Default Appearance | Override the global default appearance of all elements (which you set on the Options dialog, Standard Colors page and Diagram Appearance page) with a different default for just the selected element on all diagrams in which it is found To change the appearance of the selected element on the current diagram only, use the Format toolbar | F4 | Standard Colors Appearance Set an Element's Default Appearance Format toolbar
Apply Image From Clipboard | Paste the image held on the clipboard onto the selected element |  |
Select Alternate Image | Select an alternative image using the Image Manager | Ctrl + Shift + W | Using the Image Manager
Hide/Show Name Under Image | Hide or redisplay the name label under an element with an alternative image |  |
Set Font | Change the font type, size, color and effects for the text in an element |  | Set Element Font
Show Labels | Reveal any hidden labels on the element |  |
Copy Appearance to Painter | Copy the default element appearance (set using the Default Appearance option, above) to the painter You then paste the default appearance using the Paste Appearance option on the Diagram toolbar |  | Diagram toolbar
Copy Image to Clipboard | Copy the element image to the clipboard |  |

Notes:

  • You can also change the appearance (and other aspects) of several selected elements at once
  • Context menus vary slightly between element types, and not all menu options shown here are present on all element context menus; for example, the Alternate Image option won't display for a Lifeline element

Learn More:

  • Element Multiple Selection Menu


Set Element Font [Enterprise Architect User Guide]

Set Element Font

Topics:

Topic

Detail

See also

Usage

You can change the appearance of the text within an element, for one or more selected elements

  • Selecting the Appearance | Set Font context menu option
  • Selecting the Font icon on the Format toolbar, or
  • Selecting the Font Style option on the element Default Appearance dialog (for the selected element, overridden by the two options above).

The Font dialog displays

Select the font, style, size, color and effects, and (if necessary) the script type. Click on the OK button to save your changes

Format Toolbar

Default Appearance


Element Multiple Selection Menu [Enterprise Architect User Guide]

Element Multiple Selection Menu

You can perform operations on two or more elements on a diagram at once. To select the required elements, either click and drag the cursor over the group to highlight them, or press ( Shift ) and click on each element.

Topics:

Topic

Detail

See also

Usage

Right-click on an element to display a context menu that enables you to:

  • Align elements (by left edge, right edge, top, bottom, center in a column or center in a row)
  • Space elements evenly (across or down)
  • Standardize the dimensions of the selected elements
  • Specify the visibility of features for all selected elements
  • Add the same Tagged Value to all selected elements
  • Automatically resize elements to match (element content permitting)
  • Turn the Dockable option on or off for all selected elements on a diagram
  • Set the default appearance and font for multiple elements at once
  • Make the selected elements on the diagram non-selectable; to make them selectable again, right-click on the diagram and select the Make All Elements Selectable context menu option
  • Generate code for all selected elements at once, or synchronize the code against the selected elements
  • Transform the selected elements
  • Copy all selected elements to the clipboard
  • Automatically adjust the layout of the selected elements on the diagram
  • Delete all selected elements

Feature Visibility

Assign a Tagged Value to an Item

Appearance Menu Section

Set an Element's Default Appearance

Set Element Font

Transform Elements

Notes:

  • Where elements are made the same, they are matched to the element you right-clicked on
  • It is much faster to assign an appearance or characteristic to a group of elements than to one element at a time


Visual Representation [Enterprise Architect User Guide]

Visual Representation

Each UML element has a default representation. However, you can:

  • Change the appearance, features, position and - for some elements - orientation through a number of toolbars
  • Display or hide various types of information held in the element, in compartments

Learn more:

  • Element Icons
  • Compartments


Element Icons [Enterprise Architect User Guide]

Element Icons

When you add an element to a diagram, or select an existing element, a number of small icons display off the right hand side of the element, underneath the Quicklinker arrow. For example:

ElementIcons or elementicons2

These icons display small versions of the diagram toolbars or perform specific actions, to enable you to quickly edit the element you have highlighted.

Reference:

Icon | Description | See Also
swirl | Rotates a Fork/Join element from vertical to horizontal and vice-versa |
paint | Displays the Format toolbar, for changing element appearance | Format Toolbar
spy | Displays the Current Element toolbar, to edit the element's properties and features | Current Element Toolbar
Multipick | When multiple elements are selected, displays the Diagram Toolbar for changing or aligning the elements together | Diagram Toolbar
Particon | Toggles an Activity Partition between vertical and horizontal | Activity Partition


Compartments [Enterprise Architect User Guide]

Compartments

In addition to the attributes and operations compartments shown in a Class element, Enterprise Architect enables you to display or hide other compartments.

Topics:

Images

Topic

Detail

See also

  • Or, fully qualified, expanded format:

Tags Compartment

The tags compartment lists all Tagged Values for an element as entered in the Tagged Values window

The fully-qualified option operates only on those Tagged Values that were created in Enterprise Architect release 7.1 or later; it does not expand Tagged Values created in earlier releases

Tagged Values

Responsibilities

Responsibilities Compartment

The responsibilities compartment shows a list of responsibilities as entered on the Requirements page of the element Properties dialog

Requirements

Constraints

Constraints Compartment

The constraints compartment shows a list of element constraints as entered in the Constraints page of the element Properties dialog

Constraints

Testing Compartment

The testing compartment lists all of the tests associated with an element as listed in the Testing window

The Testing Workspace

Maintenance Compartment

The maintenance compartment lists all of the defects, changes, issues and tasks associated with an element, as listed in the Maintenance window

The Maintenance Workspace

Notes:

  • To set the visibility of the various compartments, see Feature Visibility

Learn More:

  • Feature Visibility


Element Property Displays [Enterprise Architect User Guide]

Element Property Displays

To define, assign and review the properties and features of elements, you can use the following:

Topic | Link
Properties Dialog | Properties Dialog
Properties Docked Window | Properties Window
Element Browser | The Element Browser
Scenarios & Requirements Window | The Scenarios & Requirements Window
Select <Item> Dialog | Select <Item> Dialog


Properties Dialog [Enterprise Architect User Guide]

Properties Dialog

This topic area covers element properties and their settings, responsibilities, constraints, connectors, scenarios, Tagged Values, associated files, object files and classifiers, and boundary element settings.

Topics:

Topic

Detail

See also

Displaying the Properties dialog

To display the element Properties dialog, use any of the following methods:

  • Select an element in the Diagram View and select the Element | Properties menu option
  • Right-click on an element in the Diagram View, and select the Properties context menu option
  • Select an element in the Diagram View, and press ( Alt+Enter )
  • Double-click on an element in the Diagram View
  • Right-click on an element in the Project Browser, and select the Properties context menu option

To suppress display of the Properties dialogue when placing a new element, uncheck the Edit Object on New option on the Objects page of the Options dialog

Objects

Properties dialog pages

The Class Properties dialog consists of the following pages:

  • General
  • Details
  • Advanced Properties
  • Templates
  • Tagged Values
  • Requirements
  • Constraints
  • Scenarios
  • Files
  • Links

Properties also include Object files and Classifiers, and the Boundary element appearance

General Settings

Details

Advanced Properties

Templates

Tagged Values

Requirements

Constraints

Scenarios

Associated Files

Links

Object Classifiers

Boundary Element Settings

Notes:

  • There are several variations of the Properties dialog:
  • The dialog for a Table or Stored Procedure element has slight differences on the General page, and a Table (Stored Procedure) Details page instead of a Details page
  • The dialog for a Class element of a stereotype other than Table is as shown in General Settings
  • The dialog for an element of any other type does not have a Details page
  • Port and Part elements have a Property page
  • Activity elements have a Behavior page, and Action and Invocation elements (depending on their type) have other pages such as Effect, Trigger and Call pages
  • Action Pins have a Pin page
  • In all cases, the Properties dialog is an expandable window, which you can stretch to enable longer entry and clearer inspection of the text field values
  • The Tagged Values page of the element Properties dialog simply provides the Tagged Values window within the frame of the Properties dialog.

Learn More:

  • Working With Table Properties
  • Port
  • Part
  • The Property Page
  • Interactions and Activities
  • Action
  • Trigger
  • Behaviour Calls
  • Action Pin


General Settings [Enterprise Architect User Guide]

General Settings

The General page of the element Properties dialog contains the following fields:

Field | Usage | See also
Name | Change the element's name |
Stereotype | (Optional) Type the name of a stereotype for the element, or click on the drop-down arrow and select one |
Role | Type the role played by the object represented by the element |
Alias | Type an alias (alternative display name) for the object |
Keywords | Enter free-text items such as keywords or context information; this can be filtered in Use Case Metrics and Search dialogs |
Author | Enter or select the name of the original author |
Language | Select the programming language for the object |
Status | Indicate the current status of the element (such as Approved or Proposed) |
Complexity | Indicate the complexity of the element (used for project estimation), such as Easy, Medium or Hard |
Version | Enter the version of the current element |
Phase | Indicate the phase this element is to be implemented in (for example, 1, 1.1, 2.0 ...) |
Notes | Enter any notes text associated with the element, as described for the Notes window You can format the notes text using the Notes toolbar at the top of the field | Notes NotesToolbar

Further facilities are made available by clicking on the Advanced page.

Learn More:

  • Advanced Settings


Details [Enterprise Architect User Guide]

Details

The Details page of the element Properties dialog enables you to define the structural and processing details for the selected Class element.

Reference:

Field/Button | Usage | See also
Scope | Click on the drop-down arrow and select the element's scope (public, private, protected, package) |
Persistence | Click on the drop-down arrow and select the appropriate value (blank, persistent or transient) |
Cardinality | The number of instances of the element that can exist - the value displays on the element in a diagram, in the Name compartment Use the format defined in the Cardinality tab | Cardinality
Abstract | Select if the element is abstract |
Is Root | Select if the element is a root element and cannot be descended from another |
Is Leaf | Select if the element is final and cannot be a parent for other elements |
Is Specification | Select if the element is a specification |
Is Active | Select if the element is active; for example, an Active Class | Active Classes
Attributes | Define attributes for the Class The Attributes Properties dialog displays | Attributes
Operations | Define operations for the Class The Operations Properties dialog displays | Operations Dialog - General
Concurrency | Specify how concurrent activities should be processed |
Collection Classes | Define Collection Classes (for generating code from Association connectors) that apply to this Class The Collection Classes for Association Roles dialog displays | Set Collection Classes
Template Parameters | List the Parameterized Class template parameters Click on the Edit button to edit a selected parameter, or click on the Add button to add a new parameter | Parameterized Classes
Binding(s) | List the binding expressions on a binding Class Click on the Edit button to edit a selected binding expression, or click on the Add button to add a new binding expression | Template Binding

Notes:

  • When launched from MDG Integration, the Attributes and Operations buttons are not available


Advanced Properties [Enterprise Architect User Guide]

Advanced Properties

The Advanced page displays the advanced properties of the element (where they exist) and enables you to reset the values of these properties.

How to:

To set a value for an advanced (or custom) property, follow the steps below:

Step

Action

See also

1

Click on the data field to the right of the property name

2

Depending on the property, either:

  • Type the value in free text
  • Click on the drop-down arrow and select the value from the list
  • Click on the ( ... ) Browse button and search for the required value

3

Click on the Apply button


Templates [Enterprise Architect User Guide]

Templates

Use the Templates page to define

  • Parameterized Class template parameters
  • Binding expressions on a binding Class

In the Template Parameter(s) panel, click on the Add button to add a new parameter, or click on the Edit button to edit a selected existing parameter; in either case, the Template Parameter dialog displays.

In the Binding(s) panel, click on the Add button to add a new binding expression or click on the Edit button to edit a selected binding expression. When you click on the Add button, a short context menu displays from which you select the type of relationship to generate, and then you define the binding expressions.

If either a template parameter or a binding expression is no longer required, click on it and then click on the corresponding Delete button.

Learn More:

  • Parameterized Classes (Templates)
  • Template Binding


Requirements [Enterprise Architect User Guide]

Requirements

You use the Requirements page of the element Properties dialog to create requirements that this element is designed to meet.

Requirements are of two types:

  • Internal requirements (responsibilities) and
  • External requirements (system requirements, elements connected to the element by a Realize connector)

Enterprise Architect shows both types, but you can only edit the internal type from the Requirements page.

You can show the requirements for an element on the diagram directly, using the Feature Visibility function; it is also possible to show inherited requirements in this way.

Field/Button

Usage

See Also

Requirement

Enter the name and high level detail of the requirement

Type

Specify the type; for example, Functional or Non-functional:

  • Functional requirements are things that the system must do, such as identify franked, unfranked and total credit for a dividend
  • Non-functional requirements are things that the system must be, such as reliable or cost effective

Last update

Specify the date of the last requirement update

Status

Specify the current status of the requirement

Difficulty

Identify the difficulty of implementing the current requirement

Priority

Specify how urgent the requirement is

Stability

Specify the estimated stability of the requirement

This is an indication of the probability of the requirement - or understanding of the requirement - changing; high stability indicates a low probability of the requirement changing

Notes

Record details of the requirement

You can format the notes text using the Notes toolbar at the top of the field

NotesToolbar

Move External

Make an internal responsibility into an external requirement

Make Internal Requirement External

New

Create a new requirement

Save

Save changes to requirements

Delete

Delete a selected requirement

Defined

List the defined requirements associated with this element

Learn More:

  • Internal Requirements
  • External Requirements
  • Feature Visibility


External Requirements [Enterprise Architect User Guide]

External Requirements

External requirements are those Requirement elements that have been connected to the current element using a Realization connector. By creating the connector from the element to the requirement, you create an expectation that the element must implement the requirement as part of the system solution.

In Enterprise Architect, linked requirements are shown in the Requirements page of the element Properties dialog, but they are marked external and cannot be directly edited (on selection, the page fields are grayed out).

Double-click an external requirement in the list to activate the Properties dialog for the associated requirement, where you can view and modify the requirement details and check the requirement hierarchy details.

Learn More:

  • Create Requirements
  • Requirement Properties
  • Make Internal Requirement External


Constraints [Enterprise Architect User Guide]

Constraints

Elements can have associated constraints placed on them. Constraints are used in conjunction with responsibilities to define the conditions and rules under which an element operates and exists.

Typical constraints are pre- and post- conditions, which indicate things that must be true before the element is created or accessed and things that must be true after the element is destroyed or its action complete.

Use the Feature Visibility function to show constraints for an element on the diagram directly; it is also possible to show inherited constraints in this way.

How To:

To add constraints to a model element, follow the steps below:

Step | Action | See Also
1 | Open the element Properties dialog |
2 | Select the Constraints page |
3 | In the Constraint field, type the name of the constraint |
4 | In the Type and Status fields, click on the drop-down arrow and select the constraint type (Pre-condition, Post-condition or Invariant) and status |
5 | In the larger text field, type any additional notes required |
6 | Click on the Save button |

Learn More:

  • Feature Visibility
  • Requirements


Links [Enterprise Architect User Guide]

Links

The Links page of the element Properties dialog displays a list of all relationships active for the current element.

Topics:

Topic

Detail

See also

Relationships Panel

The Relationships panel lists the relationships this element has, including:

  • Elements this element is related to
  • Element Stereotype (if any) of the element
  • Type of the related element
  • Connection or relationship type
  • Stereotype (if any) of the relationship

Links Page

From the Links page you can perform operations on a relationship, by right-clicking on the relationship to display the context menu

To:

  • Hide the relationship on the diagram, click on the Hide Relation menu option; the option then changes to Show Relation, which you select to redisplay the relationship on the diagram
  • Display the relationship Properties dialog, click on the Relationship Properties menu option
  • Highlight the related element in the Project Browser, click on the Locate Related Object menu option
  • Delete the relationship from the model and all diagrams, click on the Delete Relationship menu option; the system prompts you to confirm the deletion

Connector Properties


Scenarios [Enterprise Architect User Guide]

Scenarios

A scenario is a real-world sequence of operations that describes how an element works in real-time.

Topics:

Topic

Detail

See also

Where you can generate Scenarios

You can apply scenarios to any element - generally Use Cases - to describe functional behavior, business work flows and end-to-end business processes

You create scenarios through the Scenario page of the element Properties dialog; this page has two internal tabs, as described below.

  • The Description tab enables you to create scenarios and provide a simple text description of each scenario, or of the structure of each scenario
  • The Structured Specification tab (the default) enables you to create scenarios or select those you have created elsewhere and, for each scenario:
  • Create a series of steps for each part of the scenario
  • Structure the scenario to show how the basic path diverges into the alternate paths and exception paths
  • Generate a number of types of diagram from the structure
  • Generate a structured scenario from an Activity diagram
  • Generate a structured scenario from text on the clipboard; this option has a variation in the Description tab that enables you to translate scenario descriptions created prior to release 8.0 of Enterprise Architect, into structured scenarios in the latest release

Structured Specification Tab

Generate Diagrams

Generate Scenario from Activity diagram

Structured Specification Item Context Menu

Scenarios

Description Tab

On the Scenarios page, click on the Description tab; the Scenario (name) field and the Type field both default to Basic Path, to enable you to define the basic path first; you can overtype the scenario name with more appropriate text if required

As you go on to create other scenarios, you set the type to Alternate or Exception as appropriate

Complete the fields as described in the table below

Reference:

Field

Usage

See also

Scenario

Type in the name of the scenario (or, for existing scenarios, click on the drop-down arrow and select one from the list)

Type

Specify the type of scenario; the options are:

  • Basic Path - the direct set of steps for the scenario
  • Alternate - an alternative set of steps, in parallel with part of the basic path
  • Exception - the path the scenario follows if a step of the basic path does not produce an appropriate result

Description

Record a textual description of how the user uses the current element

As for the Notes window, you can format the notes text using the Notes toolbar at the top of the field

As well as the Notes window facilities, you can also generate a structured specification from the text in this field; highlight the text, right-click on it and select the Create Structure from Notes context menu option

The text is copied to the Structured Specification tab for the current scenario, either as a new specification or as the continuation of an existing specification, with a new step created at each carriage return

Subsequent changes to the text on the Structured Specification tab are not reflected on the Description tab

Note Tab

Notes Toolbar

Structured Specification Tab

New

Clear the data fields so that you can enter data in them to create a new scenario

Save

Save a new scenario, or changes to an existing scenario

Delete

Delete a scenario selected from the Scenarios panel, below

Scenarios

Display a list of defined scenarios for this element

You can change the order in which the scenarios are listed, using the uphand and downhand buttons

Notes:

  • The Scenario page does not prevent you from creating more than one basic path, but it would be unusual to define more than one
  • All the functions available on the Scenario page are also available through the Scenarios & Requirements window/view; use the Browse Element icon in the window toolbar to list and select the scenarios for the element

Learn More:

  • Scenarios & Requirements


Structured Specification Tab [Enterprise Architect User Guide]

Structured Specification Tab

The Structured Specification tab offers a wide range of facilities for generating and modifying scenario specifications, enabling you to define the structure, actions and interactions of the scenarios defined for an element such as a Use Case. These scenarios can be the main (basic) path, alternate paths or exception paths.

When you open the Structured Specification tab it defaults to the basic path so that if it does not already exist, you can create it. You can create alternate paths and exception paths as part of the process of adding them to steps of the basic path.

You can also create all three types of scenario paths on the Description tab, or in the Scenarios & Requirements window.

Learn More:

  • Scenarios
  • Scenarios & Requirements
  • Structured Specification Toolbar
  • Item context menu
  • Selected Text context menu
  • Entry Points context menu
  • Floating Toolbar


Set Up Scenario Specification [Enterprise Architect User Guide]

Set Up Scenario Specification

You can create a specification for a scenario in one of several ways:

  • Enter the specification yourself, as described below
  • Generate a specification from an Activity diagram created under a Use Case element
  • Generate a specification from the notes text of the scenario in the Description tab
  • Generate a specification from text held on the clipboard

How To:

To enter the specification yourself, starting with the basic path, follow the steps below:

Step

Action

See Also

1

In the Scenario field, click on the drop-down arrow and select the Basic Path scenario

2

In the new step field in the Action column, type the text of the first step or action

3

Tab to the Uses column and, if necessary, type the name of each element used in this step; any elements that are listed in the Context References tab are highlighted in blue and underlined

You can also manage the list of elements as context references, and add to the list directly; see the Notes below

4

Tab to the Results column and, if necessary, type the outcome of completing this step

5

Tab to the State column and, if necessary, type the name of the state into which the step moves the action

6

When you move out of the Action column, the next new step field displays underneath

Repeat steps 2 to 5 as many times as is necessary.

The Structured Specification tab should now resemble the following illustration:

Notes:

  • By default, the steps begin with a user step (indicated by an actor icon) and alternate between user and system (indicated by a screen icon) steps. However, you can control the responsible entity assigned to a step by typing a keyword within the first 15 characters of the text in the Action column; either 'User' or 'Actor' for a user step, or 'System' for a system step. Once a step has been saved, you can change the responsible entity by either double-clicking on the icon or right-clicking on the step, and selecting the Set Step as 'System' or Set Step as 'User' context menu option as required
  • An entry for the basic path displays in the Entry Points tab, as Step 0 with no value in the Join column (the basic path does not rejoin itself)
  • The values in the Uses, Results and State columns, whilst optional, are significant if you want to generate a diagram from the specification; if you type the name of an element linked to the current element (and listed in the Context References tab), the element name is highlighted and underlined
  • In the Uses column, in edit mode, the Manage Uses Context List context menu option enables you to enable and disable Uses cells as linked element lists as well as text fields, across the whole model; when the feature is enabled, the column shows both context-linked elements and manually-entered text, and when disabled only text entries are listed (the context-linked entries are hidden and deactivated, but not deleted - they are re-activated when the feature is enabled)
  • As you develop the scenario, you can move steps to different positions in the scenario, and insert new step lines within the body of the scenario
  • You can also create constraints on the element that have an impact on the scenarios
  • Repeat the Scenario Steps procedure for each scenario you have created; you can now adapt, enhance and interrelate the scenario specifications using the facilities of the Structured Specification tab:
  • Structured Specification Toolbar
  • Item context menu
  • Selected Text context menu
  • Entry Points context menu
  • Floating Toolbar

Learn More:

  • Generate a Scenario from an Activity diagram
  • Scenarios
  • Structured Specification Item Context Menu
  • Generate Diagrams
  • Context References Tab
  • Structured Specification Toolbar
  • Scenario Constraints Tab
  • Structured Specification Entry Points Context Menu
  • Structured Specification Floating Toolbar
  • ScenarioStep Class


Structured Specification Toolbar [Enterprise Architect User Guide]

Structured Specification Toolbar

The icons on the Structured Specification toolbar offer the following facilities:

Icon

Action

See also

Specsave

Save changes to the scenario specification.

specbasic

Return to the basic path specification (if another specification is currently displayed).

specalt

(Only enabled when the basic path is displayed - you cannot add an alternate path to another alternate path or an exception path.)

Create a branch from the selected step to an alternate path scenario - select the path from the displayed list. If the appropriate scenario does not yet exist, double-click on the new path line and type the scenario name, then click off the line and back on to it. Click on the OK button.

  • An entry for this alternate path displays in the Entry Points tab, as Step a of the basic path step it branches from; in the Join column, click on the drop-down arrow and select the number of the step at which action flows back to the basic path, or select End if the path terminates separately from the basic path
  • You cannot add more than one branch - whether alternate or exception - to a step
  • You cannot join the end of the branch - whether alternate or exception - to more than one step of the basic path. If you change the join point of the branch, any duplicates of that branch are updated to remain in synchrony with the join point

specexcept

(Only enabled when the basic path is displayed - you cannot add an exception path to another exception path or an alternate pat.)

Create a branch from the selected step to an exception path scenario - select the path from the displayed list. If the appropriate scenario does not yet exist, double-click on the new path line and type the scenario name, then click off the line and back on to it. Click on the OK button.

  • An entry for this exception path displays in the Entry Points tab, as Step a of the basic path step it branches from; in the Join column, click on the drop-down arrow and select the number of the step at which action flows back to the basic path, or select End if the path terminates separately from the basic path
  • You cannot add more than one branch - whether alternate or exception - to a step
  • You cannot join the end of the branch - whether alternate or exception - to more than one step of the basic path. If you change the join point of the branch, any duplicates of that branch are updated to remain in synchrony with the join point

UsesIcon

Display the Manage Uses Context List dialog, which you use to set the Uses column entries to linked context reference lists

Structured Specification Selected Text Context Menu

upscen

Move the currently-selected step one place up (including any new step ... entry)

scendown

Move the currently-selected step one place down (including any new step ... entry)

scendiag

Display a list of diagrams that you can generate from the scenario; select the type of diagram that you want to generate

Generate Diagram

scentest

Generate Test Cases based on this Use Case scenario; you can generate either internal Test Cases or External Test Cases

Generate Test Cases

scendel

Delete the selected step from the scenario

scenHelp

Display the Help topic for this tab


Structured Specification Item Context Menu [Enterprise Architect User Guide]

Structured Specification Item Context Menu

To display the context menu for a structured specification item, right-click on a step or blank line on the Structured Specification tab. The following options are available:

Option

Action

Shortcut

See also

Create Structure From Clipboard Text - New Line Delimited

Create Structure From Clipboard Text - Sentence Delimited

Generate a set of steps from a text description or list captured on the clipboard; a new step is generated:

  • after each carriage return in the captured text (New Lines), or
  • for each sentence in the text; that is, after each full stop/space/capital letter combination (Sentences).

If a set of steps is already displayed, it is overwritten by the generated steps

Create Structure From Generated Activity Diagram

Generate a set of steps from an Activity Diagram created for a Use Case

If a set of steps is already displayed, it is overwritten by the generated steps

Generate Scenario from Activity Diagram

Add Alternate Path

Create a branch from the selected basic path step to an alternate path

Alternate path

Add Exception Path

Create a branch from the selected basic path step to an exception path

Exception path

Insert Step Above

Insert a new step... line above the currently-selected step (press ( Esc ) to return this new line to the end of the scenario)

Shift + Insert

Insert Step Below

Insert a new step... line below the currently-selected step (press ( Esc ) to return this new line to the end of the scenario)

Insert

Insert End Step

Insert a new step... line at the end of the scenario

Ctrl + N

Set Step As 'User'
Set Step As 'System'

Switch the entity responsible for performing the action of the selected step between user and system

Link Step to Use Case

Either include the actions of an existing Use Case element, extend an existing Use Case element, or invoke a Use Case as the action of the selected step

Selecting the appropriate sub-option displays the Select Use Case dialog, which you use to browse for and select the required Use Case element

The appropriate includes, extends or invokes stereotyped connector is created between the current element and the selected Use Case

For the include and extend actions, any text in the Action field is overwritten by the link to the Use Case; for the invoke action, the following link is added to the end of the Action text:

( Invokes: <Use Case Name> )

Select Use Case

Merge With Step

Merge the selected step with another

A list of the other steps in the scenario displays; click on the step to merge with the selected step

Move After Step

Move the selected step to another position in the scenario

A list of the other steps in the scenario displays; click on the step after which to position the selected step

Delete

Delete the selected step; any subsequent steps are moved up one place

A prompt displays to confirm the deletion


Structured Specification Selected Text Context Menu [Enterprise Architect User Guide]

Structured Specification Selected Text Context Menu

To display this context menu, highlight the text in a user-editable field within a step on the Structured Specification tab. The following options are available:

Option

Action

Shortcut

See also

Create

Create a glossary definition or a new element based on the highlighted text.

Glossary definition

New element

Link Step to Use Case

Either incorporate the actions of an existing Use Case element, extend an existing Use Case element or invoke a Use Case element, as the action of the selected step. Selecting the appropriate sub-option displays the Select Use Case dialog, which you use to browse for and select the required Use Case element.

Any text in the Action field is overwritten by the link to the Use Case, except for the invoke action where the following link is added to the end of the Action text:

( Invokes: <Use Case Name> )

Select Use Case

Link to existing Element

(Uses and Results fields only.) Create a Realization or Dependency relationship to a Requirement, Feature or other element elsewhere in the model.

You select the element and connector types from submenu options, which then display the Select Element dialog, which you use to browse for and select the required element.

Select Element

Insert context reference

Add a reference to an element stored elsewhere in the model, and create an entry for the element in the Context References tab.

Selecting this option displays the Select Element dialog, which you use to browse for and select the required reference element.

Context References

Select Element

Structured Specification Floating Toolbar

Insert glossary definition

Insert an existing glossary term at the cursor position. To select the term, double-click on it in the displayed list.

When you select the term it is inserted into the field as highlighted and underlined text, which displays the definition when you move the cursor over it. If you highlighted part of the original text, the term overwrites that text.

Manage Uses Context List

(On highlighted text or a specific cursor position in the Uses column)

Display the Manage Uses Context List dialog, which enables you to:

  • Browse to or type in a context reference item
  • Re-sort the list with up and down arrow keys
  • Remove an entry from the list
  • Enable or disable the Uses Context List facility across the model

You can resize the dialog to show the full details of context reference items

If you enable the Uses Context List facility, you do not necessarily have to use the dialog to add context list items; you can type or insert an element name from the Context References tab in the Uses column, and that name is added to the Uses Context List

If you disable the Uses Context List facility, the context list items in the Uses column are hidden

Context References Tab

Split Step

Splits the selected step into two consecutive steps.

The option is available only if you highlight a portion of the text in the selected field. The new step takes the highlighted text as its Action text.

Search for <text>

Displays a sub-menu of options for locating the selected text in a number of locations.

Code editor context menu

Undo

Undo any unsaved changes you have just made in the step.

Cut

Perform simple editing operations on the highlighted text.

Copy

Paste

Delete

Select All


Structured Specification Entry Points Context Menu [Enterprise Architect User Guide]

Structured Specification Entry Points Context Menu

The Entry Points tab shows how the basic path, alternate path and exception path scenarios for the element are organized and interrelated. If an alternate path or exception path has been defined but has not yet been added to the basic path, it is not listed on this tab.

You can switch focus between the Entry Points tab and the Structured Specification tab by pressing ( Alt+Q ) .

To display the context menu for this tab, highlight an entry and right-click on it. The following options are available:

Option

Action

Shortcut

See also

Edit Path

Display the steps of the scenario in the Structured Specification tab, with the first step highlighted

Join with Step

(Available only if the basic path scenario is displayed in the Structured Specification tab. Not available to edit the basic path scenario.)

Highlight the Join field and its drop-down arrow. Click on the drop-down to define or change the step number at which the alternate or exception path rejoins the basic path. Select End if the path does not rejoin the basic path steps.

Remove Entry Point

(Available only if the basic path scenario is displayed in the Structured Specification tab. Not available to delete the basic path.)

Delete the relationship between the selected path and the basic path, and remove the entry from the Entry Points tab.


Structured Specification Floating Toolbar [Enterprise Architect User Guide]

Structured Specification Floating Toolbar

Wherever a reference to another element exists on the Scenario tab (that is, where the text is highlighted and underlined), if you hover the cursor over the element name a short floating toolbar displays.

Use To:

  • Display the element Properties dialog
  • Locate the element in its parent diagram
  • Locate the element in the Project Browser


Generate Diagrams [Enterprise Architect User Guide]

Generate Diagrams

If you have created a structured scenario, you can generate any of the following diagrams from that scenario:

  • Activity
  • With ActivityParameter
  • With Action
  • With Action Pin
  • Rule Flow
  • State Machine
  • Sequence
  • Robustness

How To:

To generate the required diagram, follow the steps below:

Icon

Step

Action

See Also

1

Create the scenario structure on the Structured Specification tab

Structured Specification Tab

Scengendiag

2

Click on the Generate Diagram icon in the toolbar on the tab

3

Click on the type of diagram to generate

Enterprise Architect generates the diagram and notifies you that generation is complete. Close the Properties dialog to review the diagram

If the diagram being generated already exists under the selected element, a prompt displays to overwrite or synchronize with that diagram

Select the appropriate radio button to:

  • Overwrite the existing diagram (delete the existing diagram and elements, and create a new diagram and elements) or
  • Synchronize the elements in the existing diagram with the scenario steps (however, Sequence and Robustness diagrams cannot be synchronized)

Notes:

  • The Synchronize elements in existing diagram option enables the Preserve Diagram Layout checkbox, which you can select to preserve the existing arrangement of elements and connectors on the diagram. Any new elements are added to the diagram in the default position, and you manually position them in the diagram as required. If you do not select the checkbox, the diagram is recast in the default layout.

    It is recommended that you uncheck the Preserve Diagram Layout checkbox if you are synchronizing elements with scenario steps:
  • When new steps have been added or existing steps have been deleted or moved within the Use Case
  • For the first time in a Use Case that has been imported from XMI with the Strip GUIDs option selected
  • For the first time in a Use Case that has been copied and pasted in the Project Browser, or
  • For the first time in a Use Case whose containing package has been copied and pasted in the Project Browser

Learn More

  • Generate Activity Diagram
  • ActivityParameter
  • Action
  • Action Pin
  • Generate Rule Flow Diagram
  • Generate State Machine Diagram
  • Generate Sequence Diagram
  • Generate Robustness Diagram
  • Import from XMI
  • Copy Element Between Packages
  • Copy A Package


Generated Activity Diagram [Enterprise Architect User Guide]

Generated Activity Diagram

An Activity is generated as a child of the selected element, to act as a container for the diagram.

  • The scenario steps are modeled as Activities
  • The values of the Uses, Results and State columns for each step are added as Tagged Values of the corresponding Activity

Example:

Topics:

Topic

Detail

See also

Activity with ActivityParameter
  • The values of the Uses and Results columns are modeled as ActivityParameters
  • The value of the State column is added as a Tagged Value of the Activities
  • ActivityParameters are added to the Project Browser and not to the diagram

Activity with Action
  • The scenario steps are modeled as Actions
  • The values of the Uses, Results and State columns are added as Tagged Values of the Actions

Activity with ActionPin
  • The scenario steps are modeled as Actions
  • The values of the Uses and Results columns are modeled as Input Pins and Output Pins respectively
  • The value of the State column is added as a Tagged Value of the Actions
  • ActionPins are added to the Project Browser and not to the diagram


Generated RuleFlow Diagram [Enterprise Architect User Guide]

Generated RuleFlow Diagram

A Rule Flow Activity is created as a child of the selected element, to act as a container for the diagram.

  • The scenario steps are modeled as RuleTasks.
  • The values of the Uses, Results and State columns are added as Tagged Values of the RuleTasks


Generated State Machine Diagram [Enterprise Architect User Guide]

Generated State Machine Diagram

A StateMachine is created as a child of the selected element, to act as a container for the diagram.

  • Each value in the State column is modeled as a State.
  • The scenario steps become the Transition connectors between the States
  • The values of the Uses and Results columns are added as Tagged Values of the Transitions.

Example:


Generated Sequence Diagram [Enterprise Architect User Guide]

Generated Sequence Diagram

An Interaction is created as a child of the selected element, to act as a container for the diagrams - the Basic, Alternate and Exception paths are modeled as separate Sequence diagrams under the Interaction.

Topics:

Topic

Detail

See also

Usage

All the elements involved in the scenario should be identified in the Context Reference tab. That is, relationships must already exist between the scenario parent element and the other elements named in the scenario.

  • Each Context Reference element named in a scenario step is modeled as a Lifeline
  • The step itself becomes the Message between an originator and its destination(s)
  • The first Context Reference element in a step is treated as the originator
  • The subsequent Context Reference element(s) become the destination(s)

Because the diagram generator acts on element names in the step, you should take care to avoid using the element names as normal text. For example, in step 1 in the dialog below, the term ATM-Card is interpreted as a reference to the ATM element, and two Customer inserts ATM-Card into ATM Messages are generated for the step. (To avoid confusion, in the diagram the first Message has been deleted.)

If the Show Sequence Numbering checkbox on the Diagram Sequence page of the Options dialog is not selected, the Message name on the Sequence diagram is prefixed by the step number, as shown in the diagram below. If the checkbox is selected, the message sequence number is shown instead of the step number

The values of the Uses, Results and State columns are added as Tagged Values of the Message

Context Reference Tab

Sequence

Example:


Generated Robustness Diagram [Enterprise Architect User Guide]

Generated Robustness Diagram

A Collaboration is created as a child of the selected element, to act as a container for the Robustness diagram.

Example:

Notes:

  • All the elements involved in the scenario should be identified in the Context Reference tab. That is, relationships must already exist between the scenario parent element and the other elements named in the scenario
  • Any values in the Uses, Results and State columns are ignored and not represented in the diagram
  • Each UI element in a step becomes a Boundary element. A Dependency relationship is created from this Boundary element to the UI element (this connector is not shown on the diagram)
  • Each Actor referenced in a step is dropped into the Robustness diagram as a simple link
  • Each Class referenced in a step is dropped into the Robustness diagram as a simple link, and is given the stereotype entity
  • Each step with a System trigger becomes a Controller. Alternate/exception path Controllers are displayed with a red background color
  • Each step with a User trigger becomes the name of the Association between Controllers

Learn More:

  • Collaboration
  • Robustness Diagram
  • Context Reference Tab
  • UI Elements
  • Boundary Elements
  • Dependency
  • Control
  • Associate


Generate Scenario From Activity Diagram [Enterprise Architect User Guide]

Generate Scenario From Activity Diagram

You can generate a range of diagrams from a scenario in an element. Conversely, you can also generate a structured scenario within an element from an Activity diagram, reverse engineering the steps from the diagram elements (effectively either regenerating the scenario within the Use Case, or transferring a scenario into another Use Case).

How To:

To generate the scenario from the Activity diagram, follow the steps below:

Step | Action | See Also
1 | Open the element Properties dialog, select the Scenarios tab, and select the Structured Specification tab |
2 | Right-click in the empty space within the tab, and select the Create Structure From Generated Activity Diagram context menu option The Select an Activity (generated from a UseCase Scenario) containing the Diagram dialog displays | Select <Item> Dialog
3 | Search for and select the Activity containing the required diagram. Enterprise Architect validates the diagram (displaying the results in the Output window) and, if the diagram is valid, generates the scenario steps in the Structured Specification tab (replacing any existing scenario steps). | Output Window

Notes:

  • The source Activity diagram must be generated from another Use Case Scenario
  • Any existing scenario steps are deleted and replaced by the generated scenario
  • This facility does not operate on the enhanced Activity diagrams generated from a Use Case - those generated with ActivityParameters, Actions and Action Pins

Learn More:

  • Generate Diagrams


Generate Test Cases [Enterprise Architect User Guide]

Generate Test Cases

When you select a scenario and click on the Test Case Generation icon in the window toolbar, Enterprise Architect prompts you to select to generate either an Internal Test Case or an External Test Case.

Topics:

Topic

Detail

See also

Internal Test Case

A test is generated for the basic path and each alternate and exception path in the scenario, and added to the selected element

In addition, for each step in the basic, alternate and exception paths that has a value in the Results column, a test is generated and added to the selected element

A diagram is created under the selected element, to which the selected element and a Note (showing the element's Structured Specification) is added

The created tests are displayed in the Test Scripts compartment of the selected element on the diagram

Another way to view these tests is to click on the element and display the Testing window

These generated tests are written to the Scenario test tab of the Testing window; you can move the tests to another test-type tab if required

Show Test Scripts compartment

The Testing Window

Move Or Copy Tests Between Categories

External Test Case

A Test Case element is created, linked to the selected element using the Trace connector

A diagram is created under this Test Case element, to which the selected element, the Test Case element and a Note (showing the element's Structured Specification) is added

The created tests are displayed in the Test Scripts compartment of the Test Case element on the diagram

A test case is generated and added to the Test Case element for the basic path, and for each alternate and exception path

In addition, for each step in the basic, alternate and exception paths that has a value in the Results column, a test is generated and added to the Test Case element

You can review the tests within the Test Case element using the Testing window, as for Internal Test Cases

Show Test Scripts compartment

Test Case

Trace


Context References Tab [Enterprise Architect User Guide]

Context References Tab

On the Scenarios page of the element Properties dialog, the Context References tab displays a list of all elements that are either:

  • Connected to the current element by any connector, on the current diagram or another, or
  • Defined as a cross reference (or custom reference) on the current element

Topics:

Topic

Detail

See also

Usage

This page enables you to add custom references - right-click anywhere in the list and select the Add Reference context menu option

The Select Element dialog displays, in which you can locate and select the required cross reference element or elements

For each cross reference you can also use context menu options to delete the entry in the list, or to open the Comment field so that you can add or edit comment text

For each element in the Context References list, wherever the name of that element appears in the structured specification, the name is highlighted and underlined; press ( Ctrl ) + click on the highlighted name to view the element Properties dialog

Select <Item> Dialog

Learn More:

  • Custom/Cross Reference


Scenario Constraints Tab [Enterprise Architect User Guide]

Scenario Constraints Tab

The Structured Specification Constraints tab is a simple link to the Constraints tab of the element overall. It lists existing constraints; if you select the toolbar icons to add or edit a constraint, control switches to the element Constraints tab.

Learn More:

  • Constraints


Associated Files [Enterprise Architect User Guide]

Associated Files

An element can be linked to files external to the repository, using the Files page of the element's Properties dialog.

Field/Button | Usage | See Also
File Path | Specifies the directory path and name of the file |
Type | Display the local file or web address |
Last Write | Display the date and time the file was last updated |
Size | Display the size of the file |
Notes | Indicates extra information about the file |
Files | Display the list of linked files |
Launch | Open the selected file Local files open with their default application and web files open in the default browser |

Notes:

  • Linked files are a good way to link elements to additional documentation and/or source code
  • You can also insert hyperlinks in diagrams to other files, and launch them directly from the diagram

Learn More:

  • Hyperlinks


The Element Browser [Enterprise Architect User Guide]

The Element Browser

The Element Browser window lists a range of added-on properties of the selected element.

Access: View | More Element Tools | Element Browser

Topics:

Topic

Detail

See also

Properties

The following properties are listed, where they are present in the element:

  • Operations
  • Attributes
  • Linked Features (Linked Operations and Attributes)
  • Tagged Values
  • Constraints
  • Internal Requirements (Responsibilities)
  • Attached Files
  • Relationships
  • Scenarios
  • Maintenance Items
  • Testing Items
  • Project Management Items

Operations

Attributes

Linked Features (Linked Operations and Attributes)

Tagged Values

Constraints

Internal Requirements (Responsibilities)

Attached Files

Relationships

Scenarios

Maintenance Items

Testing Items

Project Management Items

Notes:

  • If you double-click on the element name at the top of the dialog (the root node) the Properties dialog for the element displays, at the General tab
  • If you right-click on a folder name, the Edit <object> context menu option displays; when you select this option, the appropriate window or dialog displays, or the element Properties dialog displays the appropriate tab, to enable you to update the items in the folder
  • If you double-click on an item within the Requirements, Scenarios or Constraints folders, the docked window or view displays with the focus on the selected item
  • If you double-click on an item within the Relationships folder, the Properties dialog displays for that relationship
  • You can drag a relationship from the Element Browser onto a diagram; if the element at one or both ends of the relationship is not already on the diagram, the element is also added to the diagram, and if the relationship is already on the diagram, but hidden, it becomes visible again
  • Instead of dragging the relationship onto the diagram, you can right-click on it and select context menu options to place the relationship and elements on the diagram, and to show or hide the relationship
  • If you double-click on an item within the Files folder, the file opens either on a separate tab in the Diagram View workspace (if the file can be opened within Enterprise Architect) or in the default Windows viewer/editor for the file type (if the file cannot be opened within Enterprise Architect)
  • If you double-click on an operation or attribute in the Operations or Attributes folders, the appropriate Properties dialog displays
  • If you right-click on an attribute or operation, whether in the Attributes or Operations folder or in the Linked Features folder, a context menu displays that enables you to display the source code; alternatively, click on the attribute or operation and press ( Ctrl+E ), or - in the Linked Features folder - double-click on the attribute or operation
  • The source code viewer in which the source code displays depends on which editor you select as the default, either for the project as a whole or for a specific programming language; if you select the Enterprise Architect internal editor, the code displays in the Source Code Viewer with the cursor positioned on the selected feature
  • The right-click context menu for an operation also provides options to set a number of types of recording marker

Learn More:

  • Scenarios and Requirements Window
  • Connector Properties
  • Options - Code Editors
  • Source Code Viewer
  • Recording Markers


Properties Window [Enterprise Architect User Guide]

Properties Window

The Properties window provides a convenient way to view (and in some cases edit) common properties of elements. When an element is selected, the Properties window shows the element's name, stereotype, version, author, dates and other pertinent information.

Access: View | Element Properties

Topics:

Topic

Detail

See also

Properties Sections

The Properties window is divided into three expandable sections:

  • <Element type> Settings - for the basic element details
  • Project - for general housekeeping settings
  • Advanced - only active for generalizable elements

Notes:

  • When you click on a field name, a brief explanation of that field displays at the bottom of the Properties window, unless you have selected the Hide Properties Info Section checkbox on the General page of the Options dialog
  • If you click on the field value for an editable field, a drop-down arrow displays that enables you to select a different value

Learn More:

  • Hide Properties Info Section


The Scenarios & Requirements Window [Enterprise Architect User Guide]

The Scenarios & Requirements Window

The Scenarios & Requirements window provides a convenient way to quickly add, view, edit and delete rules applied to an element. The window shows details of the entities that impose such rules or restrictions on the element, namely:

  • The element's internal responsibilities or requirements
  • The element's internal constraints (not external Constraint notes)
  • The element's scenarios

Access: View | More Element Tools | Scenarios & Requirements (Ctrl + Shift + 3)

Topics:

Topic

Detail

See also

Usage

The Scenarios & Requirements window is typically used to examine Use Case and Test Case elements, and any other elements that realize an external Requirement

For convenience, you can display the window as either a dockable window around the edge of your workspace, or as a view in the center of your workspace (in which the Scenarios, Constraints and Requirements are shown on separate tabs)

Use the DisplayToggle icon in the window toolbar to toggle between these display options

Notes

How To:

To review an internal requirement, constraint or scenario for an element, follow the steps below:

Step

Action

See Also

1

Select the element in the Project Browser or diagram and select the Scenarios & Requirements menu option

The Scenarios & Requirements window displays

2

Either:

  • Click on the required item in the list panel on the left of the window, or
  • If the Element Browser is not already displayed, click on the EBIcon icon and select the required item from the Constraints, Requirements or Scenarios folder

The appropriate screen displays, with the details of the selected item in the fields

Element Browser

3

The toolbar icons, from left to right, enable you to:

  • Add a new rule to the current screen (click on the appropriate folder to create an item of a different type)
  • Save the new or edited item
  • Save the current (edited) item as a new item
  • Delete the current item
  • Sort the contents of the selected folder into alphabetical order
  • (Print icon unavailable)
  • Display the Element Browser window, or highlight the current item in the Element Browser window
  • Switch between a docked window display and a workspace view display

You can also add or edit formatted notes in the Notes field, using the Notes toolbar at the top of the field

The list panel also provides a context menu that provides options for adding a new item to a folder, deleting the selected item or, for a requirement, converting an internal responsibility into an external Requirement element

Notes Toolbar

Converting an Internal Responsibility Into an External Requirement

Scenarios

Constraints

Requirements


Select <Item> Dialog [Enterprise Architect User Guide]

Select <Item> Dialog

The Select <Item> dialog is a multi-purpose browser and search tool for locating model items such as Classifier elements, properties, attributes and behaviors. The <Item> in the dialog title changes to represent the type of item the original operation is working on.

Topics:

Topic

Detail

See also

Usage

The dialog is called in a range of operations; for example, setting:

  • The base type or classifier for an Object, Swimlane or Lifeline
  • Classifiers for the return types for operations
  • Classifiers for generalization sets
  • The associated behavior for a behavior call
  • The type and return type for operation parameters
  • Activities for State transitions
  • Use Case Scenarios
  • Pattern element defaults
  • Activities from which to generate code
  • The values of Tagged Values

Using Classifier

Objects

Swimlanes

Lifeline

Return Types

Generalization Sets

Associate with Different Behaviour

Insert Operation Parameters

Transitions

Generate Scenarios from Activity Diagram

Use a Pattern

Assigning Tagged Values

Multiple Selection

Where an operation permits the selection of multiple items, the Select <Item> dialog is automatically enabled to support this; to select the items, press ( Ctrl ) as you click on each item

Having selected an item, you can continue to expand and browse the hierarchy, and/or search for items; the dialog retains the existing selections until you click on the OK button

How To:

To select a required item, follow the steps below:

Step

Action

See Also

1

During an operation, when it is necessary to locate an element or feature, click on the ( ... ) (browse) button

The Select <Item> dialog displays

2

If required, in the Go To Namespace field select a namespace to reduce the scope of the displayed hierarchy

The dialog opens the section of the hierarchy associated with that namespace, and closes all previously-open sections associated with other namespaces

3

You can either:

  • Expand the selected area of the hierarchy on the Browse tab, or any other package, and locate the required item (go to step 5) or
  • Click on the Search tab and, in the Find field, type a partial or complete text string to search for the item

4

On the Search tab, you can filter the search further by selecting the Whole Word and Match Case checkboxes

Each list entry shows the name of the item, the type, any stereotype the item has, the immediate package in which the item is held, and any successive parent packages (the package path)

You can either:

  • Select the item immediately on the Search tab or
  • Right-click on one item or a group of items and select the Locate item(s) in tree context menu option; this redisplays the Browse tab and highlights each selected item in the <namespace> hierarchy

5

Click on the required item

6

Click on the OK button

Notes:

  • When you have selected an item, the Select <Item> dialog retains the context and item; next time you display the dialog, if the context is similar the dialog opens to the same Namespace and item - for example, if you have selected an activity for a State transition and you start to do the same for another transition, the dialog opens to the activity you previously selected
  • If the context is totally dissimilar, the dialog opens with the Namespace <any> and a collapsed model hierarchy
  • If the available items do not meet your requirements, you can create a new item and define the appropriate properties - click on the Add New button; the appropriate Add <Item> dialog displays, on which you define the required item
  • The Add New button is not always available, depending on the context and the type of item being searched for


Select Property Dialog [Enterprise Architect User Guide]

Select Property Dialog

The Select Property dialog is a specific instance of the Select <Item> dialog; it is used to select Ports, Parts, Attributes and Association Ends as redefined or subsetted properties, from a hierarchical list of Classes and their contained properties in the model. For example, consider the section of the model below:

Example:

This would be represented in the dialog as follows:

Locate and click on the required object to select it, then click on the OK button (to select several objects at once, press and hold ( Ctrl ) while you click on each object).

Notes:

  • AssociationEnds should be owned by the Class to be listed in the dialog

Learn More:

  • Select <Item> Dialog


Set Feature Dialog [Enterprise Architect User Guide]

Set Feature Dialog

The Set Feature dialog is the Set Operation dialog used to change the operation represented by an Action on an Activity diagram.

As the Set Operation or Set Attribute dialog, it is also used to set the Value operation or attribute for Tagged Values of type RefGUID or for the target of a hyperlink in a diagram.

How To:

To locate and select a value operation or attribute, follow the steps below:

Step | Action | See Also
1 | The Set Operation (or Set Attribute) dialog displays, with the model hierarchy opened at the point at which you selected the original operation or attribute |
2 | If required, in the In Namespace field, click on the drop-down arrow and select another model that contains the required operation or attribute The package hierarchy for that model displays |
3 | Browse through the hierarchy, or use the Search tab to locate the required operation or attribute, then double-click on the item to select it | Select <Item> Dialog

Learn More:

  • Class Operations In Activity Diagrams
  • Pre-defined Structure Types - RefGUID
  • Hyperlinks


Attributes [Enterprise Architect User Guide]

Attributes

Attributes are features of an element that represent the properties or internal data elements of that element. Not all element types support attributes, and others have restrictions - for example, attributes of Interfaces must have Public scope.

Elements with attributes (typically Classes) display their features in diagrams in the manner illustrated below. Attributes display in the first compartment of properties in colored text - the default color is red (for example, Age : int).

Example:

For a Customer Class, CustomerName and CustomerAddress can be attributes. Attributes have several important characteristics, such as type, scope (visibility), static, derived and notes.

Topics:

Topic

Detail

See also

Create and Modify Element Attributes

In the Project Browser, Classes with attributes have their features collected beneath them, each preceded by a blue box ( attbox)

In the Diagram view, either:

  • Right-click on the element to be edited, and from the context menu select the Attributes menu option
  • Click on the element and press ( F9 ), or
  • Drag the attribute from the Project Browser onto the element

The <Element name> Attributes dialog displays

This facility is only available if the element supports attributes

Notes:

  • If you make changes and do not save them, the Cancel button prompts you to save or cancel the changes, whilst the Close button closes the dialog immediately and does not save the changes
  • If you are creating many attributes, go to the Attribute/Operations page of the Options dialog (Tools | Options | Source Code Engineering | Attribute/Operations) and select the After save, re-select edited item checkbox; now, when you create an attribute and click on the Save button, the dialog fields clear ready for you to enter the details of the next attribute - this helps you when you want to create attributes quickly and might not necessarily want to fully define each one as you create it
  • If the parent element provides source or target roles for a connector, the connector can be attached to a specific attribute (feature)

Learn More:

  • Attribute Tagged Values
  • Create Properties
  • Display Inherited Attributes
  • Create Object From Attribute
  • Attributes Dialog - General
  • Attributes Dialog - Detail
  • Attributes Dialog - Constraints
  • Connect to Element Feature


Attributes Dialog - General [Enterprise Architect User Guide]

Attributes Dialog - General

This topic describes the fields and options of the General page of the Attributes dialog.

Reference:

Field

Usage

See also

Name

Display the name of the attribute; for a new attribute, type the name (with no spaces)

Type

Display the attribute's type; if necessary, either:

  • Click on the drop-down arrow and select a different type, or
  • Click on the ( ... ) button to open the Select <Item> dialog and select or define a different attribute classifier type that might not be in the Type drop-down list

The type can be defined by the code language (data type) or by a classifier element; when you click on the drop-down arrow, the first set of values in the list provides the data types, and the second (longer) set provides the possible classifiers

To add new code language data types that can be displayed in this list, see the Data Types topic

Data Types

Instance Classifier

Initial Value

Display an optional initial value; if necessary, type in or browse for a new initial value

Stereotype

Define the optional stereotype of the attribute; if necessary, either:

  • Type a different stereotype name
  • Click on the drop-down arrow and select a stereotype, or
  • Click on the ( ... ) button and browse for the stereotype

Alias

Display an optional alias for the attribute; if necessary, type in a new alias

Scope

Define the attribute as Public, Protected, Private or Package; if necessary, click on the drop-down arrow and select a different scope

Static

Indicate that the attribute is a static member

Const

Indicate that the attribute is a constant

Is Literal

(For Enumeration elements) Defaults to selected, to define the attribute as an enumeration literal

Deselect to define the attribute as a normal element attribute

In the Attributes compartment on the diagram, the enumeration literals are listed separately, above the normal attributes (ensure that the Stereotype field for the normal attribute is not set to enum)

Derived

Indicate that the attribute is derived from one or more other attributes; for example, full name can be derived from the last name and first name attributes

Containment

Define the containment type (By Reference, By Value or Not Specified); if necessary, click on the drop-down arrow and select a different containment type

Property

Indicate that the attribute has automatic property creation; when you select this checkbox, the Create Property Implementation dialog displays

Create Properties

Notes

Enter any free text notes associated with the attribute; you can format the notes text using the Notes toolbar at the top of the field

Notes Toolbar

Topics:

Topic

Detail

See also

Usage

To change the position of a selected attribute in the list at the bottom of the dialog, click on the Scroll Up or Scroll Down (hand) buttons

To review an existing attribute, click on the attribute name in the list

To delete an existing attribute, click on the attribute name in the list and click on the Delete button

To create a new attribute, either:

  • Click on the New button, or
  • Click on an existing attribute name in the list, and click on the Copy button

If you have changed the attribute details, click on the Save button to save the changes

Notes:

  • By default, the attributes are listed in alphabetical order; before changing this sequence, you must deselect the Sort Features Alphabetically checkbox on the Objects page of the Options dialog (Tools | Options | Objects)


Attributes Dialog - Detail [Enterprise Architect User Guide]

Attributes Dialog - Detail

This topic describes the fields and options of the Detail page of the Attributes dialog.

Reference:

Field | Action | See also
Lower bound | Define a lower limit to the number of elements allowed in the collection |
Upper bound | Define an upper limit to the number of elements allowed in the collection |
Allow Duplicates | Indicate that duplicates are allowed Maps to the UML property isUnique, value FALSE |
Ordered Multiplicity | Indicate that the collection is ordered |
Redefined Property | Review the redefined properties for the attribute Add redefined properties by clicking on the Add button to display the Select Property dialog | Select Property dialog
Subsetted Property | Review the subsetted properties for the attribute Add subsetted properties by clicking on the Add button to display the Select Property dialog
Collection | Code the attribute as an array, so that it can contain multiple concurrent values rather than a single value |
Attribute is a Collection | Indicate that the attribute is a collection (array) |
Container Type | Enter the name of the container type |
Transient | (For Java code) indicate that the attribute can change regardless of what the code is performing |
Qualifiers | Click on this button to add Qualifiers to the attribute The Qualifiers dialog displays | Qualifiers Qualifiers dialog


Attributes Dialog - Constraints [Enterprise Architect User Guide]

Attributes Dialog - Constraints

Attributes can have constraints associated with them; typically these indicate such things as maximum value, minimum value and length of field.

These constraints are managed on the Constraints page of the Attributes dialog.

Topics:

Topic

Detail

See also

Usage

Select the Constraints page to define the constraints

  • To review an existing constraint, click on the constraint name in the panel at the bottom of the dialog
  • To delete an existing constraint, click on the constraint name in the panel and click on the Delete button
  • To create a new constraint, click on the New button

Review, edit or complete the fields as indicated in the table below

If you have created or edited the data, click on the Save button to save the changes

Reference:

Field | Usage | See also
Constraint | Type in the constraint name |
Type | Type in the constraint type |
(Notes) | Type in any comments or notes concerning the constraint |


Attribute Tagged Values [Enterprise Architect User Guide]

Attribute Tagged Values

You can define Tagged Values for an attribute. Tagged Values are a convenient means of extending the properties a model element supports. This in turn can be used by code generators and other utilities to transform UML models into other forms.

How To:

To add a Tagged Value to an attribute, follow the steps below:

Step | Action | See Also
1 | Click on the Tagged Values tab of the Attribute Properties dialog |
2 | Click on the New tag button ( New tag button ) The Tagged Value dialog displays |
3 | In the Tag field, type the tag name or click on the drop-down arrow and select a defined tag |
4 | If appropriate, in the Value field type a specific value for the tag |
5 | Click on the OK button to confirm the operation The tag name and value are displayed under the attribute in the Tagged Values tab |

Notes:

  • Tagged Values are supported for attributes, operations, objects and connectors
  • You can define custom tags by creating a Custom Tagged Value Type

Learn More:

  • Creating a Custom Tagged Value Type


Create Properties [Enterprise Architect User Guide]

Create Properties

Enterprise Architect has capabilities for automatically creating properties in various languages. Property creation is controlled from the General page of the Attributes dialog.

Topics:

Topic

Detail

See also

Usage

On the General page, select the Property checkbox

The Create Property Implementation dialog immediately displays

The Language panel defaults to the Class language; however, you can change this and generate the properties for any language, including Action Script

Each language has slightly different syntax and generates slightly different results; for example:

  • Java and C++ generate get and set functions
  • C# and VB.Net create property functions
  • Delphi creates get and set functions as well as a specialized Delphi property Tagged Value

Type in the required details and click on the OK button

Enterprise Architect generates the required operations and properties to comply with the selected language.

Note that get and set functions are stereotypes with «property get» «property set» making it easy to recognize property functions; you can also hide these specialized functions by deselecting the Property Methods checkbox in the Features tab of the Diagram Properties dialog for a specific diagram (select the Diagram | Properties menu option) - this makes it easier to view a Class, uncluttered by many get and set methods

Note that for Delphi you must enable the Tagged Values compartment to see the generated properties

Compartments


C# Automatic Property Support [Enterprise Architect User Guide]

C# Automatic Property Support

For C# at and beyond release 4.0, Enterprise Architect enables you to model automatic properties as «Property» stereotyped attributes.

Topics:

Topic

Detail

See also

Properties of Attributes

When you create the attribute, on the General page of the Attributes dialog simply set the Stereotype field to Property; the generated code resembles the following:

public class Class1

{

public Class2( ) Classes {get; set;}

}

This is in contrast to the Enterprise Architect facilities for modeling get/set methods as properties of an attribute in various other languages, generating code such as:

public class Class1

{

public Class3( ) m_delivery;

:

public Class3( ) delivery

{

get{ }

set{ }

}

}

You cannot create properties with get/set methods on an automatic properties attribute; whilst the «Property» stereotype is assigned in the Attributes dialog, the Property checkbox is grayed out

Create Properties

Tagged Values

You can also add the following Tagged Values to automatic properties to denote specific characteristics, if required:

  • writeonly - the property only has a set method; e.g. public int Prop1 { set; }
  • readonly - the property only has a get method; e.g. public int Prop2 { get; }
  • GetScope - specifies the property's Get Scope; e.g. public int Prop3 { protected get; set; }
  • SetScope - specifies the property's Set Scope; e.g. public int Prop4 { get; protected set; }

Reverse Engineering

Imported automatic properties generate attributes with a «property» stereotype and appropriate Tagged Values, and - if the property type is a recognized element in the model - an Association connector

Example:


Display Inherited Attributes [Enterprise Architect User Guide]

Display Inherited Attributes

When displaying a Class with attributes in a diagram, you can also show the inherited attributes from all parents in the elements type hierarchy (ancestors).

Access: Right-Click element (on diagram) context menu | Feature Visibility (Ctrl + Shift + Y)

Topics:

Topic

Detail

See also

Override Attribute Initializers

Note that for elements that have attributes, you can also override an inherited attribute's initial value using the element context menu option Advanced | Override Attribute Initializers to display the Override Attribute Initializers dialog

In this dialog, select the variable name and enter a new initial value

If required, type a note in the Note field

When you display inherited attributes, Enterprise Architect merges the list of attributes from all ancestors and merges the attribute initializers, so that the final child Class displays the correct attribute set and initial values

Example:

Attributes - Inherited

Learn More:

  • Feature Visibility


Create Object From Attribute [Enterprise Architect User Guide]

Create Object From Attribute

If you drag an attribute from the Project Browser onto an Activity diagram, the attribute generates an Object element of the same name. This is very useful for creating connectors between elements and specific attributes. For example, a Class element of stereotype table defines its fields as attributes; Requirement elements that define requirements for those fields can then be linked to the appropriate table fields via the attribute Object elements.

Topics:

Topic

Detail

See also

Explanation

In the following diagram, the billingAddress Object was generated by dragging the billingAddress attribute from the Account Class in the Project Browser onto the diagram

The user then created Realize relationships between the Account element and the billingAddress element, and between the billingAddress element and the REQ028 Requirement element

Example:

Notes:

  • From Enterprise Architect release 7.5, you can create this relationship more directly by linking an attribute in an element to another element, or linking two attributes in different elements

Learn More:

  • Connect to Element Feature


Object Classifiers [Enterprise Architect User Guide]

Object Classifiers

Topics:

Image

Topic

Detail

See also

DropObjects

Object Classifiers

Many elements model classifications (such as Classes and Actors), whilst other elements model instances of such classifications (such as Objects, Actors again, and Sequence diagram objects). These instance elements represent real things in a run-time scenario; for example, a Person element named Joe Smith. In UML this is written as Joe Smith: Person.

You can define a classifier first, and then instances of that classifier. Alternatively, as a model develops from a rough sketch to a detailed design, many objects become examples of a defined Class, so in the early analysis phase you might model a Joe Smith and a Jane Smith, and later a Person Class from which Joe and Jane are instantiated.

Enterprise Architect enables you to associate an Object with its template element (its classifier), such as a Class. Doing this greatly increases the descriptive power of the model in capturing the functionality and responsibility of Objects at run-time and their associated state. For example, if you describe a Person Class with attributes such as Age, Name, Address and Sex, and functions such as GetAge and GetName, then when you associate your Object with the Person Class it is seen to have all the Person Class behavior and state (as well as inherited state and behavior from Person's ancestors).

Elements that are classifiers and support instances of themselves at runtime can be dropped from the Project Browser as a link to the classifier itself, or a new instance of the classifier. The example below shows a linked Node element on the left and an instance of the Node on the right. Note that the instance is drawn like a simple element with the : <ElementName> displayed. If you name your instance it displays <InstanceName> : <ElementName>.

Notes:

  • This is a powerful means of moving your model from the analysis phase into detailed design


Using Classifiers [Enterprise Architect User Guide]

Using Classifiers

If you right-click on an Object in a diagram, the element context menu displays the Advanced | Instance Classifier menu option. Select this option to choose a single element (generally a Class) as the classifier or template for this Object.

The Select <Item> dialog displays. Use this to set the instance classifier.

The Object name is then displayed as Object: Classifier; for example a Person object named Joe Smith is displayed as Joe Smith: Person.

Topics:

Topic

Detail

See also

If an object has a Classifier

It is important to remember that an Object is only an instance of a classifier at runtime, so the appropriate attributes and operations are those of the classifier, not the Object. Therefore, in the context menu for the Object, if you select the Attributes or Operations menu options, the Attributes or Operations dialog displays for the classifier, not the Object.

If you set the classifier for an Object in a Sequence diagram, when you add a message the drop-down list of available messages derived from the target Object come from the classifier, not the Object selected. This enables you to associate Sequence diagram objects with Classes and use the defined behavior of the Class to model actual behavior at run time.

You can also select a message for a State Flow connector. The same rules apply as for Sequence diagram objects.

Note that in the Message dialog you can also select to include messages defined in the target classifier's inheritance hierarchy.

Learn More:

  • Select <Item> Dialog


Behavior [Enterprise Architect User Guide]

Behavior

Enterprise Architect enables you to define an element's behavior through the element's operations and parameters. You can also define the behavior of more specific behavioral elements such as Activities, Interactions, Actions and Interaction Occurrences, through the Behavior and Call tabs of the element Properties dialogs.

Learn More:

  • Operations
  • Interactions and Activities
  • Behavior Calls
  • Behavior Parameters
  • Behavior Call Arguments


Operations [Enterprise Architect User Guide]

Operations

Operations are features of a Class or other element that represent the behavior or services an element supports. For a Customer Class, UpdateCustomerName and GetCustomerAddress can be operations. Operations have several important characteristics, such as type, scope (visibility), static, abstract and notes.

Topics:

Images | Topic | Detail | See also
 | How to Access Operations | If an element supports operations (typically Classes and Interfaces), the right-click context menu contains the Operations menu item. Select this to open the Operations dialog. Alternatively, press ( F10 ) . | Operations dialog
Class | How Operations Appear in Diagrams | Elements with operations (typically Classes) display their features in diagrams in the manner shown below. Operations display in the second compartment of properties in colored text - the default color is dark green (for example, Finalize() : void). Some characteristics display in shorthand form; for example, static displays as $, abstract as *. |
ProjectBrowserOperations | Operations in the project Browser | In the Project Browser, Classes with operations have their features collected beneath them, each preceded by a pink box ( opbox ). Right-click on an operation and select the Operation Properties context menu option to open the Operations dialog and edit details for the feature. From the Project Browser, you can drag operations onto new elements to give them the same operations. |

Notes:

  • If the parent element provides source or target roles for a connector, the connector can be attached to a specific operation. See the Connect to Element Feature topic

Learn More:

  • Behavior Parameters
  • Connect to Element Feature


Operations Dialog - General [Enterprise Architect User Guide]

Operations Dialog - General

The Operations dialog has seven tabs:

  • General
  • Parameters
  • Behavior
  • Advanced
  • Tagged Values
  • Pre-conditions and Post conditions (that is, Constraints)

The General tab of the Operations dialog enables you to define new operations and set the most common properties, including name, access type and return.

Field/Button

Usage

See also

Name

Display the selected operation name.

Parameters

Display the parameter list. See Parameters Dialog for information regarding what this string can contain.

Parameters Dialog

Edit Parameters

Open the Parameters dialog.

Return Type

(Not shown for State or State Machine elements.)

Display the data type returned by the operation.

The type can be defined by the code language (data type) or by a classifier element. When you click on the drop-down arrow, the set of values in the list provides the appropriate data types.

To select or define possible classifiers, either click on the Select Type option in the list, or click on the ( ... ) (Select) button to display the Select <Item> dialog.

To add new code language data types that can be displayed in this list, see the Data Types topic.

Instance classifier

Data Types

( ... ) (Return Type Browse button)

Open the Select <Item> dialog to select the operation return type.

(Not shown for State or State Machine elements.)

Instance classifier

Action

Define the action of the operation: do, exit or entry.

(For State or State Machine elements.)

State

State Machine

Scope

Select Public/Protected/Private/Package.

Stereotype

Specify an optional stereotype for this operation.

Concurrency

Set the concurrency of the operation.

Alias

Define an optional alias for the operation.

Notes

Enter free text notes. You can format this text if necessary, using the Notes toolbar at the top of the field.

Notes toolbar

Virtual/Abstract

If the operation's language is set to C++, map to the C++ Virtual keyword. Otherwise this option is Abstract, pertaining to an abstract function.

(Not shown for State or State Machine elements.)

Return Array

Indicate that the return value is an array.

(Not shown for State or State Machine elements.)

Synchronized

Specify a code engineering flag that relates to multi threading in Java.

(Not shown for State or State Machine elements.)

Static

Indicate that the operation is a static member.

(Not shown for State or State Machine elements.)

Const

Indicate that the return type of this method is constant.

(Not shown for State or State Machine elements.)

Pure

Indicate that C++ is pure virtual syntax - for example:

virtual void myFunction( ) = 0;

(Not shown for State or State Machine elements.)

IsQuery

Indicate that this method does not modify the object.

(Not shown for State or State Machine elements.)

Operations

List the defined operations.

Up/Down Buttons

Change the order of operations in the list.

New

Create a new operation.

Copy

Copy the currently selected operation.

Save

Save a new operation, or save modified details for existing operation.

Delete

Delete the currently selected operation.

Notes:

  • The General tab can vary according to the type of element you are adding an operation to. If defining operations for a data modeling table, see the Indexes, Triggers and Check Constraints topics
  • If you make changes and do not save them, the Cancel button prompts you to confirm or cancel the changes, whilst the Close button closes the dialog immediately and does not save the changes
  • If you are creating many operations, go to the Attribute/Operations page of the Options dialog (Tools | Options | Source Code Engineering | Attribute/Operations) and select the After save, re-select edited item checkbox. Now, when you create an operation and click on the Save button, the dialog fields clear ready for you to enter the details of the next operation. This helps you when you want to create operations quickly and might not necessarily want to fully define each one as you create it

Learn More:

  • Operation Parameters
  • Behavior
  • Operation Constraints
  • Indexes
  • Triggers
  • Check Constraints


Operations Dialog - Behavior [Enterprise Architect User Guide]

Operations Dialog - Behavior

This topic illustrates how to elaborate a method's function in a diagram. The Behavior tab of the Operations dialog enables you to enter free text to describe the functionality of an operation. Use pseudo-code, structured English or just a brief description.

You can also use the Behavior tab to formally describe a method or State action and have the text appear under the method/action name in a diagram.

Topics:

Images

Topic

Detail

See also

DiagramBehavior

State Operations - Behaviour

A State's do, entry and exit operations optionally refer to other behaviors such as Activities, Interactions or Operations. Use the ( ... ) (browse) button to invoke the Select <Item> dialog, and locate and select the required behavior.

Select <Item> Dialog

Associate with Behaviour

A Class operation can be associated with a behavior elsewhere in the model. Display the operation's Properties dialog, select the Behavior tab, click on the ( ... ) (browse) button and select the required behavior from the Select Element dialog. The behavior is set in the Behavior field, and the operation is then set as the specification of the associated behavior.

In behavioral code generation, the behavior of the associated behavioral element is generated as the operation's code. In the following illustration, Op1 is associated with the Activity Activity.

Example Code

The generated code for Op1 is as follows:

package Package;

public class Container {

public Container(){

}

public void finalize() throws Throwable {

}

public void op1(){

/*Activity element(Activity1)'s behavior rendered as
operation(op1)'s code*/

//Action1;

if (cond1)

{

//Action2;

}

else

{

//Action3;

}

//Action4;

}

/*Activity element(Activity1)not rendered*/

public void Activity2()

{

// behavior is a Activity

}

public void Interaction()

{

// behavior is a Interaction

}

}//end Container

Learn More:

  • Initial Code


Initial Code [Enterprise Architect User Guide]

Initial Code

Topics:

Topic

Detail

See also

Usage

On the Behavior tab of the Operations dialog, you can use the Initial Code field to enter code to be inserted into an operation body when the operation is first generated to file. After this point, forward code generation and synchronization do not replace the existing operation code with the Initial Code field.

By default, the Initial Code field also is not imported into the model during reverse engineering, but you can select to import the field by selecting the Include method bodies in model when reverse engineering checkbox on the Options dialog.

This field is most useful when combined with UML Patterns. Elements within a pattern often require the same stub code. Notice that the language specific patterns available from www.sparxsystems.com/resources/developers/uml_patterns.html include initial code for some of the defined operations. This helps speed up the process of applying patterns from model to implementation. The Initial Code section is also useful for ensuring that the generated code is directly compilable.

Options- Attributes/Operations

UML Patterns

www.sparxsystems.com/resources/developers/uml_patterns.html


Operations Dialog - Constraints [Enterprise Architect User Guide]

Operations Dialog - Constraints

Topics:

Topic

Detail

See also

Usage

Operations can have pre- and post- conditions defined. For each type, give the condition a name, a type and enter notes.

Constraints define the contractual behavior of an operation, what must be true before they are called and what is true after. In this respect they are related to the state model of a Class and can also relate to the guard conditions that apply to a transition.


Operation Tagged Values [Enterprise Architect User Guide]

Operation Tagged Values

Operations can have Tagged Values associated with them. Tagged Values offer a convenient extension mechanism for UML elements, so you can define any tags you like and then assign values to them using this form.

Tagged Values are written to the XMI output, and can be input to other third party tools for code generation or other activities.

How To:

To add a Tagged Value for an operation, follow the steps below:

Step | Action | See Also
1 | Click on the Tagged Values tab of the operation Properties dialog |
2 | Click on the New Tags button The Tagged Value dialog displays |
3 | In the Tag field, type the tag name (or select a defined tag from the drop-down list) In the Value field type the initial tag value |
4 | Click on the OK button to confirm the operation |

Notes:

  • Tagged Values are supported for attributes, operations, objects and connectors
  • You can define custom tags using a predefined Tagged Value Type

Learn More:

  • Create a Custom Tagged Value


Override Parent Operations [Enterprise Architect User Guide]

Override Parent Operations

In Enterprise Architect, you can automatically override methods from parent Classes and from realized Interfaces.

Access: Element | Advanced | Overrides & Implementations

Topics:

Topic

Detail

See also

Usage

In the Override Operations/Interfaces dialog, check the operations/interfaces to automatically override and click on the OK button. Enterprise Architect generates the equivalent function definitions in your child Class.

You can configure Enterprise Architect to display this dialog each time you add a Generalization or Realization connector between Classes, and review their possible operations/interfaces to override/implement. Do this from the Links page of the Options dialog (select the Tools | Options | Links menu option).


Display Inherited Operations [Enterprise Architect User Guide]

Display Inherited Operations

You can configure an element in a diagram to display the complete operation set obtained from all ancestors in the element's type hierarchy, as well as those directly owned.

Access: Element | Feature Visibility | Shortcut: ( Ctrl+Shift+Y )

Example:

The following diagram illustrates this behavior when enabled for each element in a simple hierarchy.

Operations - Inherited


Interactions and Activities [Enterprise Architect User Guide]

Interactions and Activities

The behavioral aspects of Interactions and Activities are modeled using the Behavior tab of the element Properties dialog, which enables you to assign parameters and return types to the elements.

Topics:

Topic

Detail

See also

Usage

Use the Edit Parameters button to edit an element's parameters. When you create a new parameter using the dialog, it internally creates an Activity Parameter Node for an Activity or an Interaction Parameter for an Interaction. In the Return field, click on the drop-down arrow and select the return type of the element.

The specification field is populated automatically when an operation is associated with the activity as a behavior.

Parameters Dialog

Activity Parameter Nodes

Operations Dialog - Behaviour


Behavior Calls [Enterprise Architect User Guide]

Behavior Calls

A behavior call is the invocation of a behavior. You can represent an invocation with a Call Operation Action (Operation), Call Behavior Action (Activity) or Interaction Occurrence (Interaction) element. You model the properties of the behavior call using the Call tab of the element Properties dialog.

Use To:

  • Edit Arguments
  • Re-associate the call with a different behavior
  • Synchronize the arguments with the parameters in the associated behavior

Topics:

Topic

Detail

See also

Usage

Click on the Edit button to create and delete arguments, and relate them to a corresponding parameter in the associated behavior.

Click on the ( ... ) (Select Behavior) button to re-associate the invocation with a different behavior or to remove any association with the current behavior.

The Interaction Occurrence panel is displayed only for Interaction Occurrence elements. It enables you to enter the return value and attribute of the behavior call.

Learn More:

  • Action Notation
  • Interaction Occurrence
  • Arguments
  • Associate with Different Behavior
  • Synchronize Arguments


Associate with Different Behaviors [Enterprise Architect User Guide]

Associate with Different Behaviors

On the Call tab of the Behavior Call Properties dialog, when you click on the ( ... ) (Select Behavior) button the Select <Item> dialog displays, listing all available behaviors in the model.

Topics:

Topic

Detail

See also

Usage

Select <none> to remove any existing association between an invocation and a behavior, or select another classifier to re-associate the invocation with a different behavior.

The Synchronize with Parameters button is enabled only if a valid behavior is identified in the Behavior field.

Learn More:

  • Select <Item> Dialog


Synchronize Arguments [Enterprise Architect User Guide]

Synchronize Arguments

Topics:

Topic | Detail | See also
Usage | On the Call tab of the element Properties dialog, click on the Synchronize with Parameters button to synchronize the number of arguments in the invocation element with the number of parameters in the associated behavior. This automatically creates or deletes arguments based on the number of parameters in the behavior. If any arguments are to be deleted, Enterprise Architect prompts you to confirm the operation. Click on the Yes button to confirm. |

Notes:

  • The Synchronize with Parameters button is enabled only if the invocation is associated with a valid behavior, as identified in the Behavior field


Behavior Call Arguments [Enterprise Architect User Guide]

Behavior Call Arguments

You define the arguments of a Behavior Call using the Arguments dialog, which you display by clicking on the Edit button on the Call tab of the element Properties dialog.

How To:

To define the arguments of a Behavior Call, follow the steps below:

Step | Action | See Also
1 | In the Name field, type the name of an argument to map to the behavior |
2 | In the Parameters field, click on the drop-down arrow and select a behaviors parameter from the list of parameters associated with the behavior |
3 | In the Value field, set any required value. |
4 | If a diagram is displayed, and if required, select the Show in current diagram checkbox to add an Action Pin on the diagram | Action Pin
5 | Click on the Save button |
6 | If appropriate, click on the New button and repeat steps 1 to 5 for another argument:parameter mapping |

Notes:

  • If you attempt to map a newly created argument to a parameter that is already associated with a different argument, Enterprise Architect identifies the mapping and prompts you to confirm that you intend to change the association

Learn More:

  • Behavior Calls


Behavior Parameters [Enterprise Architect User Guide]

Behavior Parameters

This topic area describes the facilities for defining, editing and extending the parameters of behavioral operations, Activities and Interactions.

Learn More:

  • Parameters Dialog
  • Parameter Tagged Values
  • Operation Parameters By Reference


Parameters Dialog [Enterprise Architect User Guide]

Parameters Dialog

The Parameters dialog enables you to define the parameters of an operation, Activity or Interaction. The parameter list is reproduced in code in the order the parameters appear in the parameters list, so use the Up and Down buttons to move parameters into their required positions. Additionally, you can select the Add new to end checkbox to force new parameters to appear at the end of the list instead of the top.

Reference:

Field

Usage

See also

Name

Indicates the parameter name.

Type

Select the data type of the parameter.

Alternatively, click on the ( ... ) button and select the element classifier to define the type.

Default

Indicates an optional default value for the parameter.

Stereotype

Indicates a stereotype name, specification of a Stereotype name can also be chosen via the drop-down list.

Kind

Indicate the way a parameter is passed to a function:

  • In = By Value
  • InOut = By Reference
  • Out is passed by Reference, but only the return value is significant.

Fixed

Set the parameter to const, even if passed by reference.

Alias

Indicates an optional alias for the parameter.

Add new to end

Place new parameters at the end of the list instead of the start.

Multiplicity

Display the Multiplicity dialog, to specify the multiplicity of the parameters.

Notes

Indicates any additional notes on the parameter.

Below is information regarding the Multiplicity dialog.

Reference:

Field | Usage | See also
Lower bound | Define a lower limit to the number of elements allowed in the collection. |
Upper bound | Define an upper limit to the number of elements allowed in the collection. |
Allow Duplicates | Indicate that duplicates are allowed. Maps to the UML property isUnique, value FALSE). |
Multiplicity is Ordered | Indicate that the collection is ordered. |

Notes:

  • Set the amount of parameter detail to display in a specific diagram using the Show Parameter Detail drop-down list on the Diagram Properties dialog. The setting applies only to the current diagram. The default is to show the type only

Learn More:

  • Parameter Tagged Values
  • Operation Parameters by Reference
  • Visible Class Members


Parameter Tagged Values [Enterprise Architect User Guide]

Parameter Tagged Values

Behavioral parameters can have Tagged Values associated with them. Tagged Values offer a convenient extension mechanism for UML elements; you can define any tags you like and then assign values to them using this form.

Tagged Values are written to the XMI output, and can be input to other third party tools for code generation or other activities.

How To:

To add a Tagged Value for a parameter, follow the steps below:

Step | Action | See Also
1 | Double-click on the operation, Activity or Interaction containing the parameter in a diagram or in the Project Browser The Properties dialog displays |
2 | Click on the Tagged Values tab, which shows the Tagged Values for the selected object and its parameters |
3 | Click on the required parameter in the Parameters compartment of the Tagged Values tab, and click on the New Tags button The Tagged Value dialog displays |
4 | In the Tag field, type the tag name (or select a defined tag from the drop-down list) In the Value field type the initial tag value |
5 | Click on the OK button to confirm the Tagged Value |

Notes:

  • Tagged Values are supported for attributes, operations, objects and connectors
  • Custom tags can be created using a predefined Tagged Value Type

Learn More:

  • Create a Custom Tagged Value


Operation Parameters by Reference [Enterprise Architect User Guide]

Operation Parameters by Reference

Access: Tools | Options | Objects : Feature reference indicator

Topics:

Image

Topic

Detail

See also

ParamByReference3

Usage

You can select to highlight parameters declared as 'Kind: inout' or 'Kind: out' with an additional user-defined prefix or suffix.

If you select the Highlight References checkbox, you can also indicate whether a prefix or suffix should be used, and the actual reference character to use. In the example above, the & character has been set as a prefix.

When you declare a parameter of type inout, it is assumed you are passing the parameter by reference rather than by value. If you have elected to highlight references, then this is displayed in the Diagram View.

The example to the left shows that, in the getName operation, the parameter strName is a string reference, and is highlighted using the chosen character and position.

Objects

Notes:

  • This facility currently applies to operations only


In-place Editing Options [Enterprise Architect User Guide]

In-place Editing Options

This topic explores the tasks that can be performed using in-place editing of elements on a diagram in Enterprise Architect. The tasks include:

  • View Properties
  • Edit Element Item Name
  • Edit Feature Stereotype
  • Edit Feature Scope
  • Edit Attribute Keyword
  • Edit Operation Parameter Keyword
  • Insert Operation Parameter
  • Edit Parameter Kind
  • Insert New Feature (Attribute or Operation)
  • Insert Maintenance Feature
  • Insert Testing Features
  • Delete Selected from Model


In-place Editing Tasks [Enterprise Architect User Guide]

In-place Editing Tasks

How To:

To use the in-place editing menu options, follow the steps below:

Images | Step | Action | See Also
 | 1 | Open the diagram containing the element |
SelectedElementEdit | 2 | Click on the element, and on the item to manipulate within the element The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected |
 | 3 | Edit and manipulate the items in the element, either by pressing the appropriate keyboard keys or by right-clicking on the highlighted item and choosing a task from the Element Items context menu The available commands are listed in the table below |

Reference:

Menu option... | Usage | Shortcut | See also
Edit Selected | Change the name, scope or stereotype of the element or element item | F2 |
View Properties | Display the dialog containing details of the element | Enter |
Insert New After Selected | Insert a new item in the element | Insert |
Find in Project Browser | Locate the item in the Project Browser |  |
Add Attribute | Add an attribute to the element | Ctrl + Shift + F9 |
Add Operation | Add an operation to the element | Ctrl + Shift + F10 |
Add Other | Insert a feature on the specific element item, such as Maintenance features and Testing features | Ctrl + F11 |
Delete Selected from Model | Delete the selected item from the model | Delete |
View Source code | Display the source code for the element, in the default external editor | F12 | The Source Code Viewer
Set Breakpoint | Set a breakpoint on a highlighted operation (including a breakpoint, start recording marker, end recording marker or stack auto-capture marker) |  | Breakpoint and Marker Management Marker types
 | Navigate Diagram Selection, to navigate the diagram between elements without having to use the mouse | Ctrl + Shift + arrow key |
 | Toggle element highlight option on and off | Shift + Enter |

Other options that are available while editing element attributes or operations in a diagram include:

Menu options | Usage | Shortcut | See also
 | Accept current changes | Enter |
 | Accept current changes and open a new slot to add a new item | Ctrl + Enter |
 | Abort the edit, without save | Esc |
 | Move the cursor between segments of a feature definition | Tab or Shift + Tab |
 | Display the context menu for in-place editing | Shift + F10 |
 | Invoke the Select <Item> dialog | Ctrl + Shift + Space | Select <Item> Dialog
 | Display an autocompletion list for a feature classifier | Ctrl + Space |

Notes:

  • Most of the in-place editing menu commands have keyboard alternatives; for many of them, if the selected item happens to be off-screen when you press the appropriate keys, the diagram automatically scrolls to show the whole element, so that you can see what you are changing


Edit Element Item Name [Enterprise Architect User Guide]

Edit Element Item Name

How To:

To change the name of the element, or the name of an operation or attribute, directly from the diagram, follow the steps below

Images | Step | Action | See Also
 | 1 | Open the diagram containing the element |
SelectedElementEdit | 2 | Click on the element and on the name to change within the element The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected |
 | 3 | Right-click on the item The context menu displays |
 | 4 | Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the item directly from the diagram The name of the attribute or operation is highlighted |
ElementFeatureSelected | 5 | Delete or type over the name |
 | 6 | Press ( Enter ) to accept the change, or ( Esc ) to cancel the change |


Edit Feature Stereotype [Enterprise Architect User Guide]

Edit Feature Stereotype

How To:

To change the stereotype of an operation or attribute directly from the diagram, follow the steps below:

Images | Step | Action | See Also
 | 1 | Open the diagram containing the element |
SelectedElement2 | 2 | Click on the element, and on the item to edit within the element The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected |
 | 3 | Right-click on the item The context menu displays |
 | 4 | Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the attribute or operation directly from the diagram The name of the item is highlighted |
elementStereotypeEdit | 5 | Move the cursor to the position before the name or within the existing attribute or operation stereotype (denoted by «stereotype name») |
 | 6 | Delete or type over the previous name to change the stereotype name of the attribute or operation |
 | 7 | Press ( Enter ) to accept the change or ( Esc ) to cancel the change |

Notes:

  • You can assign multiple stereotypes by including a comma-separated list inside the stereotype markers


Edit Feature Scope [Enterprise Architect User Guide]

Edit Feature Scope

To rapidly change the scope of an attribute or operation directly from the diagram, follow the steps below

How To:

Images

Step

Action

See Also

1

Open the diagram containing the element

SelectedElement2

2

Click on the element and on the item to edit within the element

The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Right-click on the item

The context menu displays

4

Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the attribute or operation directly from the diagram

The name of the item is highlighted.

EditElementScope

5

Move the cursor to the scope of the item and delete the previous entry

6

Reassign the entry by typing in one of the following symbols:

  • + indicates that the scope is Public
  • - indicates that the scope is Private
  • ~ indicates that the scope is Package
  • # indicates that the scope is Protected

7

Press ( Enter ) to save the change, or ( Esc ) to cancel the change

The diagram is updated to reflect the changes (also see the catalogNumber attribute in the screen illustrations to the left)


Edit Attribute Keyword [Enterprise Architect User Guide]

Edit Attribute Keyword

You can add features such as attribute keywords and classifiers directly to an element, using the Element Keywords and Classifiers menu. This enables you to rapidly assign details element item by element item, directly from a diagram.

How To:

To add features directly to an element, follow the steps below:

Images

Step

Action

See Also

1

In Enterprise Architect, open the diagram containing the element

SelectedElement2

2

Click on the element, and on the attribute to edit within the element

The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Right-click on the item

The context menu displays.

4

Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the attribute directly from the diagram

The name of the attribute is highlighted

5

Right-click on the attribute name to display the context menu

6

From the context menu, you can:

  • Change the attribute classifier to static or fixed - select the static or fixed menu options as appropriate; the diagram is updated to reflect the changes
  • Display the Class properties - click on the Goto Definition menu option; Enterprise Architect locates the Class in the Project Browser and opens its Properties dialog

    If the data type is a raw data type, Enterprise Architect displays the message: The data type is a raw data type

Properties Dialog


Edit Operation Parameter Keyword [Enterprise Architect User Guide]

Edit Operation Parameter Keyword

You can directly edit operation classifiers by element, using the in-place editing menu. This enables you to rapidly assign parameter keywords.

How To:

To directly edit operation classifiers by element, follow the steps below:

Images

Step

Action

See Also

1

Open the diagram containing the element

EditElementOperationsKey

2

Click on the element, and on the operation to edit within the element

The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Right-click on the item

The context menu displays

4

Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the operation directly from the diagram

The name of the operation is highlighted

5

Right-click on the data type of a parameter to display the context menu

6

From the context menu you can:

  • Change the operation classifier by clicking on the appropriate menu option - static, isquery, abstract or fixed; the diagram is updated to reflect the changes
  • Display the Class properties - click on the Goto Definition menu option

    If the data type is Class, Enterprise Architect locates the Class in the Project Browser and opens its Properties dialog

    If the data type is a raw data type, Enterprise Architect displays the message This data type is a raw data type

    If the data type is not defined in the model, the message is: The data type is not defined in the model

Properties Dialog


Edit Parameter Kind [Enterprise Architect User Guide]

Edit Parameter Kind

You can edit operation parameter kinds such as ( in ) , ( inout ) and ( out ) directly from a diagram element by element, using the Element Keywords and Classifiers menu. This enables you to rapidly assign the parameter directly from a diagram.

How To:

To edit operation parameter kinds directly from a diagram, follow the steps below:

Images | Step | Action | See Also
 | 1 | In Enterprise Architect, open the diagram containing the element |
EditElementOperationsKey | 2 | Click on the element, and on the operation to edit within the element The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected |
 | 3 | Right-click on the item The context menu displays |
 | 4 | Select the Edit Selected menu option (or press ( F2 ) ) to enable you to edit the item directly from the diagram The name of the item is highlighted |
 | 5 | Right-click on the item name to display the context menu |
 | 6 | Select the appropriate menu option for the parameter kind value: ( in ), ( inout ) and ( out ) The diagram is updated to reflect the change |


Insert New Feature [Enterprise Architect User Guide]

Insert New Feature

How To:

To add attributes and operations to a Class diagram element, follow the steps below:

Images

Step

Action

See Also

1

Open the diagram containing the element to which you are adding an attribute or operation

SelectedElement2

2

Click on the element and, within the element, on the item after which to insert the operation or attribute

The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Either:

  • Press ( Insert ) or
  • Right-click on the selected element item to display the context menu and select the Insert New After Selected menu option

Enterprise Architect inserts a new data line in the diagram, underneath the selected item

4

Type in the relevant information for the attribute or operation

Use the ( Tab ) and ( Tab+Shift ) keys to move the cursor through the segments of the attribute or operation, and select the classifier from either the:

  • Autocompletion list (press the ( Ctrl+Space ) keys) or
  • Select <Item> dialog (press the ( Ctrl+Shift+Space ) keys)

Autocompletion List

Select <Item> Dialog

5

Press ( Enter ) to accept the change or ( Esc ) to cancel the change

The diagram is updated to reflect the changes


Insert Operation Parameter [Enterprise Architect User Guide]

Insert Operation Parameter

You can add operation parameters to an operation through the in-place editing options, using hotkey commands or menu shortcuts.

How To:

To add parameters to operations in a Class diagram element, follow the steps below:

Images

Step

Action

See Also

1

Open the diagram containing the element

EditElementOperationsKey

2

Click on the element, and on the operation to update within the element

The item line is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Press ( F2 ), or right-click on the selected item to display the context menu and select the Edit Selected option

4

Move the cursor inside the parameter brackets and type the parameter name, followed by a colon (for example, bks: for a vector containing books)

5

Give the parameter a type

Place the cursor after the colon at the end of the name and add the classifier; either:

  • Press ( Ctrl+Space ) to invoke the classifier autocompletion list
  • Press ( Ctrl+Shift+Space ) to select a classifier from the Select <Item> dialog or
  • Right-click the mouse to display the inline editing options context menu and select the Insert Classifier option

The Select <Item> dialog displays

Autocompletion List

Select <Item> Dialog

6

Press ( Enter ) to accept the change or ( Esc ) to cancel the change

The diagram is updated to reflect the changes.


Insert Maintenance Feature [Enterprise Architect User Guide]

Insert Maintenance Feature

How To:

To rapidly assign maintenance details such as Defects, Changes, Issues and Tasks directly to an element from a diagram, follow the steps below:

Images

Step

Action

See Also

1

Open the diagram containing the element

EditSelectedTest

2

Click on the element name

The name is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Either:

  • Press ( Ctrl+F11 ) or
  • Right-click on the highlighted name to display the context menu, and select the Add Other option

The Insert Feature dialog displays

4

Click on the appropriate radio button option to associate the required maintenance feature with the element item

5

Click on the OK button

The <Maintenance Feature> details for <element> dialog displays

6

Complete the fields to define the maintenance activity, and then click on the Apply button

To create a subsequent maintenance activity of this type, click on the New button

DisplayMaintenaceFeature

7

When you have defined all of the maintenance activities of this type, click on the OK button

The maintenance details are added to the element

Notes:

  • To ensure that the maintenance items are visible in the diagram element, as shown in step 7, select the Maintenance checkbox on the Elements tab of the Diagram Properties dialog

Learn More:

  • Show Maintenance Script in Diagram


Insert Testing Features [Enterprise Architect User Guide]

Insert Testing Features

How To:

To rapidly add testing features such as Unit, Integration, System, Acceptance and Scenario tests to an element directly from a diagram, follow the steps below:

Images

Step

Action

See Also

1

Open the diagram containing the element

EditSelectedTest

2

Click on the element

The element name is highlighted in a lighter shade (the default is white), to indicate that it has been selected

3

Either:

  • Press ( Ctrl+F11 ) or
  • Right-click on the highlighted name to display the context menu and select the Add Other option

The Insert Feature dialog displays

4

Click on the appropriate radio button option to associate the required testing feature with the element

5

Click on the OK button

The Testing window opens, showing the appropriate panel for the type of test selected

6

Complete the fields to define the test activity, and then click on the Save icon in the window toolbar

The test is added to the element

The Testing Workspace

DisplayTestingFeature

7

To create a subsequent test activity of this type, click on the New icon

To add items for other types of test, click on the appropriate tab

Notes:

  • To ensure that the test items are visible in the diagram element, as shown in step 7, select the Testing checkbox on the Elements tab of the Diagram Properties dialog

Learn More:

  • Show Test Script Compartments


Linked Documents [Enterprise Architect User Guide]

Linked Documents

In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, you can link an RTF document to any UML element in the model.

All editions of Enterprise Architect provide an additional UML Artifact - Document Artifact - that can contain an RTF document internally.

You create linked documents from Linked Document Templates, which you define with the Document Template Editor.

Topics:

Topic

Detail

See also

Usage

Documents created via the Document Artifact element are rendered into RTF Documentation by selecting the Linked Document checkbox in the RTF Style Template Editor.

The Linked Document checkbox is within the Element hierarchy, towards the end. Remember that checkboxes can be moved up and down the hierarchy to position information in the generated document as you require. In some templates, the Linked Document checkbox is only available as a child of the External Requirements checkbox.

The linked document is rendered into the RTF documentation at:

linked document >

<linked document

Notes:

  • When you have saved the document, an A symbol displays in the bottom right corner of the element

Learn More:

  • Document Artifact
  • Create Linked Document Templates
  • Edit Linked Document Templates
  • Select Components For Documentation
  • Create Document Artifact
  • Link Document to UML Element
  • Edit Linked Documents
  • Hyperlink From Linked Document
  • Create Element From Document
  • Replace or Delete Documents
  • Generate RTF Documentation Dialog


Create Document Artifact [Enterprise Architect User Guide]

Create Document Artifact

Topics:

Topic

Detail

See also

Usage

You create a Document Artifact element In a Component or Deployment diagram.

Drag and drop the Document Artifact element from the Toolbox into your diagram.

Double-click on the Document Artifact element. The Linked Document Editor opens, with the New Linked Document dialog.

In the Copy template field, click on the drop-down arrow and select a previously-created Linked Document Template. Click on the OK button.

Component Diagram

Deployment Diagram

Linked Document

Create Linked Document Templates

Edit Linked Document Templates


Link Document to UML Element [Enterprise Architect User Guide]

Link Document to UML Element

How To:

Step

Action

See Also

1

Click on an element in the Project Browser, Diagram List, Package Browser, Model Search or diagram, and either:

  • Select the Element | Linked Document menu option
  • In the Notes window, click on the Linked Document icon in the toolbar
  • Press ( Ctrl+Alt+D ) or
  • Right-click and select the (Create) Linked Document option from the context menu

Alternatively, open the element Properties dialog and click on the Linked Document icon in the toolbar in the Notes field

2

The New Linked Document dialog displays

3

Select the previously-created template from which to create the document

4

Click on the OK button

The Linked Document editor displays

Linked Document Editor

5

Enter the text of the document

Notes:

  • This operation is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions
  • When you have saved the document, an A symbol displays in the bottom right corner of the element

Learn More:

  • Create Linked Document Templates
  • Edit Linked Document Templates


Edit Linked Documents [Enterprise Architect User Guide]

Edit Linked Documents

Topics:

Topic

Detail

See also

Usage

Enterprise Architect provides a Windows-like word processor to help you edit Linked Documents. This is a simplified version of the RTF Style Template Editor, and it provides the same convenient features.

The main difference between the two editors is that you access the RTF Style Template Editor features through a menu bar at the top of the screen, whilst you access the Linked Document Editor features through a context menu. To access the context menu, just right-click anywhere on the document.

You can format and edit the document in a number of ways, and add links from and references to the content of the document. For example, you can highlight a word or term in the linked document and select Create | Glossary Definition to create a glossary definition for that term. Anyone reading the document can, if they check for the term in the Project Glossary, read the definition.

Learn More:

  • Create a Glossary Definition
  • Glossary Dialog
  • Scroll Through Text
  • File and Print Options
  • Cut and Paste Options
  • Image and Object Imports
  • Character Formatting
  • Paragraph Formatting
  • Tab Support
  • Page Breaks and Repagination
  • Insert Headers and Footers
  • Insert Bookmarks
  • Table Commands
  • Sections and Columns
  • Stylesheets and Table of Contents
  • Text/Picture Frame and Drawing Objects
  • Search/Replace Commands
  • Hyperlink From Linked Document
  • Create Elements From Linked Documents


Hyperlink From Linked Document [Enterprise Architect User Guide]

Hyperlink From Linked Document

Topics:

Topic

Detail

See also

How To

To do this, click on the object in the Project Browser and drag it to the point at which to create the hyperlink. The linked document editor automatically creates the hyperlink, using the object name as the hyperlink text. You can edit this text if required.

Similarly, you can create a hyperlink to an element in the model by highlighting the link text in the linked document, right-clicking on it and selecting the Create | Link to Existing Element context menu option. This displays the Select Classifier dialog, from which you select the element to link to.

In either case, when you next open the document, you can double-click on the hyperlink to locate and highlight the object in the Project Browser. You can then perform all normal operations on the object, including opening any linked document on the highlighted element.

You can also create a hyperlink to a wide range of additional objects, such as web pages, Help files, Model Searches and Team Review Forums, by highlighting the appropriate text and then selecting the Create | New | Hyperlink context menu option. This displays the Hyperlink Details dialog. When specifying the object location, you can use full paths or local (path substitution) paths.

For an alternative method of creating a hyperlink to an external document, Help file or web page, see the Hyperlinks and Bookmarks topic.

Select <Item> Dialog

Model Searches

Team Review

Hyperlinks

Hyperlinks and Bookmarks


Create Element From Document [Enterprise Architect User Guide]

Create Element From Document

Using the Linked Document Editor, you can create document-specific elements and diagrams in the Project Browser, with hyperlinks from the document to the created item. When you click on the hyperlink, the element or diagram is highlighted in the Project Browser. The element or diagram is created in the same package as the element for which the linked document was created.

Topics:

Topic

Detail

See also

Usage

You can create and link to any type of element or diagram, but the facility has specific options for the following element types:

  • Class
  • Requirement
  • Issue

You can create the same arrangement with existing elements, diagrams and packages by dragging them from the Project Browser into the text of the document, creating a hyperlink with the item name as the text

Class

Requirement

Issue

Hyperlink From Linked Document

How To:

Step

Action

See Also

1

Open the linked document, either from a Document Artifact element or through the context menu for an existing element (Corporate, Business and Software Engineering, System Engineering and Ultimate editions)

Document Artifacts

Linking Document to UML Element

2

Enter some text, including appropriate text to act as the link (such as the element or diagram name)

3

Highlight the appropriate text and right-click on it

The editor context menu displays

4

Select the Create | New menu option, and the required submenu option

If you select the:

  • Class, Requirement or Issue option, the corresponding element is immediately created in the Project Browser
  • Other option, the New Element dialog displays; specify the element type and - if appropriate - stereotype, and click on the Create button
  • Diagram option, the New Diagram dialog displays; specify the diagram type and click on the OK button

New Elements

New Diagrams

5

The highlighted text is now a hyperlink

Click on the link to highlight the new element or diagram in the Project Browser

You can now edit or expand the element or diagram as required


Replace or Delete Documents [Enterprise Architect User Guide]

Replace or Delete Documents

If a linked document is out of date, you can either edit the text or replace the entire contents from another file.

How To:

To replace the contents, follow the steps below:

Step | Action | See Also
1 | Click in the body of the document and press ( Ctrl+A ) to select all the document text |
2 | Press ( Delete ) |
3 | Right-click and select the File | Import context menu option The Windows Open dialog displays, in which you can browse for the file to import into the document |
4 | Click on the Save icon in the Linked Document screen toolbar |

To delete the linked document, follow the steps below:

Step

Action

See Also

1

Click on an element in the Project Browser or diagram, and either:

  • select the Element | Delete Linked Document menu option or
  • right-click and select the Delete Linked Document context menu option

2

Enterprise Architect prompts you to confirm the deletion; click on the Yes button.

If required, you can now create another linked document for the element.

Learn More:

  • Edit Linked Documents


Create Linked Document Templates [Enterprise Architect User Guide]

Create Linked Document Templates

Topics:

Topic

Detail

See also

Usage

Under the Templates folder, right-click on the Linked Document Templates icon and click on the Create Template context menu option.

Enter a name for your template, or select a previously-created template. Click on the OK button.

You can group your templates into folders. Right-click on your newly created template and select the Assign Template to Group context menu option. Enter a category name and click on the OK button.

You can also modify and delete the templates using the context menu options.

Edit Linked Document Templates

Notes:

  • You can transport these linked document templates between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


Edit Linked Document Templates [Enterprise Architect User Guide]

Edit Linked Document Templates

Double-click on a previously created template in the Resource View to invoke the Linked Document Template Editor.

The Document Template Editor is built into Enterprise Architect.

Learn More:

  • Scroll Through Text
  • File and Print Options
  • Cut and Paste Options
  • Image and Object Inserts
  • Character Formatting
  • Paragraph Formatting
  • Tab Support
  • Page Breaks and Repagination
  • Headers and Footers
  • Hyperlinks and Bookmarks
  • Table Commands
  • Sections and Columns
  • Stylesheets and Table of Contents
  • Text/Picture Frame and Drawing Objects
  • Search/Replace Commands


Connectors [Enterprise Architect User Guide]

Connectors

UML connectors, along with elements, form the basis of a UML model. Connectors link elements together to denote some kind of logical or functional relationship between them. Each connector has its own purpose, meaning and notation and is used in specific kinds of UML diagrams.

Topics:

Topic

Detail

See also

Off-Page Connector

UML, and therefore Enterprise Architect, does not have a connector that continues activity flow between two diagrams

In creating a model diagram, if it becomes necessary to continue flow to another diagram, you should consider revising and simplifying the structure of the process so that groups of Actions are captured in composite Activity elements, and each group of Actions is modeled within the child diagram of an Activity

BPMN, however, does enable you to create off-page connectors

You can also use the Suppress Line Segments menu option to indicate continuation of flow in a large diagram that, when printed, occupies several pages; be aware that these options are purely diagrammatic and do not indicate any diagram relationships in any of the relationship tools

BPMN

Style Menu Section

Learn More:

  • Connector Context Menu
  • Connector Tasks
  • Connector Properties


Connector Context Menu [Enterprise Architect User Guide]

Connector Context Menu

If you right-click on a connector in a diagram, the connector context menu displays. This provides quick access to some important functions.

Topics:

Topic

Detail

See also

Context Menu

The menu is split into up to seven distinct sections:

  • Add-Ins - displays in the first section only if you have Add-Ins installed and registered, such as Eclipse
  • Properties
  • Type Specific
  • Advanced
  • Style
  • Appearance
  • UML Help - Displays the Enterprise Architect Help topic for this connector type
  • Delete - delete the connector with this option

Properties Menu Section

Type-Specific Menu Section

Advanced Menu Section

Style Menu Section

Appearance Menu Section

Connector Role Context Menu

For connectors with Roles, right-clicking a connector within up to 60 pixels of an end point displays a role-specific context menu.

The Role context menu has three additional menu options:

  • A Source/Target Role... menu option that opens the connector specification dialog with the respective role page selected
  • A Multiplicity submenu that enables you to set the multiplicity for the role
  • A Link to Element Feature menu option that displays a dialog through which you can attach the end of the connector to a specific attribute or operation

Source Role

Connect To Element Feature

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included


Properties Menu Section [Enterprise Architect User Guide]

Properties Menu Section

The Properties section of the connector context menu contains the following options:

Menu Option | Action | Shortcut | See also
<Connector type> Properties | Open the Properties window for the selected connector |  | Properties Window
Advanced | Display the Advanced menu |  | Advanced Menu
Attach Note or Constraint | Attach a note or constraint to the connector |  | Attach a Note or Constraint

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included


Type-Specific Menu Section [Enterprise Architect User Guide]

Type-Specific Menu Section

The Type-Specific section of the connector context menu is specific to the object, and only appears for a few different connectors. Some examples are shown below:

Connector

Menu Option

Action

Transition

Locate in State Table

Switch a State Machine diagram to a State Table, with the selected Transition cell highlighted on the table

Transition

Message

Set the value of the Message

Transition

Find Triggers Associated

Identify hidden triggers, and locate a trigger in the Project Browser; if there:

  • Is one trigger, it is immediately highlighted in the Project Browser
  • Are two or more triggers the Element Usage dialog displays, listing the triggers; double-click on the required trigger to highlight it in the Project Browser

Association

Find Association Class

Locate and highlight the Association Class element in the Project Browser

Aggregation

Set Aggregation to Composite

Change the Aggregation to composite

Aggregation

Set Aggregation to Shared

Set the Aggregation to shared; this appears after Set Aggregation to Composite has been selected

InformationFlow

Find Information Item

(Listed only if there are Information Items on the connector)

Locate the Information Item in the Project Browser; if there:

  • Is one item, it is immediately highlighted in the Project Browser
  • Are two or more items the Element Usage dialog displays, listing the items; double-click on the required item to highlight it in the Project Browser

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included


Advanced Menu Section [Enterprise Architect User Guide]

Advanced Menu Section

The Advanced section of the connector context menu contains the following options:

Menu Option | Action | Shortcut | See also
Set Source and Target | Change the source and/or target of the connector |  | Change the source and/or target
Change Type | Change the connector type |  | Change the connector type
Reverse Direction | Reverse the direction of the connector; for example, if the connector is an arrow, the arrowhead swaps to the other end |  |
Specialize Associations | Specify how the properties of this Association specialize the properties of other Associations |  |
Information Flows Realized | Realize any information items conveyed on an Information Flow connector between these same two elements |  | Information Item Realized Information Item Conveyed Information Flow
Dependency Stereotypes | Select a stereotype for the Dependency (or Trace, Role Binding, Occurrence or Represents connector) |  |

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included


Style Menu Section [Enterprise Architect User Guide]

Style Menu Section

The Style section of the connector context menu provides the following options:

Action

Usage

Shortcut

See also

Line Style

Set the connector line style - options are:

  • Direct
  • Auto Routing
  • Custom
  • Bezier
  • Tree (Horizontal, Vertical, Lateral Horizontal or Lateral Vertical)
  • Orthogonal (with Square or Rounded corners)

Set the connector line style

Pin End(s)

Pin the connector start and/or end to the current position on the target element; a sub-menu displays to offer the options of pinning the start point only, the end point only, or both

Once one or both ends are pinned, a fourth option is available to unpin both ends

Bend Line at Cursor

Insert an anchor point on the line at the point of the cursor so you can change the shape of the line

Ctrl + Q

Insert an anchor point

Suppress Line Segment

Hide a segment of a connector so that you can view a part of the diagram that it crosses

To reverse the change, right-click on the connector and select the Show All Line Segments context menu option

Straighten Line at Cursor

Remove an anchor point on the line at the point of the cursor

(This is the exact opposite of Bend Line at Cursor, and (Ctrl+Q) toggles the connector point between the options)

Ctrl + Q

Connector styles

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included
  • If two connectors cross, the later connector has a 'hoop' at the intersection, indicating that the connectors are crossing


Appearance Menu Section [Enterprise Architect User Guide]

Appearance Menu Section

The Appearance section of the connector context menu provides the following options:

Menu Option | Action | Shortcut | See also
Appearance | Set the line color and line thickness of the connector |  |
Visibility | Set connector visibility; see the table below for sub-menu options |  |
Tidy Line Angles | Tidy the line angles of a custom connector |  | Tidy the line angles

Visibility Sub-Menu:

Menu Option | Action | Shortcut | See also
Hide Connector | Hide the connector To show the connector again, follow the steps in the Hide/Show Connectors topic |  | Hide/Show Connectors
Hide Connector in Other Diagrams | Hide or show the connector in other diagrams |  | Hide/Show Connectors
Hide All Labels | Hide or show all labels attached to the connector |  |
Set Label Visibility | Hide or show labels attached to the connector, individually |  | Hide or show labels

Notes:

  • Context menus vary slightly between connector types, and not all menu options are present on all connector context menus; the type-specific menu options are not always included


Connector Tasks [Enterprise Architect User Guide]

Connector Tasks

This topic details some of the tasks associated with managing model connectors, such as:

  • Connect Elements
  • Connect to an Element Feature
  • Change Connector Styles
  • Arrange Connectors
  • Change Connector Type
  • Create Connector in Project Browser
  • Reverse Connector
  • Delete Connectors
  • Hide/Show Connectors
  • Hide/Show Labels
  • Create Generalization Set
  • Change the Source or Target Element
  • Set Relation Visibility
  • Add a Note to a Connector
  • Use Tree Style Hierarchy
  • Create Connector in Project Browser
  • Show Uses Arrow Head
  • Set Association Specializations
  • Change Sequence Message Scope

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions, if security is enabled, you must have Update Element permission to update or delete a connector

Learn More:

  • List of Available Permissions


Connect Elements [Enterprise Architect User Guide]

Connect Elements

Topics:

Topic

Detail

See also

Connect Elements on a Diagram

The fastest and simplest ways to create connectors are using the Quick Linker and using the Toolbox

To create another connector of the same type as the last connector you used, click on the appropriate source element and press ( F3 )

Create Connectors In Place Using the Quick Linker

Create Connectors Using the Toolbox

Create a Group of Elements Using UML Patterns

Create Domain Specific Connectors From UML Profiles

Selecting Connectors

To select a connector, simply click on it; drag handles display, indicating that the connector is selected

This gives the connector focus for keyboard commands such as ( Delete ), and displays connector properties in docked windows such as the Tagged Values window

If there is more than one connector on a diagram, you can cycle through them using the arrow keys

Drag Connectors

You can drag a connector to position it; click on the connector and drag it to where it is to appear - note that there are some limitations on how far or to where you can drag a connector

You can also reattach the end of a connector to a different source or target element

Change the Source or Target Element

Connector Properties and Commands

You can double-click on a connector to change properties, or right-click to display the context menu containing commands to change connector type and direction

You can also highlight the connectors on a specific element; select the element and press ( L ) - all the connectors issuing from or terminating at that element are highlighted

Connector Properties

Change Connector Type

Reverse Connector

Create Connectors Without a Diagram

Sometimes it is useful to create relationships between elements without a diagrammatic representation; you can do this using the Project Browser and the Relationship Matrix

Add Connectors With the Project Browser

Add Connectors With the Relationship Matrix

Notes:

  • You can reposition a connector by selecting and dragging the connectors as required
  • If a connector has source and target roles, you can attach either end of the connector to a specific attribute or operation in the source or target element

Learn More:

  • Connect to Element Feature


Connect to Element Feature [Enterprise Architect User Guide]

Connect to Element Feature

If a connector has source and target roles, you can connect either end of the connector to a specific operation or attribute in the source or target element. This is entirely a visual aid, to indicate which features are significant in the relationship. In code generation or transformation, the link is interpreted as a normal source-element to target-element relationship.

How to:

To connect the end of the connector to a specific operation or attribute, follow the steps below:

Step

Action

See also

1

Right-click on the end of the connector joined to the element containing the required feature

2

Select the Link to Element Feature context menu option

The Link to Element Feature dialog displays

3

In the Feature Type field, click on the drop-down arrow and select the required feature type - Attribute or Operation

The attributes or operations from the element are listed in the Feature field

4

Click on the required attribute or operation, and click on the OK button

The end of the connector changes to a bracket next to the selected feature

You might create a number of feature-to-feature relationships between two elements (such as a Class and a Table that represents the Class data) to produce a diagram similar to the following:

You can change the feature to which the connector is attached by following the above procedure and selecting the new feature

You can break the link to the selected feature in the following ways:

  • Follow the above procedure, setting the Feature Type to None
  • Delete the attribute or operation from the element
  • Change the connector type to a type that does not have source and target roles
  • Change the connector to a different source or target element that does not contain the feature

Note that reversing the direction of the connector does not break the connector's attachment to the feature


Add a Note to a Connector [Enterprise Architect User Guide]

Add a Note to a Connector

This topic describes how you can connect notes and constraints to graphical relationships.

Notes enable you to provide explanations and further detail for one or more connectors on a diagram, with a visible Note element.

How To:

To add a note or constraint to a connector, follow the steps below:

Step | Action | See also
1 | Right-click on one of the connectors to attach a note to The context menu displays |
2 | Select the Attach Note or Constraint menu option The Link Relations dialog displays |
3 | Select the appropriate radio button in the Link Type panel |
4 | Check all the connectors that participate in the set |
5 | Click on the OK button to complete the note or constraint creation |
6 | Use the normal Note dialog to enter the appropriate text for the note or constraint |

Notes:

  • The constraint note is drawn slightly differently to a regular note, and has { and } automatically added to visually indicate the constraint form
  • As an alternative to the procedure above, you can drag the Quick Linker arrow on an existing Note or Constraint, and drag it to the required connector; a Notelink is automatically created to attach the Note or Constraint to the connector

Learn More:

  • Quick Linker


Arrange Connectors [Enterprise Architect User Guide]

Arrange Connectors

Connectors between two elements can be moved around the element borders to create a good layout. There is a limit to how much a connector can be moved around, but generally it is very easy to find an acceptable layout. For the best layouts, use the custom line style; this enables you to add as many line points and bends as you require to create a clean and readable diagram.

How to:

To move and arrange connectors on a diagram, follow the steps below:

Step | Action | See also
1 | Click once on the connector to select it |
2 | Holding the mouse button down, move the connector in the required direction |
3 | To refine the movement, click and hold very near to one end of the connector; this enables a slightly different movement range |
4 | To further refine the movement and range, select either a routed, direct or custom line style; each behaves slightly differently | Connector Styles


Change Connector Type [Enterprise Architect User Guide]

Change Connector Type

How To:

To change a connector type, follow the steps below:

Step | Action | See also
1 | In the Diagram View, right-click on the connector to change The context menu displays |
2 | Select the Connection Detail | Change Type menu option |
3 | In the Connector Type field, click on the drop-down arrow and select the required connector type |
4 | Click on the OK button to apply changes |


Change the Source or Target Element [Enterprise Architect User Guide]

Change the Source or Target Element

After you have created a connector between two elements, you might later want to change either the source or target. Instead of deleting and re-creating the connector, Enterprise Architect enables you to change the source or target. There are two ways of doing this: using the Set Source and Target dialog or using the mouse.

How to:

To change the source or target element of a connector using the Set Source and Target dialog, follow the steps below:

Step | Action | See also
1 | Right-click on the connector to open the context menu |
2 | Select the Advanced | Set Source and Target menu option The Set Source and Target dialog displays |
3 | Click on the drop-down arrows on the From Element and To Element fields, and select the source and target elements |
4 | Click on the OK button to apply changes |

To change the source or target element of a connector using the mouse, follow the steps below:

Step | Action | See also
1 | Click on the connector and position the cursor over the 'handle' at one end |
2 | When the cursor changes, click the mouse and drag the handle to the new element |

Notes:

  • The connector does not actually move until you release the mouse button over the new source or target element; however:
  • A dotted line shows where the connector would be during the move
  • The solid outline of the nearest element or extension changes to a hatched outline as you move the cursor onto it; this helps you identify where the connector should connect to, if there are many closely-arranged elements, Parts, Ports and other extensions


Connector Styles [Enterprise Architect User Guide]

Connector Styles

Connectors come in seven different routing styles. Additionally, if one connector crosses another, the second one 'hoops' over the first.

Reference:

Style

Description

See also

Direct

A straight line from element A to element B

You can move the line (back and forward, up and down) to a limited degree

Auto Routing

A vertical and horizontal route from A to B with 90-degree bends

You can move the line to improve the route, but the location and number of bends are not configurable

Bezier

A smooth curved line from A to B

Bezier style is directly available for Data Flow diagram connectors, Mind Mapping connectors, State Flows, State Transitions, Object Flows, and Control Flows

  • You can convert other types of relationship to Bezier style by assigning the Tagged Value _Bezier, with an integer value other than 0; however, some relationship types (such as Aggregate) do not accommodate this style very well
  • This Tagged Value over-rides the value of the Style field in the connector Properties dialog

Connector Properties

Custom Line

The most flexible option; you can add one or more line points and bend and push the line into virtually any shape, using the Toggle Line Point at Cursor option

Tree Style - Vertical

Tree Style - Horizontal

A line from element A to B with two right-angle bends, and the end points fixed to selected locations on the elements (Vertical or Horizontal)

  • You can convert relationships to Tree Style by assigning the Tagged Value _TreeStyle, with a value of H (Horizontal) or V (Vertical)
  • This Tagged Value over-rides the value of the Style field in the connector Properties dialog

Lateral - Vertical

Lateral - Horizontal

A line from element A to B with a single right-angle bend, and the end points fixed to selected locations on the elements (Vertical or Horizontal)

  • You can convert relationships to Lateral style by assigning the Tagged Value _TreeStyle, with a value of LH (lateral-horizontal) or LV (lateral vertical)
  • This Tagged Value over-rides the value of the Style field in the connector Properties dialog

Orthogonal - Square Corner

Orthogonal - Rounded Corner

You can add one or more line points and bend and push the line into a variety of shapes, using the Toggle Line Point at Cursor option

All line segments thus created are either vertical or horizontal

How to:

To set the connector style, follow the steps below:

Step

Action

See also

1

Right-click on the connector to change

The context menu displays

2

Select the Line Style option

3

From the submenu, select the required style:

  • Direct
  • Auto Routing
  • Custom
  • Tree
  • Lateral
  • (or Bezier, where appropriate)

Alternatively:

Step

Action

See also

1

Select the connector to change

2

Press the following keys to change the style:

  • ( Ctrl+Shift+D ) for Direct
  • ( Ctrl+Shift+A ) for Auto Routing
  • ( Ctrl+Shift+C ) for Custom
  • ( Ctrl+Shift+Z ) for Bezier (where appropriate)

To bend a connector to quickly and easily route connectors in the required layout, follow the steps below:

Step | Action | See also
1 | Right-click on the connector The context menu displays |
2 | Set the line style to Custom Line ( Ctrl+Shift+C ); this enables the Bend Line at Cursor option in the context menu |
3 | Click on the Bend Line at Cursor option to add a line point Right-clicking a line point displays the Straighten Line at Cursor context menu option, which you can use to remove the line point |
4 | Using the mouse, drag the line point to the required position |

Alternatively:

Step | Action | See also
1 | Hold down ( Ctrl ) or ( Shift ) and click on a point on the connector to create a line point ( Ctrl )+click also removes a line point |
2 | Using the mouse, drag the line point to the required position |

To tidy line angles (custom connector), follow the steps below:

Step

Action

See also

1

Right-click on the connector

The context menu displays.

2

Click on the Tidy Line Angles menu option; this nudges the custom line in horizontal and vertical increments, saving you the time of trying to get a good layout manually

You can set the Tidy Line Angles option to operate by default; click on the Tools | Options menu option to display the Options dialog, and select the Diagram Behavior page

To suppress individual line segments, follow the steps below:

Step

Action

See also

1

Right-click on the connector

The context menu displays

2

Set the line style to Custom Line ( Ctrl+Shift+C )

This enables the Suppress Line Segment option in the context menu

3

Click on the Suppress Line Segment option to suppress a line between two bend points

The segment you right-clicked on is suppressed

4

To show the segment again, right-click on the line and click on the Show All Line Segments context menu option

One application for this is to represent the continuation of flow when your diagram crosses the page boundary marker in the Diagram View

When you suppress the line segment that crosses the boundary, the link name (connector properties) displays at both ends of the hidden segment; when you print the diagram on multiple pages, the link name identifies the connection apparently broken by the page boundary


Create Connector in Project Browser [Enterprise Architect User Guide]

Create Connector in Project Browser

You can create a connector from one element to another directly in the Project Browser.

How to:

To connect elements from the Project Browser, follow the steps below:

Step

Action

See also

1

In the Project Browser, either:

  • Right-click on the element to create a connector for, and select the Add | Create Link context menu option, or
  • Select the element, press ( Insert ) and select the Create Link context menu option

The Create Link dialog displays

2

In the Direction field, click on the drop-down arrow and select the direction of the new connector (Outgoing means this element is the source)

3

In the Link Type field, click on the drop-down arrow and select the type of connector

4

In the Choose target(s) list, click on the name of the target

(If necessary, in the Select Target Type field click on the drop-down arrow and select a feature to list only elements having that feature)

5

Click on the OK button to create the connector

Notes:

  • You can also reproduce an existing connector between two elements when you paste those elements from the Project Browser into a diagram as instances; an option enables you to copy just the elements, or the relationship as well

Learn More:

  • Pasting From the Tree


Relationship Visibility [Enterprise Architect User Guide]

Relationship Visibility

You can change the visibility of individual connectors or relationships, diagram by diagram.

Access: Diagram | Advanced | Visible Relations ( Ctrl+Shift+I )

How To:

To set relationship visibility, follow the steps below:

Step | Action | See also
1 | Open the diagram to change |
2 | Select the Visible Relations menu option The Set Visible Relations dialog displays |
3 | Select the checkbox against each list item to show, and clear the checkbox against each item to hide If you want to display the information in a more readable layout, you can resize the dialog |
4 | Click on the OK button to apply the changes |


Delete Connectors [Enterprise Architect User Guide]

Delete Connectors

How to:

To delete a connector, follow the steps below:

Step | Action | See also
1 | Right-click on the connector The context menu displays |
2 | Select the Delete Connector menu option The Remove Connector dialog displays; this dialog provides the options to hide the connector so that it remains functional, or remove the connector completely |
3 | Click on the appropriate radio button and click on the OK button If you select the Hide option, it has the same effect as hiding the connector on the Links tab of the source element Properties dialog, or using the Visibility | Hide Connector context menu option It also hides the connector on the Relationships window | Hiding the Connector Relationships

Notes:

  • The dialog does not display if:
  • You have previously selected the Don't ask again checkbox or
  • On the Links page of the Options dialog (Tools | Options | Links) the Prompt on connector deletes checkbox is not selected
  • Selecting the Don't ask again checkbox also deselects the Prompt on connector deletes checkbox
  • Selecting the Prompt on connector deletes checkbox restores the dialog if you have used the Don't ask again checkbox
  • If you hide the dialog, the Delete Connector context menu option defaults to the setting you last used on the dialog; make sure that you have selected the right option to default to


Generalization Sets [Enterprise Architect User Guide]

Generalization Sets

A Generalization Set enables you to specify the relationship of a group of Generalizations. Each Generalization is a binary relationship that relates a specific Classifier to a more general Classifier (e.g. from a class to its superclasses). Each Generalization Set defines a particular set of Generalization relationships that describe the way in which a general Classifier (or superclass) can be divided using specific subtypes.

Access: connector context menu | Advanced | Generalization Set | New

How to:

To create a generalization set, follow the steps below

Step

Action

See also

1

Select the New menu option

The Generalization Set dialog displays

2

In the Name field, type the name of the Generalization set; for example, Gender

3

In the Power Type field, either:

  • Type a new power type, or
  • Click on the drop-down arrow or browser button ( ... ) and select an existing one from the Select <Item> dialog

Select <Item> Dialog

4

Check the IsMember column for the child subtypes that are part of this Generalization set


Hide/Show Connectors [Enterprise Architect User Guide]

Hide/Show Connectors

Connectors/relations that appear in multiple diagrams can be selectively shown or hidden. This makes it easier to read diagrams where elements might have many connectors, but not all are relevant in the context of the current diagram.

How to:

To hide or show a connector in the current diagram, follow the steps below:

Step

Action

See also

1

Double-click on the required diagram element in the Diagram view

The element Properties dialog displays

2

Select the Links tab

This lists the connectors linked to the element, whether or not they are hidden on the diagram

3

Right-click on the connector to hide or show

The context menu displays

4

Select the Show Relation option to show the hidden connector on the diagram, or the Hide Relation option to hide the visible connector

Alternatively, hide a connector by right-clicking on it on the diagram and selecting the Visibility | Hide Connector context menu option; however, you must use the Links tab of the element Properties dialog to show the relationship again

To hide or show a connector in other diagrams, follow the steps below:

Step | Action | See also
1 | Right-click on the connector in the diagram The context menu displays |
2 | Select the Visibility | Hide Connector in Other Diagrams menu option The Set Connector Visibility dialog displays |
3 | If the two connected elements have been included in other diagrams, these diagrams are listed here In the list, all diagrams for which the checkbox is selected show the connector; deselect the checkbox for any diagrams in which to hide the connector If you want to display the information in a more readable layout, you can resize the dialog To hide the connector in all of the diagrams listed, click on the Suppress All button |
4 | Click on the OK button to save the changes |

Notes:

  • Certain elements, such as Requirements, do not have a Links tab in the Properties dialog

    In these cases, open the Relationships window (View | Relationships) for the element, right-click on the relationship in the list and select the context menu option to hide or show that relationship in the diagram

    Be aware that, in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions with security on, locks on the diagram and elements can make the required option unavailable

Learn More:

  • Relationships


Hide/Show Labels [Enterprise Architect User Guide]

Hide/Show Labels

How to:

To hide or display one or more labels on a connector, follow the steps below:

Step | Action | See also
1 | Right-click on the connector The context menu displays |
2 | Select the Visibility | Set Label Visibility menu option The Label Visibility dialog displays; if you have several long labels, you can resize this dialog for greater clarity |
3 | Select the checkbox against each label to display, and clear the checkbox against each label to hide |
4 | Click on the OK button |


Connector In-place Editing Options [Enterprise Architect User Guide]

Connector In-place Editing Options

You can edit many of the Enterprise Architect connector labels directly on the diagram. Each label can be bound to a single connector field.

Topic

Detail

See also

Putting a label in Edit Mode

To put a label into Edit mode, either:

  • Select the Edit Label option from the context menu, or
  • Select a label and press ( F2 )

To save the current text to the field, either press ( Return ) or deactivate the Edit window

To cancel edit mode without saving any changes, press ( Esc ).


Reverse Connector [Enterprise Architect User Guide]

Reverse Connector

You can reverse the direction of a connector without having to delete and re-create it. This is helpful if your design changes or you add the connector wrongly to begin with.

How To:

Step | Action | See also
1 | Right-click on the incorrect connector |
2 | Select the Connection Detail | Reverse Direction context menu option |


Set Association Specializations [Enterprise Architect User Guide]

Set Association Specializations

UML enables specialization of properties defined by Associations. Enterprise Architect enables this through the Specialize Associations option in the advanced section of the context menu for an Association.

A dialog displays, showing all Associations between the two Classes connected by the current Association and their parents.

The left two columns define the source role of the current Association, while the right two define the target role. With this you are able to select the relationships of each end of the properties listed. When a relationship is set then this is drawn at the corresponding end of the connector on any diagram it appears on.

The dialog displays when you select the Advanced | Specialize Associations context menu option on the lowest Association connector in the following diagram.

Example:


Change Sequence Message Scope [Enterprise Architect User Guide]

Change Sequence Message Scope

A message in a Sequence diagram represents a dynamic interaction from one element to another. Sometimes when you are designing your model you might have to change either the start or end point of a message as the responsibilities of elements change during design. For this reason, Enterprise Architect enables you to change the message scope by setting a new start or end element.

How To:

Step | Action | See also
1 | Select the message in the Sequence diagram |
2 | Right-click on the message to open the context menu |
3 | Select Advanced | Set Source and Target |
4 | In the pop up dialog, in the From Element and To Element fields, click on the drop-down arrows and select the required elements |
5 | Click on the OK button to save changes The message is re-routed to meet your changed requirements |


Show Uses Arrow Head [Enterprise Architect User Guide]

Show Uses Arrow Head

By default the Use connector in Use Cases has no arrow head.

How to:

To generate arrow heads on Use connectors, follow the steps below:

Step | Action | See also
1 | Select the Tools | Options | Links menu option The Links page of the Options dialog displays |
2 | In the General panel, select the Show Uses arrowheads checkbox |
3 | Click on the Close button When you save the Use Case diagram, the Use connectors change to display arrowheads |


Tree Style Hierarchy [Enterprise Architect User Guide]

Tree Style Hierarchy

In Enterprise Architect you can create a tree style inheritance diagram using a special form of the Generalization connector, as shown below.

How To:

To create a tree style connector, follow the steps below

Step

Action

See also

1

Create a normal Generalization between two elements

2

Right-click on the connector to open the context menu

3

Select the Line Style | Tree Style - Vertical or the Line Style | Tree Style - Horizontal menu option

4

Enterprise Architect automatically makes the Generalization layout conform to a specific shape

By adding more Generalization connectors, and checking their Tree Style options, you can achieve the appearance of the diagram above

You can slide the root and child Classes left and right to achieve the required result; Enterprise Architect maintains the conformity of the branch connectors

To set this style of connector as default, follow the steps below:

Step | Action | See also
1 | Select the Tools | Options | Links menu option The Links page of the Options dialog displays. |
2 | Select the Generalization link style Default = Tree checkbox to make this branching style the default style for inheritance connectors |

Notes:

  • In the example diagram, the Son ->Parent connector has not yet been put in Tree Style - Vertical style
  • This style of diagram provides a clearer layout for inheritance hierarchies and is easy to work with


Connector Properties [Enterprise Architect User Guide]

Connector Properties

To access the connector Properties dialog, double-click on a connector in a diagram. You can change several characteristics of connectors from this dialog. Many of these characteristics generate text labels on or around the connector. You can change these labels using the Label context menu.

The connector Properties dialog has the following pages:

  • General (see below)
  • Constraints
  • Binding
  • Source Role
  • Target Role
  • Tagged Values
  • Advanced properties.

The General page enables you to configure the name of the connector, the direction, the line style, the stereotype (optional) and a comment.

Reference:

Field

Usage

See also

Source

Indicates in the name of the source element for the connector

Target

Indicates in the name of the target element for the connector

Name

(Optional) Indicates a name for the connector; if entered, the name displays on the diagram

Alias

(Optional) Indicates an alternative name or alias for the connector

Direction

Select the appropriate direction details: from source to destination, destination to source, or bi-directional

Some connectors have arrow heads that depend on this setting; some connectors are logically dependent on this (such as Inheritance)

Style

Select the appropriate connection style; choose from:

  • Direct
  • Auto-Routing
  • Bezier
  • Custom
  • Tree (Vertical, Horizontal, Lateral Vertical or Lateral Horizontal), or
  • Orthogonal (Square Corners or Rounded Corners)

Stereotype

(Optional) Indicate the name of a stereotype for the connector, or click on the drop-down arrow and select one

Alternatively, click on the ( ... ) button and select the stereotype from the Stereotype Selector dialog

If entered, the stereotype is displayed on the diagram and over-rides the connector type in the RTF documentation

Stereotype Selector

Virtual Inheritance

Indicates that inheritance is virtual; available only for Generalization connectors

Scope

Select the appropriate value for the scope (used for inheritance); available only for Generalization connectors where the child Class is C++

Notes

(Optional) Specifies any notes on the connector; the notes are displayed in documentation, if required

As for the Notes window, you can format the text using the Notes toolbar at the top of the field

Notes Window

Notes Toolbar

Notes:

  • Generalize, Realize, Associate and Template Binding connectors also have a Binding page, which enables you to define binding expressions and parameter substitutions for the connector

Learn More:

  • Message Scope
  • Constraints
  • Binding
  • Source Role
  • Target Role
  • Connector Advanced
  • Tagged Values
  • Template Binding
  • Label


Connector Constraints [Enterprise Architect User Guide]

Connector Constraints

A UML connector can also have associated constraints placed on it. Constraints tell us something about the rules and conditions under which a relation operates. For example, it might be a pre-condition that a customer is of a certain type before an Association connector to an Account is allowed.

How to:

To set constraints on a connector, follow the steps below:

Step | Action | See also
1 | Double-click on a connector to open the Connector Properties dialog |
2 | Select the Constraints tab |
3 | Fill in details of the constraint(s) that apply and click on the Save button |

Reference:

Field | Usage | See also
Constraint | The name of the constraint |
Type | Specifies the type of constraint (such as pre-condition) |
Notes | Indicates notes on the connector |
Defined Constraints | Displays the list of constraints for this connector |

Notes:

  • Constraints about an Association (connector) can be added to further refine the model; constraints detail the business and operational rules for the model


Binding [Enterprise Architect User Guide]

Binding

Generalize, Realize, Associate and Template Binding connectors have a Binding tab on their Properties dialog. This enables you to define binding expressions and parameter substitutions for the connector.

Learn More:

  • Template Binding
  • Parameter Substitution
  • Parameterized Classes (Templates)
  • Class Details


Source Role [Enterprise Architect User Guide]

Source Role

A connector can have certain properties assigned to one end, and be associated with the particular role that element plays in the relationship. You can enter details about this role to further develop your model.

This description refers to the role of the Source element in a relationship, but applies equally to the role of the Target element.

How to:

To set the source role details, follow the steps below:

Step | Action | See also
1 | Double-click on a connector to open the Connector Properties dialog |
2 | Select the Source Role tab |
3 | Enter the required details and click on the OK button |

Reference:

Field

Usage

See also

<Type> Role

Enter the name of the role to be played

Alias

Enter an alias for the role, if required

Role Notes

Enter notes about the role

Derived

Indicate that the role value or values can be computed from other information

Owned

Indicate that the role is owned by the opposite Class rather than the Association

Selecting this checkbox adds a 'dot' to the appropriate end of the connector ( dot )

Derived Union

Indicate that the role is derived from the properties that subset it

Multiplicity

Specify the role multiplicity (you can define the values of this field on the Cardinality tab of the UML Types dialog)

This is the range of instances of the role that can be active in the relationship - for example, one employee can be assigned to tasks; for the target role you define the range of instances (such as tasks) the employee could be assigned to

The values have the following formats:

  • *, or 0..* - zero, one or many instances
  • 0..n - zero or up to n instances, but no more than n
  • n - exactly n instances
  • n..* - n, or more than n instances

You can also define source and target element multiplicity in the element Attribute properties

Cardinality

Attribute properties

Ordered

Indicate that the role is a list and the list is ordered

Allow Duplicates

Indicate that the role can contain duplicate elements (relevant only if multiplicity is > 1)

This field maps to the UML property isUnique (selecting the checkbox maps to the isUnique value of FALSE)

Containment

Indicate the nature of the containment at the Destination (reference, value...)

Access

Indicate the access level for the role

Aggregation

Indicate the type of aggregation that this role uses

Target Scope

Indicate the level at which this role applies (instance or classifier)

Navigability

Indicate whether or not this role is navigable (non-navigable ends are shown depending on diagram properties)

Changeable

Indicate whether this role is subject to change

Constraint(s)

Indicate a constraint on the role

Qualifier(s)

Indicate any qualifiers or restrictions on the role; separate multiple qualifiers with a semi-colon

Alternatively, click on the ( ... ) button at the end of the field, and define a new qualifier on the Qualifiers dialog (qualifiers typed into the Qualifier(s) field are also automatically added to this dialog)

Qualifiers Dialog

Stereotype

(Optional) Indicate the name of a stereotype that applies to this end of the Association, or click on the ( ... ) button at the end of the field and select a stereotype from the Stereotype Selector dialog

Stereotype Selector

Member Type

Indicate a role type that can be used when generating collection Classes for multiplicity > 1

Notes:

  • Source role details are displayed at the start end of a connector; if you have drawn the connector the wrong way, you can always use the Reverse Direction menu option from the connector context menu


Target Role [Enterprise Architect User Guide]

Target Role

A connector can have certain properties assigned to one end, and be associated with the particular role that element can play in the relationship.

You can enter details about this role to further develop your model.

How to:

To set the destination role details, follow the steps below:

Step | Action | See also
1 | Double-click on a connector to open the Connector Properties dialog |
2 | Select the Target Role tab |
3 | The details and appearance of this tab are identical to the Source Role tab | Source Role

Notes:

  • Destination role details are displayed at the terminating end of a connector on the diagram


Connector Tagged Values [Enterprise Architect User Guide]

Connector Tagged Values

The Tagged Values tab of the connector Properties dialog simply provides the Tagged Values window within the frame of the Properties dialog.

You can define Tagged Values for the connector and, on Association and Aggregation connector types, you can set additional Tagged Values for the source and/or target role.

How to:

To set Tagged Values for the connector, follow the steps below:

Step | Action | See also
1 | On the Properties dialog for the connector, click on the Tagged Values tab |
2 | Select the connector type, Connector Source or Connector Target as required |
3 | Either click on the New Tags button or press ( Ctrl+N ) The Tagged Value dialog displays |
4 | In the Tag field type the tag name and value, or click on the drop-down arrow and select a predefined Tagged Value type |
5 | Click on the OK button to save the changes |

Learn More:

  • Tagged Values


Connector Advanced [Enterprise Architect User Guide]

Connector Advanced

The Advanced page displays the advanced properties of the connector (where they exist) and enables you to reset the values of these properties.

How to:

To set a value for an advanced (or custom) property, follow the steps below:

Step

Action

See also

1

Click on the data field to the right of the property name

2

Depending on the property, either:

  • Type the value in free text
  • Click on the drop-down arrow and select the value from the list
  • Click on the ( ... ) Browse button and search for the required value

3

Click on the OK button


Tagged Values [Enterprise Architect User Guide]

Tagged Values

Topics:

Topic

Detail

See also

What is a Tagged Value

Tagged Values are a convenient way of adding additional information to an element, beyond what is directly supported by UML. The UML specification provides the Tagged Value element for just this purpose. Often Tagged Values are used during code generation or by other tools to pass information or operate on elements in particular ways. Tagged Values are the preferred method of extending the code generation capabilities of the modeling tool per element / per language.

A Tagged Value, strictly, is the value of a property of a modeling item, the property being called a tag. For example, a Class element called Person might have a tag called Age with the Tagged Value of 42. The combination of tag and value, however, is often referred to as a Tagged Value.

Enterprise Architect defines a Tagged Value Type, which constrains the possible values of a tag and can specify how a value is assigned to the tag. For example, the tag Age might have a Tagged Value Type of Integer, so the user simply types in a numeric value. Alternatively, the type could be Spin, with lower and upper limits of, say, 20 and 120, so the user sets a value by clicking on arrows in the field to increment or decrement the value within the limits of 20 and 120.

To quickly add Tagged Values to one of more elements, see the Quick Add - Tagged Value to Elements topic.

Tagged Value Type

Quick Add - Tagged Value to Elements

The Tagged Values Window

The Tagged Values window is used to view and modify Tagged Values for the currently selected modeling item, either in the current diagram or in the Project Browser.

The Tagged Values window is a dockable window. You can use it to perform the following actions:

  • Assign a Tagged Value to an Item
  • Modify Tagged Values
  • Assign Notes to a Tagged Value
  • Perform advanced tag management

A Technology Developer can also create new structured Tagged Values, reference data Tagged Values and custom Tagged Values from predefined Tagged Value Types.

Assign a Tagged Value to an Item

Modify Tagged Values

Assign Notes to a Tagged Value

Perform Advanced Tag Management

Custom Tagged Values

Tagged Value Types

Model Elements and Features with Tagged Values

The following model components can use the Tagged Values window as a convenient way to quickly view and modify Tagged Values:

Component | Description
Elements | Elements display their own Tagged Values along with any inherited values.
Object Instances | Object Instances display owned tags and those obtained from their classifier.
Ports and Parts | Ports and parts display information similar to objects and display Port/Part 'Type' instead of a classifier. Tags are included for all parents and other structures of the Ports type.
Attributes | Include owned Tagged Values and those received from attribute type classifiers, with the inclusion of any inherited ones.
Operations | Owned properties only.
Connectors | Owned properties only.

When over-riding an inherited property, Enterprise Architect copies the tag from the parent down to the child element and sets the new value, leaving the original tag unchanged.

Tagged Values Toolbar Buttons

The buttons in the Tagged Values toolbar enable you to add, edit, sort, delete and arrange the Tagged Values of model features

From left to right, the button functions are as follows:

  • The Show in compartments button displays the Tagged Values in element compartments on diagrams
  • The Sort and Show Alphabetically button sorts the current Tagged Values for the element alphabetically
  • The New Tagged Value button adds a new tag, to which you assign a value
  • The Edit Tagged Value Notes button enables you to create notes that explain the purpose of the Tagged Value
  • The Delete Tagged Value button removes the currently selected Tagged Value
  • The Default Tagged Value Types button enables quick access to tag definitions created in the Configuration menu
  • The Tagged Value Options button enables you to show or hide the fully qualified paths for the Tagged Values in the window, and to show duplicate Tagged Values
  • The Help button displays help relating to use of the Tagged Values window


Quick Add - Tagged Value To Elements [Enterprise Architect User Guide]

Quick Add - Tagged Value To Elements

You can add a Tagged Value to one or more elements with a special shortcut. You can also use the Current Element toolbar. The last button is a shortcut to the Add Tagged Value function.

To delete this property you must open the element Properties dialog, go to the Tagged Values tab and manually delete the item. There is currently no shortcut to delete tags from multiple elements simultaneously.

To add notes to the Tagged Value, go to the Tagged Values tab, click on the Tagged Value name, and click on the Edit Notes button in the tab toolbar. The Notes dialog displays.

Any Notes text you enter also displays in the Info section at the bottom of the Tagged Values window.

Access: Add | Tagged Value

Use to:

  • Add Tagged values to elements

How To:

Step | Action | See also
1 | From an element context menu (or the context menu of a multi-selection) choose the Add | Tagged Value menu option (Alternatively, select one or more elements and press ( Shift+Ctrl+T ) ) The Tagged Values dialog displays, which enables you to enter a Name and Value for the tag |
2 | Click on the OK button to add your new Tagged Value to all the currently selected elements |


Assign a Tagged Value to an Item [Enterprise Architect User Guide]

Assign a Tagged Value to an Item

You can assign Tagged Values to several model features.

Access: View | Tagged Value

Use to:

  • Assign a Tagged Value to an item

How To:

Step | Action | See also
1 | Select the model feature to associate with the defined Tagged Value |
2 | Ensure that the Tagged Values window is visible (select the View | Tagged Values menu option, or press ( Ctrl+Shift+6 ) ) Alternatively, open the Properties dialog for the object and select the Tagged Values tab |
3 | Either click on the New Tags button NewTagIcon or press ( Ctrl+N ) The Tagged Value dialog displays |
4 | In the Tag field, type the tag name or click on the drop-down arrow and select the appropriate tag to assign to the item |
5 | If appropriate, type a specific value for the tag in the Value field |
6 | To confirm selection of the Tagged Value, click on the OK button |

Learn More

  • Predefined Tagged Value Types
  • Assign Notes to a Tagged Value
  • Modify Tagged Values
  • Model Elements and Features with Tagged Values


Assign Notes to a Tagged Value [Enterprise Architect User Guide]

Assign Notes to a Tagged Value

Once a Tagged Value has been assigned to a model feature, you can add information and notes describing the Tagged Value to the information property of the Tagged Value.

Access: View | Tagged Values (Ctrl+Shift+6)

Use to:

  • Assign a note to a Tagged Value

How To:

Step | Action | See also
1 | Select the Tagged Values menu option The Tagged Values window displays |
2 | Click on the model feature for which to edit the Tagged Values Its Tagged Values display in the Tagged Values window |
3 | Click on the Tagged Value to add information to |
4 | Click on the Edit Tagged Value Notes button or press ( Ctrl+E ) The Tagged Value Note dialog displays |
5 | In the Note field, type the information relating to the Tagged Value Click on the OK button The information is displayed in the lower portion of the Tagged Values window whenever the Tagged Value is selected |

Learn More:

  • Model Features


Modify Tagged Values [Enterprise Architect User Guide]

Modify Tagged Values

Once a Tagged Value has been assigned to the model feature it is possible to edit the values from the Tagged Values window.

Use to:

  • Edit Tagged Values

How To:

Step

Action

See also

1

Click on the View | Tagged Values menu option, or press ( Ctrl+Shift+6 )

The Tagged Values window displays

2

Click on the model feature for which to edit the Tagged Values

The window shows all of the tags for the selected feature, each with their current value

3

Edit the fields as appropriate; the information entered can only reflect the value types that have been defined by the tag's Tagged Value Type

There are four types of value field for a Tagged Value:

  • 'Open' fields', in which you can type any appropriate value
  • 'Drop-down list' fields, where you click on the drop-down arrow to select from a discrete list of possible values such as M or F, or Win, Lose or Draw
  • 'Spin' fields, where you click on up or down arrows in the field to increase or decrease the value within certain limits
  • 'Further detail' fields, where you click on an ellipsis ( ... ) in the field to display a dialog in which you enter information (such as notes) or indicate a source of further information (such as a classifier)

Instance Classifier

Notes:

  • To override a Tagged Value defined in a parent element, edit the value in the from <parentname> compartment of the Tagged Values window

    Once this has been done the tag is moved into the selected element's Tagged Values; this does not affect the Tagged Values defined in the parent element


Show Duplicate Tags [Enterprise Architect User Guide]

Show Duplicate Tags

Tagged Values are by default set to hide duplicate values. This setting is used to facilitate inherited and overridden tag names.

How To:

To set the Tagged Values window to show duplicate values, follow the steps below:

Step | Action | See also
1 | On the Tagged Values window toolbar, click on the Options icon |
2 | Select the Show Duplicate Tags context menu option |

Alternatively:

Step | Action | See also
1 | Select the Tools | Options menu option The Options dialog displays |
2 | From the hierarchical tree, select the Objects item |
3 | Select the Show Duplicate Tags checkbox |

Notes:

  • In either procedure, to hide duplicate values again deselect the option or check box


Advanced Tag Management [Enterprise Architect User Guide]

Advanced Tag Management

Tagged Values can also be managed within a type hierarchy and with respect to element instances, using the Tagged Values window.

Topics:

Topic

Detail

See also

Usage

Using the Tagged Values window it is possible to:

  • View Tagged Values inherited from parent Classes or realized interfaces or applied stereotypes
  • Override Tagged Values derived from parents or applied stereotypes with a unique value for the current element
  • Delete Tagged Values from the current element (if a parent version of the Tagged Value exists, it re-appears in the list after the override is deleted).

Tag Hierarchy

The diagram below illustrates a complex tag hierarchy and the way Tagged Values can be either inherited or overridden in specialized Classes to create the final tagged property set for an element.

Note also that a similar concept applies to instances, in which case the full tag set is created from the directly owned tags, plus all of those merged in from the classifier's type hierarchy, additional stereotypes and realized interfaces. TaggedValues - Management

Learn More:

  • Tagged Values


Notes [Enterprise Architect User Guide]

Notes

Notes are the main documentation feature you use to describe an element, diagram, feature or connector; in the documentation that Enterprise Architect generates, notes feature prominently. You can record and view notes on a modeling object using the Notes window.

Access: View | Notes (Ctrl + Shift + 1)

Topics:

Topic

Detail

See also

Usage

You use the Notes window to view and edit the documentation (notes) associated with elements, diagrams, attributes, operations and connectors, either from a diagram or from the Project Browser

When you select an element, the note displayed changes to reflect the current selection; if you make changes to notes in this window, they are saved

If you want to display the Notes information in a more readable layout, you can resize the window

You can also format the notes text using the Notes toolbar at the top of the Notes window

You can cut, copy, paste and delete text in the Notes window, or in any Notes or Description field that shows the Notes toolbar, using a right-click context menu; from the context menu, you can also select an option to spell-check a highlighted word

You can also edit notes by double-clicking on an element or connector in a diagram or in the Project Browser, to open the Properties dialog; any formatting changes made in one display are reflected in the other

On the Testing, Maintenance and Project Management windows, any descriptive, history, input or results text for a selected item is also displayed in the Notes window; you cannot edit this text in the Notes window

Notes Toolbar

Glossary Entries

The Notes window or field also enables you to create a Project Glossary entry from text you have highlighted in the window or field

To create the Glossary entry, follow the steps below:

  • Highlight the notes text to use as the Glossary definition (if suitable text is available), and press ( Ctrl+C ) to copy it
  • Highlight the text to use as the Glossary term, and right-click on it to display the context menu
  • Select the Create | Glossary Definition menu option; the Glossary Detail dialog displays, with the selected term in the Term field
  • If you have copied some definition text, paste it into the Meaning field; otherwise type a suitable definition of the term in this field
  • In the Type field, select the appropriate term type
  • Click on the Apply button to save the new Glossary definition

The term displays in the Notes text as a roll-over hyperlink which, when you move the cursor over it, displays the Glossary definition of the term

Having created a glossary definition anywhere else in the model, you can insert the glossary term in the text of the Notes window (or Notes panel of a dialog) as a rollover hyperlink to the definition

Project Glossary

Glossary Detail

Inserting a Glossary term in a Notes Window
  • In the Notes window, move the cursor to the point in the text at which to insert the glossary term
  • Press ( Ctrl+Space ); the glossary term selection list displays
  • Double-click on the term to insert in the Notes text; the term is inserted as a rollover hyperlink to the definition

Additional keyboard shortcuts
  • Insert Date and Time (F5)
  • Select line of text (F8)
  • Spell check Notes text only (F7)
  • Undo changes ( Ctrl+Z )
  • Redo changes ( Ctrl+Y ) or ( Ctrl+Shift+Z )
  • Copy ( Ctrl+C )
  • Paste ( Ctrl+V )
  • Cut ( Ctrl+X )

Any Note text appearing in the element Note compartments in diagrams is not formatted


Notes Toolbar [Enterprise Architect User Guide]

Notes Toolbar

Although it is not an independent toolbar that you can pin to the screen top or sides, or float in your work area, the Notes toolbar appears in many places across Enterprise Architect in the Notes, Description and History fields.

Topics:

Topic

Detail

See also

Where the Toolbar Appears

Throughout Enterprise Architect on various tabs and pages of, for example, the:

  • Element and Connector Properties dialogs
  • Operations and Attributes Properties dialogs
  • Diagram Properties dialog
  • Hyperlink Details dialog
  • Testing window descriptions
  • Notes window
  • Glossary Detail dialog
  • Assigned Resources dialog
  • Project Management window
  • Scenarios & Requirements window

Options

rich text notes toolbar

The options of this toolbar operate on selected text and any new text continuing from the formatting

The options (with some keyboard shortcuts) are, from left to right:

  • Make text bold ( Ctrl+B )
  • Make text italic ( Ctrl+I )
  • Underline text ( Ctrl+U )
  • Change the font color of the text
  • Insert list bullet points ( Ctrl+. ) (full stop)
  • Insert list numbering ( Ctrl+1 )
  • Make text superscript
  • Make text subscript
  • Insert a hyperlink - this displays the Hyperlink Details dialog, on which you specify the type of hyperlink and type in or browse for the location of the target of the hyperlink; you can use full paths or local (path substitution) paths
  • Create a new linked document for the element, or edit an existing one; if the element does not have a linked document, the New Linked Document dialog displays

Hyperlinks

Linked Documents

Notes:

  • If the toolbar is displayed but grayed out, the text field is read-only and cannot be edited; other long text fields in Enterprise Architect might not have the toolbar, in which case the Notes facility is not available for those fields
  • For any Notes text that is displayed on a diagram, you must select the Render Formatted Notes checkbox on the Feature Visibility dialog in order to reproduce the formatting
  • You can create a Project Glossary term and definition from text in any field that has the Notes toolbar

Learn More:

  • Feature Visibility dialog
  • Project Glossary
  • Notes


Reference Data [Enterprise Architect User Guide]

Reference Data

Reference data is used in many places to provide content for drop-down list boxes. Setting up a project often involves setting up the base set of reference types to use. Reference data options can be set up from the Settings menu, including:

  • People
  • General Types
  • Maintenance
  • Metrics and Estimation
  • UML
  • Data Types

Having set up the reference data in a project, you can also export and import it between projects.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Reference Data - Update permission to update and delete reference items.

Learn More:

  • People
  • General Types
  • Maintenance
  • Metrics and Estimation
  • UML
  • Data Types
  • Export and Import
  • Manage Reference Data - Update
  • Applying Stereotypes
  • Custom Stereotypes


UML Types [Enterprise Architect User Guide]

UML Types

The UML Types dialog enables you to configure stereotypes, Tagged Value types and the cardinality list for your project.

Access: Settings | UML Types

Use to:

  • Add, modify and delete stereotypes
  • Customize stereotypes appearance
  • Updating shape scripts and metafiles associated with Stereotypes
  • Create/modify tagged values
  • Define cardinality rules

Learn More:

  • Stereotypes
  • Tagged Value Types
  • Cardinality


Stereotype Settings [Enterprise Architect User Guide]

Stereotype Settings

Enterprise Architect has an extensive set of Standard Element Stereotypes that you can apply to any UML construct. Using the Stereotypes tab of the UML Types dialog, a Technical Developer can also customize the stereotypes for your project by adding, modifying and deleting them. For information on customizing stereotypes, see Custom Stereotypes.

Stereotypes can be modified to make use of metafiles (image files) or customized colors, or to make use of the Enterprise Architect Shape Scripts to make new element shapes to determine the shape and dimensions of the element.

Access: Settings | UML Types > Stereotypes

Use to:

  • Add, modify and delete stereotypes
  • Customize stereotypes appearance
  • Updating shape scripts and metafiles associated with Stereotypes

Reference:

Field | Usage | See also
Stereotype | Specify the name of the stereotype. |
Group name | Enable grouping of stereotype features by a plural name, for attributes and operations, which is shown on diagrams in the attribute and operations compartments. |
Base Class | Enable the stereotyped element to inherit the base characteristics from a pre-existing element type. |
Notes | Indicates any notes concerning the stereotype (not the elements to which the stereotype is to be applied). |
None | Switch to the default element appearance. |
Metafile | Enable an image file to be used for the appearance of the stereotype. |
Shape Script | Specify custom shapes for the stereotype using the Enterprise Architect Shape Scripting language. For more information see the Shape Scripts topic. | Shape Scripts
Assign | Add the associated metafile or Shape Script from the stereotyped element. |
Remove | Remove the associated metafile or Shape Script from the stereotyped element. |
Fill | Set the default background color of the element. |
Border | Control the border color. |
Font | Control the color of the stereotype font. |
Reset | Reset the appearance of the element to the default element appearance. |
Preview | Provides a visual representation of the currently active Stereotype. |
New | Enables a new stereotype to be created. |
Save | Saves the Stereotype details and adds the Stereotype to the Defined Stereotypes list. |
Delete | Removes a Stereotype from the Defined Stereotypes list. |

Learn More:

  • Standard Element Stereotypes
  • Applying Stereotypes
  • Custom Stereotypes


Shape Editor [Enterprise Architect User Guide]

Shape Editor

The Shape Editor enables a Technology Developer to specify custom shapes via a scripting language; that is, to create Shape Scripts. These custom shapes are drawn instead of the standard UML notation. Each script is associated with a particular Stereotype, and is drawn for every element of that stereotype.

Access: Settings | UML Types > Stereotypes : Assign

Use to:

  • Create a custom shape

Reference:

Field | Usage | See also
Format | The format in which the script is written. |
Import | Opens a Windows browser dialog, allowing for a script file to be loaded. |
Export | Opens a Windows browser dialog, allowing for a script file to be saved. |
Edit window | The area in which a script can be written. |
Preview of main | A visual representation of the compiled script. Nothing displays until the Refresh button is clicked. |
Next Shape | If a composite shape is defined within the Edit Window, clicking on the Next Shape button pages through the components of the shape. |
Refresh | Parses your script and produces a visual example of the shape in the Preview of main window. |
OK | Exit from the Shape Editor; don't forget to save your scripts from the Stereotype tab. | Getting Started With Shape Scripts.

Notes:

  • Shape Scripts adopt the same color gradient settings as normal elements, as defined in the Standard Colors page of the Options dialog
  • If an element's appearance is modified by a Shape Script, many of the Advanced context menu options for that element are disabled
  • Once you have finishing writing your Shape Script, click on the OK button. To save the Shape Script you must click on the Stereotypes tab

Learn More:

  • Writing Scripts
  • Advanced Settings


Tagged Value Types [Enterprise Architect User Guide]

Tagged Value Types

Tagged Values are used in a variety of places within Enterprise Architect to specify additional information about an element or connector. The Tagged Value Types tab of the UML Types dialog enables a Technology Developer to rapidly create Tagged Values, using a range of predefined structured Tagged Values to create structured tags that adhere to a specific format. For example, for model features that use the predefined tag Boolean you can use the Tagged Values window to assign a value of True or False and no other value.

You can also add default Tagged Value names and create predefined reference data Tagged Value types and custom masked Tagged Value types.

Any Tagged Value names created display in the drop-down lists of Tagged Value names in the Tagged Value dialogs for elements, operations and attributes.

Access: Settings | UML Types > Tagged Value Types

Use to:

  • Create new tagged values

Reference:

Field | Usage | See also
Tag Name | Type the new name of the Tagged Value. |
Description | Type a description of the Tagged Value. |
Detail | Type any additional information necessary. |
New | Click to begin creating a new Tagged Value. |
Save | Click to save the details of a Tagged Value. |
Delete | Click to delete a Tagged Value from the Defined Tag Types list. |
Defined Tag Types | A list of previously defined Tagged Values. |

Notes:

  • You can transport these Tagged Value Type definitions between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu. Tagged Value Types are exported as Property Types

Learn More:

  • Predefined Structured Tagged Values
  • Create Structured Tags
  • Predefined Reference Data Tagged Value Types
  • Custom Masked Tagged Value Types
  • Tagged Values Window
  • Export Reference Data
  • Import Reference Data


Cardinality [Enterprise Architect User Guide]

Cardinality

The Cardinality Values tab of the UML Types dialog enables you to add, modify and delete values in the default cardinality list.

The cardinality values are used to define the multiplicity of source and target elements in relationships. This is the range of instances of the role that can be active in the relationship; for example, one employee can be assigned to tasks; for the target role you define the range of instances (such as tasks) the employee could be assigned to.

The cardinality values are also used to define the multiplicity of a Classifying element; that is, the number of instances of the element that can exist. For example, the Class element Building Walls might have a multiplicity of 2..n, meaning that at least two walls must exist (to support the roof) but there can be many walls if the building design required it.

The values have the following formats:

  • *, or 0..* - zero, one or many instances
  • 0..n - zero or up to n instances, but no more than n
  • n - exactly n instances
  • n..* - n, or more than n instances.

Access: Settings | UML Types > Cardinality Values

Use to:

  • Create Cardinality values

Reference:

Field | Usage | See also
Cardinality | Type the new name of the Cardinality Value. |
New | Type a description of the Cardinality Value. |
Save | Saves the Cardinality value and adds it to the Cardinality List. |
Delete | Deletes a Cardinality value from the Cardinality List. |
Cardinality List | A list of already defined Cardinality values. |

Notes:

  • You can transport these cardinality values between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data
  • Source Role
  • Destination Role


Data Types [Enterprise Architect User Guide]

Data Types

Different programming languages support different inbuilt data types. The Programming Languages Datatypes dialog enables you to extend and manage the set of inbuilt data types associated with a language as well as create new programming languages for use within Enterprise Architect.

Access: Settings > Code Datatypes

Use to:

  • Create new programming languages to use within Enterprise Architect
  • Extend and manage inbuilt data types

Reference:

Field | Usage | See also
Product Name | Specify the name of the programming language. |
Add Product | Add a new programming language to the drop-down fields for Class elements within the Enterprise Architect model and enable the new language to be made available to the Code Template Editor once at least one datatype has been added to the language. | Code Template Editor
Datatype | Specify the name of the datatype; this is the language-specific name of the datatype. |
Common Type | Specify the common type, the generic name of the datatype; for example, the Java boolean datatype has a common datatype Boolean. |
New | Create a new data type. |
Save | Save the newly created datatype. |
Delete | Delete the selected datatype. |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Configure Datatypes permission to update and delete data types
  • You can delete data types that you have defined, but you cannot delete any of the predefined data types
  • You can transport these data types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data
  • Permission List


People [Enterprise Architect User Guide]

People

Access: Settings | Project Types | People

Use to:

  • Maintain Authors involved within a project
  • Define role types that are captured within Enterprise Architect
  • Record information on project resources
  • Capture client details associated with the current model

Learn More:

  • Project Authors
  • Project Roles
  • Project Resources
  • Project Clients


Project Authors [Enterprise Architect User Guide]

Project Authors

You can define the people who are working on a project, such as the authors of specific elements.

Access: Settings | Project Types | People > Project Authors(s)

Use to:

  • Maintain Authors involved within a project

Reference:

Field

Usage

See also

Name(s)

Type the name of the person registered as a Project Author

If you are using a Windows Active Directory, you can select names from the directory; click on the ( ... ) (Browse) button to display the Select Users dialog

You can also type a list of names separated by semi-colons; this enables you to define a group of people sharing a role, such as a team of Developers, Testers or Analysts

Do not leave any spaces between the names and the semicolons

Select Users

Role

Enter the role the Project Author plays in the project (such as Designer, Analyst, or Architect)

You can type a role name or click on the drop-down arrow and select a role defined through the Project Roles tab

Project Roles

Notes

Type any additional notes concerning the Project Author

New

Add further Authors

Save

Add the new Author to the Defined Authors list

Delete

Removes an Author from the Defined Authors list

Defined Authors

Review the Project Authors already defined

Notes:

  • If you enter multiple names, Enterprise Architect adds them separately and in alphabetical order to the Defined Authors list; if you then click on one of these names, Enterprise Architect displays that name only in the Name(s) field
  • If you type in a role, this is not added to the roles on the Project Roles tab
  • You can transport these author definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


Select Users [Enterprise Architect User Guide]

Select Users

If your company is using a Windows Active Directory, you can select the Project Author names from the local or corporate-wide directory.

Access: Settings | Project Types | People > Project Authors(s) : (...)

Use to:

  • Select Project Authors from Windows Active Directory

Reference:

Field | Usage | See also
Object Types... | Opens the Object Types dialog, which provides a choice of object types that can be used |
Locations... | Defines the root location from which to begin a search |
Check Names | Matches object names listed in the Enter the object names to select section |
Enter the object names to select | Specify object names to search for |
Advanced... | Opens the Advanced dialog to provide further search options For more information on this dialog, please refer to Windows Help and Support |

Notes:

  • Multiple Entries can be typed into the Enter the object names to select section; ensure that objects are separated by semicolons (for example: Name01; Name02)


Project Roles [Enterprise Architect User Guide]

Project Roles

People associated with a project play a role in analysis, design or implementation, such as Application Analyst, Architect, Developer and Project Manager. Project roles define the activities that resources can undertake.

Access: Settings | Project Types | People > Project Roles

Use to:

  • Define role types that are captured within Enterprise Architect

Reference:

Field

Usage

See also

Role

Type or select the name of the role

Description

Type a description of the role

Notes

Type any additional information related to the role

New

Add further Roles

Save

Add the new role to the Defined Roles list

Delete

Removes a role from the Defined Role list

Defined Roles

Review the Project Roles already defined

The Defined Roles list is available for selection for any element in the model; for example, you can select roles on the Project Authors tab of the People dialog, and the Resource Allocation tab of the Project Management window

You can also specify other roles on these dialogs, but such roles are not added to the Defined Roles list

Project Authors

Resource Allocation

Notes:

  • Deleting a role has no effect on any Project Author definition having this role; the deleted role becomes a simple text entry in the Project Author definition
  • You can transport these role definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


Project Resources [Enterprise Architect User Guide]

Project Resources

Resources are, for example, project authors, analysts, programmers and architects. That is, anyone who might work on the system over time, either adding to the model or programming and designing elements of the system outside Enterprise Architect.

Access: Settings | Project Types | People > Project Resources

Use to:

  • Record information on project resources

Reference:

Field | Usage | See also
Name | Type or select the name of the person listed as a resource The resource name is available for use in Resource Management | Resource Management
Organization | Type the name of the organization employing the resource |
Role(s) | Type or select the role the resource plays in the project (for example, Designer, Analyst, Architect) |
Phone 1, Phone 2, Mobile, Fax | Type the contact telephone numbers for the resource |
Email | Type the email address for the resource |
Notes | Type any additional notes on the resource |
Available Resources | Review resources that have already been defined |
New | Adds further resources |
Save | Adds a new resource to the Available Resource list |
Delete | Deletes a resource from the Available Resources list |

Notes:

  • You can transport these resource definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


Project Clients [Enterprise Architect User Guide]

Project Clients

Project clients are the eventual owners of the software system.

Access: Settings | Project Types | People > Project Clients

Use to:

  • Capture client details associated with the current model

Reference:

Field | Usage | See also
Name | Type or select the name of the client |
Organization | Type the name of the organization that employs the client |
Role(s) | Type the role the client plays in the project (for example, Manager, Sponsor) |
Phone 1, Phone 2, Mobile, Fax | Type the contact telephone numbers for the client |
Email | Type the email address of the client |
Notes | Type any additional notes on the client |
Defined Clients | Review clients that have already been defined |
New | Add details of further clients |
Save | Add a new client to the Defined Client list |
Delete | Delete a client record from the Defined Client list |

Notes:

  • You can transport these client definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


General Types [Enterprise Architect User Guide]

General Types

The General Types dialog enables you to configure:

  • Status Types
  • Constraint Types
  • Constraint Status Types
  • Requirement Types
  • Scenario Types

Access: Settings | Project Types | General Types

Learn More:

  • Status Types
  • Constraint Types
  • Constraint Status Types
  • Requirement Types
  • Scenario Types


Status Types [Enterprise Architect User Guide]

Status Types

You can configure a basic list of status types used in Enterprise Architect. Note that whilst most dialogs use this list, not all do so.

Access: Settings | Project Types | General Types > Status

Use to:

  • Configure Status Types

Reference:

Field | Usage | See also
Status | Indicates the name of the status. |
Description | Indicate a short description for the status. |
Status Type Color | Enables a color to be applied to a Status Type. |
Preview | Provides a visual representation of a Status. |
Restore Default | Restores the Status Type Color to it's default. |
Applies to... | By default, status colors only apply to Requirement, Issue and Change elements. You might decide to also apply these colors to other UML elements, such as Use Cases or Classes. To do this, click on the Applies to... button and select the checkbox against each required element type in the Applied Status Colors list. | Requirement, Issue Change
New | Creates a new status. |
Save | Saves the status, adds the status to the status list. |
Delete | Deletes a status that has been highlighted. |
Type List | This list details the current status types and descriptions for each status. |

Notes:

  • You can transport the status types (and the colors assigned to status types) between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu
  • To ensure status colors display on your diagrams, open the Options dialog at the Objects page and select the Show status colors on diagrams checkbox
  • Requirement, Feature, Issue and Change elements have a status color compartment, but other elements do not. The status color for these elements is applied to the element shadow. Therefore, on the Options dialog Diagram Appearance page you must also select the Element Shadows on checkbox

Learn More:

  • Export Reference Data
  • Import Reference Data
  • Object Appearance
  • Diagram Appearance


Constraint Types [Enterprise Architect User Guide]

Constraint Types

The Constraint tab of the General Types dialog enables you to define constraints. These are picked up in a variety of places where constraints might fall into more categories than the basic (default) Pre-, Post- and Invariant conditions.

Access: Settings | Project Types | General Types > Constraint

Use to:

  • Allows for definition of constraints

Reference:

Field | Usage | See also
Constraint | Indicates the name of the constraint. |
Description | Indicates a brief description of the constraint. |
Note | Indicates any additional information required. |
Defined Constraint Type | A list of defined constraint types. |
New | Add a new constraint. |
Save | Saves the constraint and adds it to the Defined Constraint Type list. |
Delete | Removes a constraint from the Defined Constraint Type list. |

Notes:

  • You can transport these constraints between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data


Constraint Status Types [Enterprise Architect User Guide]

Constraint Status Types

You can configure the basic list of constraint status types used in Enterprise Architect.

Access: Settings | Project Types | General Types > Constraint Status

Use to:

  • Allows for configuration of basic constraint status types

Reference:

Field | Usage | See also
Status | Indicates the name of the constraint status. |
Status List | A list of defined constraint types. |
New | Add a new constraint status. |
Save | Saves the constraint status and adds it to the Status list. |
Delete | Removes a constraint status from the Status list. |

Notes:

  • You can transport these constraint status types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data


Requirement Types [Enterprise Architect User Guide]

Requirement Types

The Requirement tab of the General Types dialog enables you to specify the generic set of requirement types that can be entered into the requirements sections of dialogs. This helps to maintain a single set of typed requirements.

Access: Settings | Project Types | General Types > Requirement

Use to:

  • Specify the generic set of requirement types

Reference:

Field | Usage | See also
Requirement | Indicates the name of the requirement. |
Description | Indicates a short description of the requirement. |
Weight | Indicates a weighting to apply to the requirement type. |
Defined Requirement Types | Displays all of the pre-defined and saved requirement types. |
New | Add a new requirement. |
Save | Saves the requirement details and adds it to the Defined Requirement Types list. |
Delete | Deletes a requirement from the Defined Requirement Types list. |

Notes:

  • You can transport these requirement types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data


Scenario Types [Enterprise Architect User Guide]

Scenario Types

A drop-down list of scenario types is available in the Scenario tab of an element Properties dialog, with the standard types Basic Path, Exception and Alternate Flow. You can set additional scenario types using the Scenario tab the General Types dialog.

Access: Settings | Project Types | General Types > Scenario

Use to:

  • Add additional Scenario Types

Reference:

Field | Usage | See also
Scenario Type | Indicates the name of the scenario. |
Description | Indicates a short description of the scenario. |
Weight | Indicates a weighting to apply to the scenario type. |
Note | Indicates any additional information on the scenario type. |
Defined Scenario Types | Displays all of the pre-defined and saved scenario types. |
New | Add a new scenario. |
Save | Saves the scenario details and adds it to the Defined Scenario Types list. |
Delete | Deletes a scenario from the Defined Scenario Types list. |

Notes:

  • You can transport these scenario types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Scenarios
  • Export Reference Data
  • Import Reference Data


Metrics and Estimation [Enterprise Architect User Guide]

Metrics and Estimation

TCF values, EFC values and Default Hour Rate for a project are controlled from the Estimation Factors dialog.

Risk, metric and effort types for a project are controlled from the Project Indicators dialog.

For further information on these see the Project Management and Resource Management topics, or specifically:

  • Technical Complexity Factors
  • Environment Complexity Factors
  • Default Hours
  • Effort Types
  • Metric Types
  • Risk Types.


Maintenance [Enterprise Architect User Guide]

Maintenance

Access: Settings | Project Types | Maintenance

Use to:

  • Set the base Problem Types that are handled

Learn More:

  • Testing Types


Problem Types [Enterprise Architect User Guide]

Problem Types

NOT CURRENTLY USED

For the maintenance and change control screens, you can use the Maintenance dialog to set the base Problem Types that are handled. Examples are hardware-related issues, performance problems, software bugs and network problems.

Access: Settings | Project Types | Maintenance > Problem Types

Use to:

  • Set the base Problem Types that are handled

Reference:

Field | Usage | See also
Problem Type | Indicates the name of the problem type. |
Description | Indicates a short description of the problem type. |
Weight | Indicates a weighting to apply to the problem type. |
Note | Indicates any additional information on the problem type. |
Defined Types | Displays all of the pre-defined and saved problem types. |
New | Add a new problem type. |
Save | Saves the scenario details and adds it to the Defined Types list. |
Delete | Deletes a scenario from the Defined Types list. |

Notes:

  • You can transport these problem types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu
  • You transport the problem types together with test types as a Maintenance Types file

Learn More:

  • Export Reference Data
  • Import Reference Data


Testing Types [Enterprise Architect User Guide]

Testing Types

Use the Test Types tab of the Maintenance dialog to add testing types to the basic set that comes with Enterprise Architect. Typical test types are load tests, performance tests and function tests.

Access: Settings | Project Types | Maintenance > Test Types

Use to:

  • Add Testing Types

Reference:

Field | Usage | See also
Test Type | Type the name of the test type. |
Description | Type a short description of the test type. |
Weight | Type a weighting to apply to the test type. |
Note | Type any additional information on the test type. |
Defined Types | Displays all of the pre-defined and saved test types. |
New | Add a new test type. |
Save | Saves the scenario details and adds it to the Defined Types list. |
Delete | Deletes a scenario from the Defined Types list. |

Notes:

  • You can transport these test types between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu
  • You can either export the test types together with the default problem types, as a Maintenance Types file, or separately as a Test Types file

Learn More:

  • Export Reference Data
  • Import Reference Data


Resources [Enterprise Architect User Guide]

Resources

The Resources window displays a tree of MDG Technologies, Templates, Documents, UML Profiles and Patterns, commonly-used model elements and Relationship Matrix profiles. This view provides useful shortcuts and re-use functions that you can use to add stock elements to the current model, and patterns and elements for additional information.

Access: View | More Project Tools | Project Resources

Use to:

  • Add Stock elements to the current model
  • Add patterns and elements

Reference:

Field | Usage | See also
MDG Technologies | Provides a convenient way to insert complex new elements and features without having to retype or reconfigure each element | MDG Technologies
Templates | Provides a range of templates for creating HTML (web) reports, RTF reports in either the legacy report generator or the extended RTF report generator, linked documents and MDG Technology reports; you can create, edit, copy and delete your own templates, and view and copy system-supplied or technology-supplied templates using context menu options | Web Style Templates RTF Documents The Legacy RTF Report Generator Generate RTF Documents Linked Documents
Documents | Provides shortcuts to saved RTF documents |
Matrix Profiles | Provides quick access to saved Relationship Matrix profiles; double-click on a profile to load the matrix with the saved settings and source-target packages | Matrix Profiles
Favorites | Provides shortcuts to selected elements that you want to access quickly |
Stylesheets | Enables you to import XSL Style sheets, which are then available in the drop-down list on the XML Export dialog | Publish Model Package
UML Profiles | Provides a convenient way to insert complex new elements and features without having to retype or reconfigure each element | UML Profiles
UML Patterns | Provides a convenient way to insert complex new elements and features without having to retype or reconfigure each element | UML Patterns

Notes:

  • In the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Configure Resources permission to maintain Resources window items
  • From release 7.5 of Enterprise Architect, a method of importing MDG Technologies into the Resources window is available but Not Recommended. However, you might previously have imported Technologies into the Resources window, and these are still available until you specifically delete them (right-click on the Technology and select the Delete Technology context menu option). The preferred method of making MDG Technologies available to your users is to import them into the %APPDATA% folder.
  • You can also synchronize the Tagged Values and constraints for any elements created from a profile element in the Resources window
  • To add a document to the shortcut list, select the Project | Documentation | Rich Text Format (RTF) Report menu option. Once you have defined your document click on the Resource Document button and type in a name. The document name then displays in the Resources window. By right-clicking on the document name you can regenerate documents individually or as a batch, or open them directly from Enterprise Architect
  • If you select a style sheet on export, Enterprise Architect applies that style sheet to the XMI generated before saving to file. This makes it convenient to generate other forms of output from the base XMI content. Combined with UML Profiles, this is a powerful means of extending Enterprise Architect to generate almost any content required

Learn More:

  • Permission List
  • importing MDG Technologies
  • Synchronize Tagged Values and Constraints
  • Resource Documents


Favorites [Enterprise Architect User Guide]

Favorites

The Resources window contains a Favorites folder. Here you can hyperlink to any UML element from the model as a whole, and conveniently drag and drop instances or links to this element into other diagrams. This is particularly useful where certain elements - such as the list of Actors in a system - are re-used again and again, and switching to the Actors folder is not convenient. In cases like this, using the Favorites folder makes managing and creating your model much easier.

Topics:

Topic

Detail

See also

Add to the Favorites Folder

To add an element to the Favorites folder:

  • In a diagram, right-click on the element to add
  • From the context menu select the Find | Add to Favorites option
  • Switch back to the Resources window and check the Favorites folder; the new element should be listed in its category within the favorites

Delete from the Favorites Folder

To delete a favorite:

  • Right-click on it within the Favorites folder in the Resources window
  • Select Delete Favorite from the context menu
  • Confirm the action by clicking on the Yes button

View Properties of a Favorite

To view a favorite's properties from the Favorites folder:

  • Select and right-click on the favorite in the Resources window
  • Select Element Properties from the context menu

Learn more:

  • Resources


Standard UML Models [Enterprise Architect User Guide]

Standard UML Models

This topic provides an introduction to Enterprise Architect's diagrams, elements and connectors, and its modeling process.

It also illustrates its alignment to the Unified Modeling Language (UML) 2.3, an open modeling standard, defined and maintained by the Object Management Group.

Topic

Detail

See also

The Unified Modeling Language (UML)

The UML standard defines notations and rules for specifying business and software systems; the notation supplies a rich set of graphic elements for modeling object oriented systems, and the rules state how those elements can be connected and used

UML is not a tool for creating software systems; instead, it is a visual language for communicating, modeling, specifying and defining systems

UML is not a prescriptive process for modeling software systems; it does not supply a method or process, simply the language. You can therefore use UML in a variety of ways to specify and develop your software engineering project

This language is designed to be flexible, extendable and comprehensive, yet generic enough to serve as a foundation for all system modeling requirements. With its specification, there is a wide range of elements characterized by the kinds of diagrams they serve, and the attributes they provide. All can be further specified by using stereotypes, Tagged Values and profiles.

Enterprise Architect supports many different kinds of UML elements (as well as some custom extensions); together with the connectors between elements, these form the basis of the model

UML Diagrams

UML Elements

UML Connectors

UML Stereotypes

UML Profiles

Tagged Values

Wide Range of Applications

Although initially conceived as a language for software development, UML can be used to model a wide range of real world domains and processes (in business, science, industry, education and elsewhere), organizational hierarchies, deployment maps and much more

Enterprise Architect also provides additional custom diagrams and elements, to address further modeling interests.

Modeling Basics

Extending UML for New Domains

Using UML Profiles, UML Patterns, Grammars, Data Types, Constraints, MDG Technologies and other extensions, UML and Enterprise Architect can be tailored to address a particular modeling domain not explicitly covered in the original UML specification

Enterprise Architect makes extending UML simple and straightforward and, best of all, the extension mechanism is still part of the UML Specification.

UML Profiles

UML Patterns

MDG Technologies

Recommended Reading

In addition to the UML Specification available from the OMG, two books that provide excellent introductions to UML are:

  • Schaum's Outlines: UML by Bennet, Skelton and Lunn
    Published by McGraw Hill.
    ISBN 0-07-709673-8
  • Developing Software with UML by Bern Oestereich
    Published by Addison Wesley.
    ISBN 0-201-36826-5

Learn More:

  • OMG website
  • Diagram Toolbox descriptions
  • The EAExample.eap project supplied with Enterprise Architect
  • Online UML Tutorial (parts 1 and 2) and UML 2.0 Tutorial


UML Diagrams [Enterprise Architect User Guide]

UML Diagrams

A UML diagram is a representation of the components or elements of a system or process model and, depending on the type of diagram, how those elements are connected or how they interact from a particular perspective. For example, how and why an object changes state, or how requirements are realized by the process or a system.

Topics:

Topic

Detail

See also

Working with Diagrams

Diagrams are developed in the main workspace, in which you create and connect model elements

You create diagrams by right-clicking a package and selecting the New Diagram context menu option, or load them by double-clicking on their diagram icon in the Project Browser

Diagram Tasks

Types of Diagram

There are two major groupings of UML diagrams:

  • Structural Diagrams which depict the structural elements composing a system or function, reflecting the static relationships of a structure, or run-time architectures.
  • Behavioral Diagrams which show a dynamic view of the model, depicting the behavioral features of a system or business process.

Structural Diagrams

Behavioral Diagrams

Extended Diagrams

Enterprise Architect provides a set of additional diagram types that extend the core UML diagrams for domain-specific models

Extended Diagrams

Custom Diagrams

Enterprise Architect also supports diagram types specific to MDG Technologies, including integrated technologies

Specialized UML Models


UML Structural Models [Enterprise Architect User Guide]

UML Structural Models

Structural diagrams depict the structural elements composing a system or function. These diagrams reflect the static relationships of a structure, such as Class or Package diagrams, or run-time architectures such as Object or Composite Structure diagrams.

Structural diagrams include the following diagram types:

Diagram Type | Detail | See also
Class Diagrams | Class diagrams capture the logical structure of the system, the Classes and objects that make up the model, describing what exists and what attributes and behavior it has. | Class diagrams
Composite Structure Diagrams | Composite Structure diagrams reflect the internal collaboration of Classes, Interfaces and Components (and their properties) to describe a functionality. | Composite Structure diagrams
Component Diagrams | Component diagrams illustrate the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies. | Component diagrams
Deployment Diagrams | Deployment diagrams show how and where the system is to be deployed; that is, its execution architecture. | Deployment diagrams
Object Diagrams | Object diagrams depict object instances of Classes and their relationships at a point in time. | Object diagrams
Package Diagrams | Package diagrams depict the organization of model elements into packages and the dependencies amongst them. | Package diagrams
Profile Diagrams | Profile Diagrams are those created in a «profile» package, to extend UML elements, connectors and components. | Profile Diagrams


Package Diagram [Enterprise Architect User Guide]

Package Diagram

Package diagrams depict the organization of model elements into packages and the dependencies amongst them, including package imports and package extensions. They also provide a visualization of the corresponding namespaces.

Use To:

  • depict the organization of model elements into packages
  • show dependencies between packages
  • visualize namespaces

Example Diagram: Example Package Diagram

Tools:

Select Package diagram elements and connectors from the Class pages of the Toolbox.

Package Diagram Elements | Package Diagram Connectors


Example Package Diagram [Enterprise Architect User Guide]

Example Package Diagram

The following example demonstrates a basic Package diagram.

Example of a Package Diagram

Item | Description | See Also
Nesting connector between ConnSeq and Controller | The nesting connector between ConnSeq and Controller reflects what the package contents reveal. Package contents can be listed by clicking on the diagram background to display the diagram's Properties dialog, selecting the Elements tab and selecting the Package Contents checkbox. | Properties dialog
«import» connector | The «import» connector indicates that the elements within the target Integer package, which in this example is the single Class Integer, are imported into the package Controller. The Controller's namespace gains access to the Integer Class; the Integer namespace is not affected. |
«merge» connector | The «merge» connector indicates that the package Controller's elements are imported into GenApply, including Controller's nested and imported contents. If an element already exists within GenApply, such as Loader and Time, these elements' definitions are expanded by those included in the package Controller. All elements added or updated by the merge are noted by a generalization relationship back to that package. |


Class Diagram [Enterprise Architect User Guide]

Class Diagram

The Class diagram captures the logical structure of the system - the Classes - and things that make up the model. It is a static model, describing what exists and what attributes and behavior it has, rather than how something is done.

Use To:

Illustrate relationships between Classes and Interfaces. Generalizations, Aggregations and Associations are all valuable in reflecting inheritance, composition or usage, and connections, respectively.

Example Diagram: Example Class Diagram

Tools:

Select Class diagram elements and connectors from the Class pages of the Toolbox.

Class Diagram Elements | Class Diagram Connectors

Learn More:

  • Active Classes
  • Parameterized (template) Classes
  • Stereotyped Business Interaction Elements


Example Class Diagram [Enterprise Architect User Guide]

Example Class Diagram

There are two forms of the Aggregation relationship in the following diagram. The pale form indicates that the Class Account uses AddressBook, but does not necessarily contain AddressBook. The dark Composite Aggregation form indicates ownership or containment by the target Classes (at the diamond end) of the source Classes.

Example of a Class Diagram


Object Diagram [Enterprise Architect User Guide]

Object Diagram

An Object diagram is closely related to a Class diagram, with the distinction that it depicts object instances of Classes and their relationships at a point in time. This might appear similar to a Composite Structure diagram, which also models run-time behavior; the difference is that Object diagrams exemplify the static Class diagrams, whereas Composite Structure diagrams reflect run-time architectures different from their static counterparts. Object diagrams do not reveal architectures varying from their corresponding Class diagrams, but reflect multiplicity and the roles instantiated Classes could serve.

Use To:

They are useful in understanding a complex Class diagram, by creating different cases in which the relationships and Classes are applied. An Object diagram can also be a kind of Communication diagram, which also models the connections between objects, but additionally sequences events along each path.

Example Diagram: Example Object Diagram

Tools:

Select Object diagram elements and connectors from the Object pages of the Toolbox.

Object Diagram Elements | Object Diagram Connectors

See Also:

  • Business Modeling Objects
  • Communication diagram


Example Object Diagram [Enterprise Architect User Guide]

Example Object Diagram

The following example first shows a simple Class diagram, with two Class elements connected.

The Classes above are instantiated below as Objects in an Object diagram. There are two instances of Computer in this model, which can prove useful for considering the relationships and interactions Classes play in practice, as Objects.

Example Object Diagram


Composite Structure Diagram [Enterprise Architect User Guide]

Composite Structure Diagram

A Composite Structure diagram reflects the internal collaboration of Classes, Interfaces or Components (and their Properties) to describe a functionality. Composite Structure diagrams are similar to Class diagrams, except that they model a specific usage of the structure. Class diagrams model a static view of Class structures, including their attributes and behaviors.

Use To:

A Composite Structure diagram is used to express run-time architectures, usage patterns and the participating elements' relationships, which might not be reflected by static diagrams.

In a Composite Structure diagram, Classes are accessed as Parts or run-time instances fulfilling a particular role. These Parts can have multiplicity, if the role filled by the Class requires multiple instances. Ports defined by a Part's Class should be represented in the composite structure, maintaining that all connecting Parts provide the required interfaces specified by the Port. There is extensive flexibility, and an ensuing complexity, that come with modeling composite structures. To optimize your modeling, consider building Collaborations to represent reusable patterns responding to your design issues.

Example Diagram: Example Composite Structure Diagram

Tools:

Select Composite Structure diagram elements and connectors from the Composite pages of the Toolbox.

Composite Structure Diagram Elements | Composite Structure Diagram Connectors

Learn More:

  • Business Use Case Realization


Example Composite Structure Diagram [Enterprise Architect User Guide]

Example Composite Structure Diagram

The following diagram shows a Collaboration used in Composite Structure diagrams to model common patterns. This particular example shows a relationship for performing an installation.

The following diagram uses the Install Collaboration in a Collaboration Use, and applies it to the UtilLoad Class via a «represents» relationship. This indicates that the classifier UtilLoad uses the collaboration pattern within its implementation.

Composite Structure - Represents Link

See Also:

  • Collaboration Use


Properties [Enterprise Architect User Guide]

Properties

A property is a nested structure within a classifier, which is usually a Class or an Interface, on a Composite Structure diagram. The contained structure reflects instances and relationships reflected within the containing classifier. Properties can have multiplicity.

Display as

Parts

Composite Diagram - Structural Properties

There are two Parts, libBooks and records, which are instances corresponding to the Classes Books and Computer respectively. After dragging Parts from the Toolbox out to the workspace, right-click on a Part and select the Advanced | Set Property Type context menu option to connect to a classifier.

If Parts disappear when dragged onto the Class, adjust the Z-order of the Class (right-click on it and select the Z-Order context menu option).

The relationship between the two Parts is indicated by the connector, reflecting that communication between the Parts is via the barcode. This contained structure and its Parts are properties owned by the Library Class. To indicate a property that is not owned by composition to the containing classifier, use a box symbol with a dashed outline, indicating association. To do this, right-click on the Part and select the Properties context menu option, then select the Advanced page of the Properties dialog and set the IsReference option to true.

Association Roles

Properties can also be reflected using a normal composite structure (without containing it in a Class), with the appropriate connectors, parts and relationships indicated through connections to the Class. This alternative representation is shown in the following diagram. However, this depiction fails to express the ownership immediately reflected by containing properties within a classifier.

Composite Diagram - Structural Properties2


Deployment Diagram [Enterprise Architect User Guide]

Deployment Diagram

A Deployment diagram shows how and where the system is to be deployed; that is, its execution architecture. Hardware devices, processors and software execution environments (system Artifacts) are reflected as Nodes, and the internal construction can be depicted by embedding or nesting Nodes. Deployment relationships indicate the deployment of Artifacts, and Manifest relationships reveal the physical implementation of components. As Artifacts are allocated to Nodes to model the system's deployment, the allocation is guided by the use of deployment specifications.

Example Diagram: Example Deployment Diagram

Tools:

Select Deployment diagram elements and connectors from the Deployment pages of the Toolbox.

Deployment Diagram Elements | Deployment Diagram Connectors


Example Deployment Diagram [Enterprise Architect User Guide]

Example Deployment Diagram

A simple Deployment diagram is shown below, representing the arrangement of servers at a head office. The servers are represented by Nodes linked by either simple or aggregate Association relationships.

Example of a Deployment Diagram

Deployment diagrams are ideal for using alternative images for the objects that the elements represent. Such images can be substituted for the elements in the above diagram, as shown below:

See Also:

  • Alternative Images


Component Diagram [Enterprise Architect User Guide]

Component Diagram

A Component diagram illustrates the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies. A Component diagram has a higher level of abstraction than a Class diagram; usually a component is implemented by one or more Classes (or Objects) at runtime. They are building blocks, built up so that eventually a component can encompass a large portion of a system.

Example Diagram: Example Component Diagram

Tools:

Select Component diagram elements and connectors from the Component pages of the Toolbox.

Component Diagram Elements | Component Diagram Connectors
PackComponent |


Example Component Diagram [Enterprise Architect User Guide]

Example Component Diagram

The following diagram demonstrates some components and their inter-relationships. Assembly connectors connect the provided interfaces supplied by Product and Customer to the required interfaces specified by Order. A Dependency relationship maps a customer's associated account details to the required interface Payment, indicated by Order.

Example of a Component Diagram

Learn More:

  • Assembly
  • Dependency


Profile Diagram [Enterprise Architect User Guide]

Profile Diagram

A Profile diagram is any diagram created in a «profile» package.

Profiles provide a means of extending the UML. They are based on additional stereotypes and Tagged Values that are applied to UML elements, connectors and their components. A Profile is a collection of such extensions that together describe some particular modeling problem and facilitate modeling constructs in that domain.

Example Diagram: Example Profile Diagram

Tools:

Select the following Profile diagram elements and connectors from the Profile pages of the Toolbox.

Profile Diagram Elements | Profile Diagram Connectors

Learn More:

  • Developing Profiles
  • Create Profiles


Example Profile Diagram [Enterprise Architect User Guide]

Example Profile Diagram

A typical unit on a Profile diagram resembles the following illustration:


UML Behavioral Models [Enterprise Architect User Guide]

UML Behavioral Models

Behavioral diagrams depict the behavioral features of a system or business process. Behavioral diagrams include the following diagram types:

Diagram Type | Detail | See also
Activity Diagrams | Activity diagrams model the behaviors of a system, and the way in which these behaviors are related in an overall flow of the system. | Activity diagrams
Use Case Diagrams | Use Case diagrams capture Use Cases and relationships among Actors and the system; they describes the functional requirements of the system, the manner in which external operators interact at the system boundary, and the response of the system. | Use Case diagrams
State Machine Diagrams | State Machine diagrams illustrate how an element can move between states, classifying its behavior according to transition triggers and constraining guards. | State Machine diagrams
Timing Diagrams | Timing diagrams define the behavior of different objects within a time-scale, providing a visual representation of objects changing state and interacting over time. | Timing diagrams
Sequence Diagrams | Sequence diagrams are structured representations of behavior as a series of sequential steps over time. They are used to depict work flow, message passing and how elements in general cooperate over time to achieve a result. | Sequence diagrams
Communication Diagrams | Communication diagrams show the interactions between elements at run-time, visualizing inter-object relationships. | Communication diagrams
Interaction Overview Diagrams | Interaction Overview diagrams visualize the cooperation between other interaction diagrams (Timing, Sequence, Communication and Interaction Overview diagrams) to illustrate a control flow serving an encompassing purpose. | Interaction Overview diagrams

Learn More:

  • Behavioral Modeling
  • Code Generation from Behavioral Models


Activity Diagram [Enterprise Architect User Guide]

Activity Diagram

Activity diagrams are used to model the behaviors of a system, and the way in which these behaviors are related in an overall flow of the system. The logical paths a process follows, based on various conditions, concurrent processing, data access, interruptions and other logical.

Use to:

  • Model system behavior
  • Model dynamic element interactions

Example: Example Activity Diagram

Tools: Select Activity diagram elements and connectors from the Activity pages of the Toolbox. Click on the following elements and connectors for more information.

Activity Diagram Elements | Activity Diagram Connectors

Notes:

  • You can create Analysis diagrams (Simplified Activity), containing the elements most useful for business process modeling, using the New Diagram dialog.

Learn More:

  • Analysis diagrams
  • New Diagram
  • Activity pages


Example Activity Diagram [Enterprise Architect User Guide]

Example Activity Diagram

The following diagram illustrates some of the features of Activity diagrams, including Activities, Actions, Start Nodes, End Nodes and Decision points.

Example of an Activity Diagram


Use Case Diagram [Enterprise Architect User Guide]

Use Case Diagram

Use Case diagrams capture Use Cases and relationships between Actors and the subject (system).

Use To:

  • Describe the functional requirements of the system
  • Describe the manner in which outside things (Actors) interact at the system boundary
  • Describe the response of the system.

Example Diagram: Example Use Case Diagram

Tools: Select Use Case diagram elements and connectors from the Use Case pages of the Toolbox. Click on the following elements and connectors for more information.

Use Case Diagram Elements | Use Case Diagram Connectors

Notes:

  • Invokes and Precedes relationships are defined by the Open Modeling Language (OML). They are stereotyped Dependency relationships; Invokes indicates that Use Case A, at some point, causes Use Case B to happen, whilst Precedes indicates that Use Case C must complete before Use Case D can begin.

Learn More:

  • Use Case Extension Points
  • Use Rectangle Notation
  • Business Use Case
  • Use Case pages


Example Use Case Diagram [Enterprise Architect User Guide]

Example Use Case Diagram

The following diagram illustrates some features of Use Case diagrams:

Example of a Use Case Diagram


State Machine Diagrams [Enterprise Architect User Guide]

State Machines

State Machines illustrate how an element (often a Class) can move between states, classifying its behavior according to transition triggers and constraining guards.

Naming:

  • State Machines were formerly known as State diagrams
  • State Machine representations in UML are based on the Harel State Chart Notation and therefore are sometimes referred to as State Charts

State Tables:

You can display a State Machine as a diagram, or as a table in one of three relationship formats.

How to:

To select the display format, follow the steps below:

Step

Action

See Also

1

Right-click on the diagram background to display the context menu

2

Select the Statechart Editor option

3

Select the appropriate display option:

  • Diagram
  • Table (State-Next State)
  • Table (State-Trigger)
  • Table (Trigger-State)

Example Diagram: Example State Machine Diagram

Tools:

Select State Machine elements and connectors from the State pages of the Toolbox; click on the elements and connectors below for more information.

State Machine Diagram Elements | State Machine Diagram Connectors

Learn More:

  • SW Code Generation - State Machine Diagrams
  • State Machine Modeling for HDLs
  • State Machine Table
  • State Group


Example State Machine [Enterprise Architect User Guide]

Example State Machine

The following diagram illustrates some features of State Machines.

Example of a State Machine or State Chart

Composite States:

The chain-link symbol in the bottom right corner of the Saved state indicates that it is a Composite state.

You have two options for exposing the contents of a composite State. Firstly, you can double-click on the element to display its child diagram separately, as shown below:

Alternatively, you can right-click on the composite element and select the Advanced | Show Composite Diagram context menu option, which displays the child diagram in the context of the parent diagram.

Notes:

  • State elements can display either with or without a line across them; the line - as shown above - displays when the element has features such as attributes (which could be hidden) or when the Show State Compartment checkbox is selected in the Objects page of the Options dialog

Learn more:

  • Show State Compartment
  • Composite States
  • Pseudo-states
  • State Elements
  • Regions


Pseudo-States [Enterprise Architect User Guide]

Pseudo-States

Pseudo-states are a UML abstraction for various types of transient vertices used in State Machine diagrams. Pseudo-states are used to express complex transition paths. The following types of pseudo-state are available:

Type | See
 | Initial
 | Entry Point
 | Exit Point
 | Choice
 | Junction
 | History
 | Terminate
 | Final
 | Fork
 | Join

Learn More:

  • State Machine Diagrams


Regions [Enterprise Architect User Guide]

Regions

Regions can be created in Composite States or State Machines on a State Machine diagram. Regions indicate concurrency, such that a single State is active in each region. Multiple transitions can occur from a single event dispatch, so long as similarly triggered transitions are divided by Regions.

How to:

To create a Region in a Composite State or State Machine element, follow the steps below:

Step | Action
1 | Right-click on the element, and select the Advanced | Define Concurrent Substates context menu option The State Regions dialog displays
2 | Create the Regions of a State, which can be named or anonymous
3 | Click on the OK button

Learn More:

  • Composite States
  • State Machines
  • State Machine diagram


State Machine Table [Enterprise Architect User Guide]

State Machine Table

A State Machine table is one of two variants of a State Machine (the other is the State Machine diagram). It displays the information of the State Machine in table form, and is a method of specifying the discrete behavior of a finite state-transition system; that is, what state the State Machine moves to and the conditions under which the transition takes place.

You can display the state transition as one of two different relationships:

Display Type | Description | See Also
State - Trigger | The rows indicate the current states and the columns indicate trigger events (or the other way around if you prefer, in a Trigger - State format). The cell at the intersection of a row and column identifies the target state in the transition if the trigger occurs, and the condition (or guard) of the transition. | Example State-Trigger Table
State - Next State | The rows and columns both indicate states, and the cell at the intersection of a row and column indicates the event that triggers a transition from the current (row) state to the next (column) state, the condition (or guard) of the event, and the effect of the transition. | Example State-Next State Table

You can display a State Machine as a diagram or table, and as a table in one of three relationship formats.

How to:

To select the display format, follow the steps below:

Step

Action

1

Right-click on the diagram background to display the context menu

2

Select the Statechart Editor option

3

Select the appropriate display option:

  • Diagram
  • Table (State-Next State)
  • Table (State-Trigger)
  • Table (Trigger-State)

Learn More:

  • State Machine Table Options
  • State Machine Table Operations
  • State Machine diagram


State Machine Table Options [Enterprise Architect User Guide]

State Machine Table Options

You can choose the State Machine table layout and set other options from the State Machine Diagram: Options dialog, which you display by either:

  • Double-clicking on the State Machine table background or
  • Right-clicking on the background and selecting the State Table Options context menu option

Field

Usage

See also

Table Format

Select the required table format:

  • State - Trigger: rows represent States, each state name in a left edge cell; columns represent Triggers, each trigger name in a column header cell; the intersection of a row and column identifies the Transition (if there is one); the Transition cell displays information about the next State and the condition (guard) of the Transition
  • Trigger - State: as above, except that rows represent triggers and columns represent states
  • State - Next State: both rows and columns represent states; intersection of row and column defines the transition (if there is one) from the row state to the column state.

Cell Size

Transition Cell Width

Specify the width of the transition cells (that is, the column width).

Transition Cell Height

Specify the height of the transition cells (that is, the row height).

Left Edge Cell Width

Specify the width of the left edge (row title) cells.

Top Edge Cell Height

Specify the height of the top edge (column title) cells.

Cell Color

State/Trigger Cell

Select the color of the row and column title cells.

State/Trigger Enumeration

Select the color of the enumeration (row/column numbering) cells.

You must select at least one of the Enable State Enumeration and Enable Event Enumeration checkboxes to set this color.

Transition Cell

Select the color of the transition cells (in the main body of the table).

Highlight Options

Highlight Zones Related to Selected Transition

Highlight the cells for all elements involved in a selected transition - the initial state, the target state, and the trigger.

Highlight Color

Select the color of the highlight.

Use Different Color for Target State

Highlight the cell for the target element in a transition in a different color to the cell for the source element.

Target Zone Color

Select the color of the highlight.

Display Options

Always Display an Empty State Zone

Add an empty row (and, on a State - Next State table, an empty column) to the end of the table.

The title cell contains an ellipsis (...). You can click twice (not double-click) on the ellipsis to edit it and identify a new state. In this case, another empty state zone is automatically added.

Enable State Enumeration

Add a cell to each state title cell, to number the state. Numbering starts at 0.

Prefix

If required, type a prefix for the state number or delete the default S to have no prefix.

Enable Event Enumeration

Add a cell to each event or trigger title cell, to number the event. Numbering starts at 0.

Prefix

If required, type a prefix for the event number or delete the default E to have no prefix.

Sample State Table

Display a preview of the table format as you define it.

Advanced

Define diagram options. The State Machine Diagram Properties dialog displays.

Set Appearance Options

Restore Defaults

Reapply the State Table diagram default values.

Apply

Apply changed options to the State Table diagram.


State Machine Table Operations [Enterprise Architect User Guide]

State Machine Table Operations

As a State Machine table is a variant of a State Machine diagram, most of the operations for manipulating the data are the same as for State Machine diagrams. The operations specific to State Machine tables are described in the following topics:

Operation | See Also
Change State Machine Table Position | Change Position of State Machine Table
Change State Machine Table Size | Change Size of State Machine Table
Insert New State | Insert New State (and Substate)
Insert Trigger | Insert Trigger
Insert/ChangeTransition | Insert/Change Transition
Reposition State or Trigger Cells | Reposition State/Trigger Cells
Add Legend | Add Legend
Locate Cell in State Machine Diagram | Find Cell in State Machine Diagram
State Machine Table Conventions | State Machine Table Conventions
Export State Table To CSV File | Export State Table To CSV File

Learn More:

  • State Machine diagram
  • State Machine table


Change State Machine Table Position [Enterprise Architect User Guide]

Change State Machine Table Position

If necessary, you can move the State Machine table around in the Diagram View.

How to:

To change the position of the State Machine table, follow the steps below:

Step | Action
1 | Press ( Ctrl+A ) or double click on the top left cell to select the whole State Machine table
2 | Drag and drop the State Machine table to the required position Alternatively, use ( Shift ) + () , (“) , (’) or (”) to move the State Machine table


Change State Machine Table Size [Enterprise Architect User Guide]

Change State Machine Table Size

There are three ways to change the size of the State Machine table:

Action | See Also
Change the cell size on the State Machine Diagram: Options dialog | State Machine Table: Options
Press ( Ctrl+A ) or double click on the top left cell to select the whole State Machine table, then press ( Ctrl ) + ( ! ) , (") , (# ) or ( $ ) to change the size |
Select the State Machine table, then drag the shape handles to change the size |


Insert New State [Enterprise Architect User Guide]

Insert New State

Action

Description

Insert a new State in the State Machine table

You can insert a new State in the State Machine table, using one of following methods:

  • In the top left cell in the State Machine table, move the cursor to the word State to display a + at the end of the word; click on the + to create a new State
  • Right-click in the top left cell in the State Machine table to display the context menu, and select the Add State menu option
  • Right-click on an existing State cell in the State Machine table to display the context menu, and select the
  • Insert New State Before option to insert a new State before the current State, or
  • Insert New State After option to insert a new State after the current State
  • Click on an existing State cell in the State Machine table, and press ( Insert ) to create and insert a new State above the selected State
  • In the Toolbox, on the State Elements page, click on an element and then click on:
  • the diagram background to add a new State to the end of the table, or
  • an existing State cell to add the new State just above it.

From the State Elements page of the Toolbox you can insert State, Initial, Final, Entry, Exit and Terminate elements.

Add a Substate to a selected State

To add a Substate to a selected State, follow the steps below

  1. Right-click on the required State cell in the State Machine table; the context menu displays
  2. Select the Add Substate menu option; Enterprise Architect adds the Substate to the State

Note: If the selected State does not allow a Substate, then the Add Substate menu option is grayed out.

You can also drag one existing State over another. If the second State allows Substates, the dragged State then becomes its Substate.

Similarly, you can change the parent State of a Substate by dragging the Substate from the original parent State to a different State.

Remove the parent relation of a Substate and make it a separate State

To remove the parent relation of a Substate and make it a separate State, follow the steps below

  1. Right-click on the Substate in the State Machine table. The context menu displays.
  2. Select the Remove Parent Relation menu option. The Substate cell becomes a State cell.

You can also drag and drop the Substate onto the top left cell of the State Machine table. The dragged Substate again becomes a State cell.


Insert Trigger [Enterprise Architect User Guide]

Insert Trigger

If the State Machine table format is either State-Trigger or Trigger-State, you can use one of the following methods to insert a new Trigger:

Method

Action

a

In the top left cell in the State Machine table, move the cursor to the word Event to display a + at the end of the word; click on the + to create a new Trigger

b

In the top left cell in the State Machine table, right-click to display the context menu and select the Add Trigger menu option to create a new Trigger

c

Select an existing Trigger in the State Machine table, then press ( Insert ) to insert a new Trigger before the existing Trigger

d

Click on an existing Trigger in the State Machine table, right-click to display the context menu and select either the:

  • Insert New Trigger Before option to insert a new Trigger before the current Trigger, or
  • Insert New Trigger After option to insert a new Trigger after the current Trigger


Insert/Change Transition [Enterprise Architect User Guide]

Insert/ChangeTransition

Action

Description

See Also

Insert a new Transition

You can insert a new Transition using one of the following methods:

  • Right-click on the cell in which to create a Transition, to display the context menu
  • If the State Machine table format is State-Trigger or Trigger-State, the context menu lists the States you can choose as the target of the Transition; click on the required State name to create the Transition
  • If the State Machine table format is State-Next State, click on the Insert Transition menu option to create the Transition.
  • In the State Relationships page of the Toolbox, select the Transition element, then click on the cell in the State Machine table in which to create the Transition. Double-click on the Transition to define it in the Transition Properties dialog.

Change the Transition

As for the State Chart diagram, to change the properties of a Transition double-click the Transition cell and edit the details on the Transition Properties dialog.

State Machine Diagrams

Change Transition States

You can change the source and target of the Transition by right-clicking the Transition and selecting the Advanced | Set Source and Target context menu option.

Alternatively, you can change the Transition source, target or Trigger by clicking on the Transition and dragging it to a different cell.

If the State Machine table format is either State-Trigger or Trigger-State, you can change the target state of a transition by:

  1. Highlighting the target state name in the Transition cell and clicking on it to display a list of the states in the table.
  2. Clicking on the preferred target state name.

Highlight States and Trigger Related to Transition

You can select options to highlight the source State, target State and Trigger cells associated with a Transition, using the Highlight Options panel on the State Machine Diagram: Options dialog. When you click on the Transition cell its associated State and Trigger cells are highlighted.

Alternatively, click on the Transition cell and press and hold ( L ) .

State Machine Diagram: Options


Reposition State or Trigger Cells [Enterprise Architect User Guide]

Reposition State or Trigger Cells

You can change the position of a selected State or Trigger cell in one of the following ways:

  • Right-click on the State or Trigger title cell and select the appropriate Order | Move xxx context menu option
  • Click on the cell and press ( Shift ) + ( " ) , ( ! ) , ( # ) or ( $ ) .


Add Legend [Enterprise Architect User Guide]

Add Legend

You can add a simple legend to any State Machine Table cell that has no transition. The two legend symbols are:

  • I - Ignore
  • N - Never Happen

How to:

To assign a legend symbol to a State Machine Table cell, follow the steps below:

Step

Action

1

Click on the cell to which to assign the legend and press:

  • ( I ) to insert the Ignore legend, or
  • ( N ) to insert the Never Happen legend

The required symbol displays in the center of the cell

Alternatively:

Step

Action

1

Right-click on the cell to which to assign the legend

The context menu displays

2

Select the appropriate menu option:

  • Legend | Ignore
  • Legend | Never Happen

The required symbol displays in the center of the cell

Notes:

  • To remove a legend symbol from a cell, either:
  • Click on the cell and press ( Delete ), or
  • Right-click on the cell and select the Legend | Remove Legend context menu option


Find Cell in State Machine Diagram [Enterprise Architect User Guide]

Locate Cell in State Machine Diagram

Locate

Description

in State Chart

On the State Machine table you can select a State or Trigger element and locate it in a State Machine diagram, by selecting the Find | Locate in State Chart context menu option. Enterprise Architect switches to the State Machine diagram and highlights the selected element. You can locate a Transition relationship in a similar way, by selecting the Locate in State Chart context menu option.

A Trigger on a State Machine table might or might not exist on the corresponding State Machine diagram. If the Trigger does not exist on the State Machine diagram, the Locate in State Chart option is disabled.

in State Table

Conversely, on the State Machine diagram, you can select a State or Trigger element and locate it on the corresponding State Machine table, by selecting the Find | Locate in State Table context menu option. Enterprise Architect switches to the State Machine table and highlights the selected element. You can locate a Transition relationship in a similar way, by selecting the Locate in State Table context menu option.


State Machine Table Conventions [Enterprise Architect User Guide]

State Machine Table Conventions

Trigger

  • Deleting a Trigger removes it completely from the model, therefore you cannot UNDO a Trigger deletion
  • There is a <None> column at the end of the Event heading row. This is for Transitions that have no Trigger information.

State

From the Toolbox you can insert the following State element types only (although the State Machine table might pick up and display other types, such as Submachine State):

  • State
  • Initial
  • Final
  • Entry
  • Exit
  • Terminate.

Transition

The Transition cell displays its properties in one of two ways, depending on the State Machine table format. If the State Machine table format is State - Trigger or Trigger - State, the Transition cell displays the Guard and Target as shown below:

If the State Machine table format is State - Next State, then the Transition cell displays the Trigger, Guard and Effect as shown below:

The State Machine table enables you to edit the Guard and Effect in place. If the Guard or Effect is empty for your selected Transition cell, the cell displays an ellipsis ( ... ) instead. Click twice (not double-click) on the ellipsis to type in the Guard and Effect names.


Export State Table To CSV File [Enterprise Architect User Guide]

Export State Table To CSV File

To export a State Machine Table to a CSV file, follow the steps below:

Step | Action
1 | Open the required State Machine Table
2 | Right-click on the diagram background and select the Export Statechart to CSV file context menu option The Save As browser dialog displays
3 | Select the appropriate directory location and type in the .CSV filename
4 | Click on the Save button


Example State-Trigger Table [Enterprise Architect User Guide]

Example State-Trigger Table

State - Trigger:

The rows indicate the current states and the columns indicate trigger events (or the other way around if you prefer, in a Trigger - State format). The cell at the intersection of a row and column identifies the target state in the transition if the trigger occurs, and the condition (or guard) of the transition.

State Machine Table State-Trigger Format


Example State-Next State Table [Enterprise Architect User Guide]

Example State-Next State Table

State - Next State: The rows and columns both indicate states, and the cell at the intersection of a row and column indicates the event that triggers a transition from the current (row) state to the next (column) state, the condition (or guard) of the event, and the effect of the transition.

State Machine Table State-Next State Format


Timing Diagram [Enterprise Architect User Guide]

Timing Diagram

A Timing diagram defines the behavior of different objects within a time-scale. It provides a visual representation of objects changing state and interacting over time.

Use To:

  • to define hardware-driven or embedded software components; for example, those used in a fuel injection system or a microwave controller.
  • to specify time-driven business processes.

Example Diagram: Example Timing Diagram

Tools: Select Timing diagram elements and connectors from the Timing pages of the Toolbox. Click on the elements and connectors below for more information.

Timing Diagram Elements | Timing Diagram Message

Learn More:

  • Create a Timing Diagram
  • Set a Time Range
  • State Lifeline
  • Value Lifeline
  • Edit a Timing Diagram
  • Time Intervals
  • Message (Timing Diagram)


Example Timing Diagram [Enterprise Architect User Guide]

Example Timing Diagram

An example of a Timing diagram is shown below:

Example of a Timing Diagram


Create a Timing Diagram [Enterprise Architect User Guide]

Create a Timing Diagram

How to:

To create a Timing diagram, follow the steps below:

Step | Action
1 | Right-click on a package in the Project Browser The context menu displays
2 | Select the Add | Add Diagram menu option The New Diagram dialog displays
3 | In the Select From panel, select UML Behavioral
4 | In the Diagram Types panel, select Timing
5 | Click on the OK button The Diagram View displays, on which you create the Timing elements for the diagram

Learn More:

  • Set a Time Range
  • Edit a Timing Diagram.


Set a Time Range [Enterprise Architect User Guide]

Set a Time Range

How to:

To set a time range before adding Lifeline elements to your Timing diagram, follow the steps below:

Step | Action
1 | Right-click on the diagram The context menu displays
2 | Select the Set Timeline Range option The Set Timeline Range dialog displays
3 | In the Start Time and End Time fields, type the numeric values for the start and end points of the timeline; for example, set the range 0 to 100 The start time must be less than the end time
4 | In the Time Units field, type the unit in which the time is measured; for example, seconds or minutes
5 | If it is not necessary to show the time range on the diagram, select the Suppress In Diagram checkbox
6 | Click on the OK button If you have not suppressed it, the time range displays underneath the Lifeline elements that you create on the diagram


Edit a Timing Diagram [Enterprise Architect User Guide]

Edit a Timing Diagram

On a Timing Diagram, you can add State Lifeline elements and Value Lifeline elements. You can maintain the states and transitions on these Lifeline elements either on the diagram itself or via the Configure Timeline dialog.

Learn More:

  • Add and Edit a State Lifeline Element
  • Add States to a State Lifeline
  • Edit States in a State Lifeline
  • Delete States in a State Lifeline
  • Edit Transitions in a State Lifeline Element
  • Add and Edit a Value Lifeline Element
  • Add States in a Value Lifeline Element
  • Edit Transitions in a Value Lifeline Element
  • Configure Timeline dialog - States Tab
  • Configure Timeline dialog - Transitions Tab


Add and Edit State Lifeline [Enterprise Architect User Guide]

Add and Edit State Lifeline

From the Timing elements page of the Toolbox drag a State Lifeline element onto your diagram. The element displays on the diagram.

Task

Action

Define the name of the State Lifeline
  1. Right-click on the element; the context menu displays
  2. Select the Other Properties option; the Timeline <name> dialog displays, showing the General tab
  3. Overtype the Name field
  4. Click on the Apply button and the OK button

Sizing and Scale

In the top left corner of a selected Lifeline element are the left and right quick sizing buttons ( Quicksize)

These buttons increase or decrease the width of the Lifeline element, which in turn controls the scale width of each time unit; by increasing the width of the element you increase the resolution when adding transitions, which makes them easier to edit

In order to edit the State Lifeline element, you must click on it to select it

Set Timeline Start Position

You might require more space at the start of your timelines; for example, to use long state names

To insert more space in all the timelines on a diagram, follow the steps below:

  1. Right-click on the diagram background to display the context menu
  2. Select the Set Timeline Start Position menu option; the Set Timeline Start Position dialog displays
  3. The Value 80 to 300 field defaults to 80 as the minimum distance in pixels between the start of the timeline element and the start of the timeline itself; type a new value up to 300 pixels and click on the OK button to increase the space at the start of the timeline, as shown in the following diagrams (80 pixels and 150 pixels respectively)

You now edit the states and transitions in the State Lifeline

Learn More:

  • Add States to a State Lifeline
  • Edit States in a State Lifeline
  • Delete States in a State Lifeline
  • Edit Transitions In State Lifeline


Add States to a State Lifeline [Enterprise Architect User Guide]

Add States to a State Lifeline

To add States to a State Lifeline, follow the steps below:

Step

Description

See Also

1

Click on the State Lifeline element

The New State button ( New State Button ) and Edit States button ( Edit State Button ) display at the bottom left of the element

2

Click on the New State button

The New State dialog displays

3

In the State field, type the name of the state

4

Click on the OK button

You must add at least two states; for example, On and Off

5

As you add states, increase the height of the element by dragging a handle-box ( Handlebox ) on the edge of the element

You can also add states using the States tab of the Configure Timeline dialog; add either:

  • Discrete states to the Timeline, or
  • A continuous range of numeric states

Add a New State

Numeric Range Generator


Edit States in a State Lifeline [Enterprise Architect User Guide]

Edit States in a State Lifeline

To edit States in a State Lifeline, follow the steps below:

Step

Description

See Also

1

Click on the State Lifeline element and click on the required state

The Edit State dialog displays

2

In the State field, change the name as required

3

Click on the OK button

4

If necessary, change the order of the states by either:

  • Clicking on the up or down arrows ( downgreenarrow and upgreenarrow) beside each state name, or
  • Right-clicking on the state name and selecting the Move Up or Move Down context menu options

You can also edit the states using the States tab of the Configure Timeline dialog

States


Delete States in a State Lifeline [Enterprise Architect User Guide]

Delete States in a State Lifeline

To delete States in a State Lifeline, follow the steps below:

Step | Description
1 | Right-click on the state name The context menu displays
2 | Select the Delete option

Alternatively:

Step | Description
1 | Click on the State Lifeline element
2 | Hold down ( Ctrl ) and move the cursor over the state name The cursor changes form (7)
3 | Click the mouse button The state name is deleted


Edit Transitions In State Lifeline [Enterprise Architect User Guide]

Edit Transitions In State Lifeline

Task

Action

See Also

Add and Move Transitions

After you have added states, you can add transitions via the diagram

Add and Move Transitions

Change the Transition Time

Move the cursor over one or other of the vertical transition lines and drag the line left or right to change the time of the transition

While on the line, the cursor shape changes to the horizontal movement cursor ( Leftrightcursor )

Merge Transitions

If necessary, you can 'push' a transition to merge it with the next or previous transition point on any Lifeline element on the diagram

Position the cursor off the appropriate side of the transition line; the cursor changes form ( Mergeleft or Mergeright )

Click the mouse button; the system locates the nearest transition in the required direction, on any element on the diagram, and merges the current transition with that transition

Delete Transitions

Transitions are automatically deleted when you move the transition to the same state as the previous transition state, and release the cursor

Alternatively, right-click on the transition line to display the context menu, and select the Delete menu option


Add and Move Transitions [Enterprise Architect User Guide]

Add and Move Transitions

After you have added states, you can add transitions via the diagram. As you move the cursor over the timeline, the cursor changes to one of three shapes.

Task | Action | See also
The move cursor ( Updowncursor ) | Displays when it is directly over the timeline Hold down the mouse button and drag the line to move the timeline to a state above or below the current position; you can move the transition more than one state up or down, if necessary |
The new transition up cursor ( Timelinecursor5 ) | Displays when it is just below the timeline, and there is another state above the line Press and hold ( Alt ); the cursor changes ( Timelinecursor2 ) Click to create a new transition to the state above the line To push the transition up more than one state, move the cursor onto the line and drag it up The transition is for one interval unit; you can make it longer by changing the transition time If you do not hold ( Alt ), the cursor does not change and the whole timeline from the transition onwards moves up | Edit Transitions In State Lifeline
The new transition down cursor ( Timelinecursor6 ) | Displays when it is just above the transition line, and there is another state below the line Press and hold ( Alt ); the cursor changes ( Timelinecursor3 ) Click to create a new transition to the state below the line To push the transition down more than one state, move the cursor onto the line and drag it down The transition is for one interval unit; you can make it li=onger by changingthe transition time If you do not hold ( Alt ), the cursor does not change and the whole timeline from the transition onwards moves down | Edit Transitions In State Lifeline

As you move the cursor over the vertical line of a transition, the time at which the transition occurs displays next to the line.

How to:

To edit Transitions, follow the steps below:

Step | Action
1 | Click directly on the appropriate transition line, after the transition begins Alternatively, right-click on the transition line to display the context menu, and select the Edit menu option The Edit Transition dialog displays; the fields in this dialog are all optional
2 | In the At Time field, type the point on the timescale at which the transition occurs
3 | In the Transition To field, type the name of the state to which the transition occurs
4 | In the Event field, type the name of the event that the transition represents; this displays on the Timeline element just above the transition line
5 | In the Duration Constraint field, type any constraint on the duration of the transition; this displays on the Timeline element, along the top of the element over the transition
6 | In the Time Constraint field, type any constraint on the start of the transition This displays on the Timeline element at the start of the transition
7 | Click on the OK button

Notes:

  • Once Event, Duration Constraint or Time Constraint are displayed on the diagram, you can edit them directly by clicking on them to display their specific dialog
  • You can delete them by pressing and holding ( Ctrl ) as you click on them; the cursor changes form when you press ( Ctrl )
  • You can also edit transitions using the Transitions tab of the Configure Timeline dialog

Learn More:

  • Transitions


Add and Edit Value Lifeline [Enterprise Architect User Guide]

Add and Edit Value Lifeline

From the Toolbox drag a Value Lifeline element onto your diagram. The element displays on the diagram.

How to:

To edit the Value Lifeline name, follow the steps below:

Step | Action
1 | Right-click on the element The context menu displays
2 | Select the Other Properties option The Timeline <name> dialog displays, showing the General tab
3 | Overtype the Name field
4 | Click on the Apply button and the OK button

Sizing and Scale

In the top left corner of a selected Lifeline element are the left and right quick sizing buttons ( Quicksize). These buttons increase or decrease the width of the Lifeline element, which in turn controls the scale width of each time unit. By increasing the width of the element you increase the resolution when adding transitions, which makes them easier to edit.

Learn More:

  • Value Lifeline
  • Add States in a Value Lifeline
  • Edit Transitions in a Value Lifeline


Add States In Value Lifeline [Enterprise Architect User Guide]

Add States In Value Lifeline

Adding States to a Value Lifeline is similar to adding states to a State Lifeline element.

For a Value Lifeline, only the first state displays on the diagram. The other states are added to a list to access when creating transitions; they only display on the Lifeline element as you create transitions to those states.

You can only edit or delete states in a Value Lifeline element using the States tab of the Configure Timeline dialog.

Learn More:

  • Add States to a State Lifeline


Edit Transitions In Value Lifeline [Enterprise Architect User Guide]

Edit Transitions In Value Lifeline

How to:

To add transitions to the states on a Value Lifeline element, via the diagram, follow the steps below:

Step | Action
1 | Move the cursor above the transition line The cursor changes form ( Timelinecursor4 )
2 | Click the mouse button The New Transition Event dialog displays
3 | In the Transition To field, click on the drop-down arrow and select a state from the list of available states; this displays on the Lifeline element within the transition box The remaining fields on the dialog are optional
4 | In the Event field, type the name of the event that the transition represents; this displays on the Lifeline element just below and at the start of the transition line
5 | In the Duration Constraint field, type any constraint on the duration of the transition; this displays on the Lifeline element, along the top of the element over the transition
6 | In the Time Constraint field, type any constraint on the start of the transition This displays on the Lifeline element at the start of the transition, just after the Event name
7 | Click on the OK button to create the new transition

To edit a transition, follow the steps below:

Step

Action

1

Click on the state name in the transition

Alternatively, right-click on the state name to display the context menu, and select the Edit menu option

The Edit Transition dialog displays, which is the same as the New Transition Event dialog, except that the At Time field is enabled

2

If necessary, overtype the At Time field to define a different start point

You cannot change the At Time field for the first state in the timeline; this is always 0

3

Edit the remaining fields as necessary

4

Click on the OK button to save the changes

To change the Transition Time, follow the steps below:

Step | Action
1 | To change the start or end time of a transition, click on the start or end point of the transition and drag it to the new position While on the line, the cursor shape changes to the horizontal movement cursor ( Leftrightcursor )

To delete Transitions, follow the steps below:

Step | Action
1 | To delete a transition, press and hold ( Ctrl ) and click on the transition state name While you hold ( Ctrl ) on the transition state name, the cursor changes form (7). Alternatively, right-click on the state name to display the context menu, and select the Delete menu option


Configure Timeline - States [Enterprise Architect User Guide]

Configure Timeline - States

You can manage states using the States tab of the Configure Timeline dialog. To display this, either:

  • Double-click on the Lifeline element
  • Right click on the Lifeline element and, from the context menu, select the Properties option, or
  • On a Value Lifeline, click on the Edit States button ( Edit State Button )

The Configure Timeline dialog defaults to the States tab.

All states currently defined for the Lifeline element are listed in the States panel.

How to:

To add a new State, follow the steps below:

Step | Action
1 | In the State Name field, type the name of the first new state in the Lifeline element; for example, WaitState
2 | Click on the Save button The state is added to the States panel and (for a State Lifeline Element) to the diagram
3 | Click on the New button
4 | In the State Name field, type the name of the next state in the Lifeline element
5 | Repeat steps 2 to 5 until you have added all required states (you must add at least three to the Lifeline element)
6 | When you have added all the required states, click on the OK button to close the Configure Timeline dialog

To edit an existing state, follow the steps below:

Step | Action
1 | Click on the state in the States: list
2 | In the State Name field, change the name of the state
3 | Click on the Save button

To delete an existing State, follow the steps below:

Step | Action
1 | Click on the state in the States: list
2 | Click on the Delete button

To change the order of States, follow the steps below:

Step | Action
1 | Click on the state in the States: list.
2 | Click on the uphand or downhand buttons to move the state up or down the sequence

See Also:

  • Numeric Range Generator


Numeric Range Generator [Enterprise Architect User Guide]

Numeric Range Generator

You can also use the Configure Timeline dialog to create a range of states having numeric values to be applied to the Timeline.

Important: This operation deletes all existing states and transitions for the Timeline element.

How To:

To create a range of states having numeric values, follow the steps below:

Step

Action

1

Double-click on the Lifeline element

The Configure Timeline dialog displays

2

Click on the Create Continuous Numeric States button

The Numeric Range Generator dialog displays

3

In the High Value and Low Value fields, type the upper and lower values of the range

4

In the Step Value field, type the increase interval

Nonsense values do not parse; Low Value must be less than High Value, and Step Value must be a positive value smaller than the total range

5

In the Units field, type the name of the measurement unit; for example, minutes

6

Click on the OK button

Enterprise Architect displays a warning that existing states and transitions are to be deleted

7

Click on the Yes button

The Configure Timeline dialog redisplays, with the defined range of states listed in the States panel

8

Click on the OK button

For a:

  • Value Lifeline, the first state is shown on the Timeline for the full time range of the Timeline
  • State Lifeline, the range of states is displayed as the y-axis of the Timeline


Configure Timeline - Transitions [Enterprise Architect User Guide]

Configure Timeline - Transitions

You can also manage transitions using the Transitions tab of the Configure Timeline dialog. To display this, either:

  • Double-click on the Lifeline element
  • Right click on the Lifeline element and, from the context menu, select the Properties option, or
  • On a Value Lifeline, click on the Edit States button ( Edit State Button ).

The Configure Timeline dialog defaults to the States tab. Click on the Transitions tab.

All transitions defined for the Timeline element are listed in the Transition Points panel.

How To:

To add a new transition, follow the steps below:

Step | Action
1 | Click on the New button
2 | In the New Transition panel, type the details of the transition
3 | Click on the Save button

To edit a transition, follow the steps below

Step | Action
1 | Click on a transition in the list
2 | In the Edit Transition panel, edit the fields for the transition as required
3 | Click on the Save button

To delete a transition, follow the steps below

Step | Action
1 | Click on a transition in the list
2 | Click on the Delete button The transition is removed from the dialog and the Lifeline
3 | Click on the OK button


Time Intervals [Enterprise Architect User Guide]

Time Intervals

You create and manage Time Intervals using the Interval Bar (the pale line along the top of each selected Lifeline element). Time Intervals enable you to perform various operations on transitions, such as copy and paste. They also enable you to compress sections of the timeline so that they are not visible.

Each Time Interval displays across all Timeline elements down to the last element on the diagram.

Action | Description | See
Create Time Intervals | You can create a Time Interval using the Interval Bar - Context Menu, using the Interval Bar - ( Shift ) key, or using the Timeline - Context menu. | Create Time Intervals
Compress Time Intervals | You can compress Time Intervals to conserve space on long timelines. | Compress Time Intervals
Select Time Intervals | There are a number of ways to select Time Intervals for performing other operations. | Select Time Intervals
Move Time Intervals | To move a Time Interval, move the cursor over the Interval bar within the Time Interval, hold down the mouse button and drag the interval left or right Time Intervals can meet, but cannot overlap. |
Resize Time Intervals | To resize a Time Interval, move the cursor over the Interval Bar at the start or end edge of the Time Interval, hold down the mouse button and move the edge left or right Time Intervals can meet, but cannot overlap. |
Delete Time Intervals | To Delete Time Intervals, select each Time Interval to be deleted and press ( Delete ) Deleting the Time Interval does not delete transitions within that interval |


Create Time Intervals [Enterprise Architect User Guide]

Create Time Intervals

How to:

To create a Time Interval using the Interval Bar context menu, follow the steps below:

Step | Description |
1 | Right-click on the Interval Bar at approximately the point at which to start or finish the Time Interval The context menu displays | Time Interval Create
2 | Select the Create Time Interval option The Time Interval displays down all the timeline elements, as a narrow pale band with a blue compression box at the top | TimeInterval3
3 | Move the cursor to the edge of the Time Interval in the Interval Bar so that the cursor changes to the drag form ( Leftrightcursor ) and drag the edge to the correct start or end point |

To create a Time Interval using the Interval Bar and ( Shift ) key, follow the steps below:

Step | Description | See also
1 | Move the cursor over the Interval Bar and press ( Shift ) The cursor changes shape ( TICreateCursor ) |
2 | Click to create the Time Interval |
3 | Move the cursor to the edge of the Time Interval in the Interval Bar so that the cursor changes to the drag form ( Leftrightcursor ) and drag the edge to the correct start or end point |

To create a Time Interval using the Timeline context menu, follow the steps below:

Step

Description

See Also

1

Right-click on the timeline just after a transition

The context menu displays

2

Click on the Select menu option

Enterprise Architect creates a Time Interval covering the period from the selected transition up to the next transition

If there are other Time Intervals in this period, Enterprise Architect replaces them with the single Time Interval for the transition state; you should consider this when creating the Time Interval, as it extends across the other Timeline elements in the diagram

A value of this method is that it creates a Time Interval for a period in which no transitions occur, which could be lengthy; you can then compress this Time Interval to hide the period of inactivity

Compress Timeline


Compress Time Intervals [Enterprise Architect User Guide]

Compress Time Intervals

You can compress Time Intervals to conserve space on long timelines.

Uncompressed Time Intervals

Compressed Time Intervals

Time Intervals Compressed

Notice:

Item

Description

The compression toggle boxes:

  • expansion box is expanded, click on this to compress the selected time interval
  • Compression box is compressed, click on this to expand the selected time interval again.

The compressed sections of the timelines themselves, in all elements.

If there is space between the paired symbols, there are transitions within the compressed section.

If the timeline continues through the paired symbols there are no transitions in the compressed section.

25 ... 55

The compressed sections in the time range underneath the elements.

You can also compress and expand Time Intervals using context menu options; see Time Interval Operations on Transitions.


Select Time Intervals [Enterprise Architect User Guide]

Select Time Intervals

Task | Action | See Also
Select a Time Interval across all elements on the diagram | Click on the Interval Bar within the Time Interval |
Select a number of individual Time Intervals | Press and hold ( Ctrl ) while clicking on the Interval Bar within each Time Interval |
Select all Time Intervals in a range | Click on the Interval Bar within the first Time Interval in the range, then press and hold ( Shift ) and click on the Interval Bar within the last Time Interval in the range All Time Intervals between the two are selected |

After you have selected one or more Time Intervals, you can modify the selection in the following ways:

Task | Action | See Also
Exclude Lifeline elements from the selection | Press and hold ( Ctrl ) and click on any part of the selection within that element Repeat the step to toggle the selection and re-include the element | Toggle Interval Selection
Select only one Lifeline element and exclude all others | Press and hold ( Shift ) and click on any part of the selection within that element |


Time Interval Operations [Enterprise Architect User Guide]

Time Interval Operations

This topic discusses how you select and update specific Time Intervals.

Right-click on the Interval Bar within an interval. A context menu displays providing the following options:

Option | Action | See also
Select Interval Deselect Interval | Select the Time Interval or, if the interval is already selected, deselect it You can select several Time Intervals in this way, accessing the menu separately on each interval | Select Time Intervals
Toggle Interval Selection | Switch the selection or deselection of the Time Interval within the selected Timeline element You select or deselect a Time Interval across all Timeline elements, but the Toggle option acts only on the element in which you access the menu | Select Time Intervals
Compress Interval | Compress the Time Interval, and hide all transitions within that Time Interval This is also useful for hiding long sections of inactivity on the time line | Compress Timeline
Remove Interval | Delete the Time Interval |
Copy | Copy the transitions for all selected Time Intervals |
Cut | Copy and delete the selected transitions from the diagram |
Cut and Remove Time | Copy and delete the transitions that lie in the selected Time Intervals from the diagram This option also removes time from the timeline, the amount being the duration of the Time Interval All transitions and Time Intervals to the right of the selected time interval are moved left |
Delete | Delete the selected transitions from the diagram |
Delete and Remove Time | Delete the transitions that lie in the selected Time Intervals from the diagram This option also removes time from the timeline, the amount being the duration of the Time Interval All transitions and Time Intervals to the right of the current Time Interval are moved left |
Insert Time | Add time to the timeline and move all transitions and time intervals to the right Also expand the duration of the current Time Interval |

Compress Timeline:

The Compression toggle boxes and Compress Interval menu option operate on the Time Interval and compress the timeline and all transitions within the Interval. You have an alternative option that operates on the timeline and compresses a single transition state.

  1. Right-click on the timeline (rather than the Interval Bar) just after a transition. The context menu displays.
  2. Click on the Compress menu option. Enterprise Architect creates a new Time Interval covering the period from the selected transition up to the next transition, and then compresses that Time Interval.

If there are other Time Intervals in this period, Enterprise Architect replaces them with the single Time Interval for the transition state. You should consider this when creating and compressing the Time Interval, as it extends across the other Timeline elements in the diagram.

A value of this method is that it creates a Time Interval for a period in which no transitions occur, which could be lengthy, and then compresses this Time Interval to hide the period of inactivity.

All Time Intervals in the Diagram:

To create a new Time Interval or work across all Time Intervals in the diagram, right-click on the Interval Bar between Time Intervals. A context menu displays, providing the following options (The Paste ... menu options become active after transitions have been copied).

Menu Option | Action | See also
Create Time Interval | Create a single Time Interval | Create Time Intervals
Expand all Time Intervals | Expand all Time Intervals over the whole diagram |
Compress all Time Intervals | Compress all Time Intervals over the whole diagram |
Paste Combine | Paste copied transitions over any existing transitions within the copied time frame The diagram does not allow two consecutive transitions to the same state, and removes the second transition automatically |
Paste Remove | Delete all the transitions and then pastes the copied transition within the copied time frame |
Paste Insert | Insert time, moving all transitions and Time Intervals to the right to make room to paste in the copied transitions |
Insert Time | Add time to the timeline and move all transitions and Time Intervals to the right This option does not change the duration of any Time Interval |

To copy and paste transitions from one timeline element to another, follow the steps below:

Step | Action | See Also
1 | Press and hold ( Shift ) and select the Timeline element within a Time Interval to copy or cut |
2 | Right-click on the Interval Bar (it doesn't matter which element you select) The context menu displays |
3 | Copy or cut the transitions You can also cut and remove time | Copy or cut
4 | Select the timeline to paste transitions to and right-click on the Interval Bar The context menu displays |
5 | Select one of the paste operations Note that states are created if they don't already exist in the timeline Any states that don't exist in the Timeline element you are pasting to are created Any new states created might be in the wrong order; you can change the order via the diagram quick buttons | Quick Buttons

To shift transitions within a selected Time Interval or multiple selected Time Intervals, follow the steps below:

Step

Action

See Also

1

Select all the Time Intervals containing the transitions to be shifted

Select Time Intervals

2

Press and hold ( Shift ) and click on the Interval Bar (it doesn't matter which Timeline element you select), and move the transition left or right

You cannot drag transitions over other transitions; the move stops when the moved transition collides with a stationary transition

If you have collision problems, use ( Shift ) + select to shift transitions for a single Timeline element


Sequence Diagram [Enterprise Architect User Guide]

Sequence Diagram

A Sequence diagram is a structured representation of behavior as a series of sequential steps over time.

Use To:

  • Depict work flow, message passing and how elements in general cooperate over time to achieve a result
  • Capture the flow of information and responsibility throughout the system, early in analysis; messages between elements eventually become method calls in the Class model
  • Make explanatory models for Use Case scenarios; by creating a Sequence diagram with an Actor and elements involved in the Use Case, you can model the sequence of steps the user and the system undertake to complete the required tasks

Construction:

  • Each sequence element is arranged in a horizontal sequence, with messages passing back and forward between elements
  • Messages on a Sequence diagram can be of several types; the Messages can also be configured to reflect the operations and properties of the source and target elements (see the Notes in the Message topic)
  • An Actor element can be used to represent the user initiating the flow of events
  • Stereotyped elements, such as Boundary, Control and Entity, can be used to illustrate screens, controllers and database items, respectively
  • Each element has a dashed stem called a Lifeline, where that element exists and potentially takes part in the interactions

To toggle the numbering of messages on a Sequence diagram, select or deselect the Show Sequence Numbering checkbox on the Options dialog.

Example Diagram: Example Sequence Diagram

Tools:

Select Sequence diagram elements and connectors from the Interaction pages of the Toolbox. Click on the following elements and connectors for more information.

Sequence Diagram Elements | Sequence Diagram Connectors

Learn More:

  • Denote the Lifecycle of an Element
  • Layout of Sequence Diagrams
  • Sequence Element Activation
  • Lifeline Activation Levels
  • Message Label Visibility
  • Change the Top Margin
  • Change the Timing Details
  • Business Modeling/Interaction
  • Sequence Diagrams and Version Control
  • Show Sequence Numbering


Example Sequence Diagram [Enterprise Architect User Guide]

Example Sequence Diagram

The following example Sequence diagram demonstrates several different elements:

Example of a Sequence Diagram


Denote Lifecycle of an Element [Enterprise Architect User Guide]

Denote Lifecycle of an Element

To capture element lifetimes using messages that are denoted as New or Delete message types, follow the steps below

Step | Action
1 | Double-click on a message within a Sequence diagram to display the Message Properties dialog.
2 | In the Lifecycle field, click on the drop-down arrow and select New or Delete.
3 | Click on the OK button to save the changes.

Example Diagram: The example below shows two elements that have specific creation and deletion times

Sequence Diagram Element Lifecycle

Notes:

  • To show the termination X on the lifeline in the example diagram, you must switch on garbage collection: Tools | Options | Diagram > Sequence: Garbage Collect.


Layout of Sequence Diagrams [Enterprise Architect User Guide]

Layout of Sequence Diagrams

To offset the vertical height of sequence messages to get an attractive and effective layout, follow the steps below

Step | Action
1 | Select the appropriate message in a Sequence diagram
2 | Use the mouse to drag the message up or down as required As you drag a message up or down a lifeline, any messages or fragments below that message are shifted up or down the same amount; however, be aware that if you drag up or down past the next or previous message, Enterprise Architect interprets that as the requirement to swap positions, rather than simply offset a message position

Example Diagram: The example below shows an economical use of space in a Sequence diagram

Sequence Diagram Message Layout


Sequence Elements [Enterprise Architect User Guide]

Sequence Elements

The example below shows some possible elements of Sequence diagrams and their stereotyped display.

Element | Description | See Also
Actor | An instance of an actor at runtime; this can be depicted either as the human figure or in rectangle notation. | Actor
Lifeline | An Object element with the stereotype Lifeline. | Lifeline
Boundary | Represents a user interface screen or input/output device. | Boundary
Entity | A persistent element - typically implemented as a database table or element. | Control
Control | The active component that controls what work gets done, when and how. | Entity

Sequence Diagram Elements


Sequence Diagrams and Version Control [Enterprise Architect User Guide]

Sequence Diagrams and Version Control

You might create Sequence diagrams that use elements from other packages as the Lifelines within the diagram. In such cases, the diagrams could be corrupted when the element packages are checked in and out under version control. This is because during checkout the elements are first deleted from the model and then re-imported, and although they are reinstated in the diagrams, any Messages connecting them are not.

So, if the diagram and its elements reside in different packages, a round-trip of the element package through version control might damage the Sequence diagram.

The solution is to drag-and-drop each Class onto the Sequence diagram as an object - when you drop the Class onto the Sequence diagram, in the Paste Element dialog select the as Instance of Element (Object) option. This creates a new object in the diagram's parent package, based on the selected Class element. You then create the Messages between the objects.

Therefore, to ensure that a Sequence diagram is not damaged by round-trips of other packages through version control, remember that:

  • The Lifelines must be objects (even though Enterprise Architect allows you to drop elements as Lifelines onto a Sequence diagram, it is not a strictly UML compliant construct)
  • The Lifelines must be in the same package as the diagram.

The following illustration shows the Project Browser with two packages: P1, containing the elements, and P2, containing a Sequence diagram that uses those elements. The diagram itself is also shown.

This diagram is not damaged, because all the Lifelines are objects and these objects reside in the same package as the Sequence diagram.


Sequence Element Activation [Enterprise Architect User Guide]

Sequence Element Activations

Sequence elements in a Sequence diagram have Activation rectangles drawn along their lifelines. These rectangles describe the time the element is active during the overall period of processing. This visual representation can be suppressed by right-clicking the Sequence diagram, and selecting the Suppress Activations context menu option.

In general, Enterprise Architect calculates the period of activation for you, but in some cases you might want to fine tune the rectangle length. There are several context menu options on a sequence message that you can use to accomplish this. To access the following context menu, right-click on the message and select the Activations context menu option.

Command | Description
Start New Message Group | Starts off a new round of processing in the current diagram. This enables you to describe more than one processing scenario in a single diagram.
Extend Source Activation Down | Forces an element to stay active beyond the normal processing period. This could be used to express an element that continues its own processing concurrently with other processes.
Extend Source Activation Up | Forces an element's activation upwards.
End Source Activation | Truncates the activation of the source element after the current message. This is useful for expressing an asynchronous message after which the source element becomes idle.
End Target Activation | Ends a Forced Activation started by the Extend Source Activation options.
Raise Activation Level | Displays on the context menu only where its use is appropriate. For example, after a self-message the next message starts by default at a lower activation level but the Raise Activation Level command displays on the context menu to enable you to raise its level.
Lower Activation Level | Displays on the context menu only where its use is appropriate.

A more convenient way to change activation levels is directly on the diagram. Whenever appropriate, left and/or right arrows display on specific connectors. In the following diagram, see connector 1.3. Click on the arrow to raise or lower the activation level.

Sequence Diagram Activation Arrows


Lifeline Activation Levels [Enterprise Architect User Guide]

Lifeline Activation Levels

Complicated processing systems can be easily negotiated and reflected in Sequence diagrams, by adding activation layers on a single lifeline.

Example | Description
Sequence Diagram Self Messages | A Class invokes the method Sample A, which in turn calls Sample A1. To produce the arrangement in the diagram, select the More tools | Interaction menu option, click on the Self-message icon in the Interaction Relationships panel and then click on the lifeline.
SelfMessageLevels2 | In order to raise the Activation level of Sample A1, click on the raise arrow of the selected connector. The lifeline now visually depicts that method Sample A1 is called during the processing of Sample A.
SelfMessageMultLev2 | In the example below, a few more self-messages have been added. The message Sample A2a is called from Sample A2 which in turn is called from Sample A (not Sample A1). Sample A1 is called from Sample A.


Sequence Message Label Visibility [Enterprise Architect User Guide]

Sequence Message Label Visibility

To hide and show the labels used in Sequence messages, follow the steps below

Step | Action
1 | Right-click on the message within the Sequence diagram The message context menu displays
2 | Select the Set Label Visibility menu option The Label Visibility dialog displays
3 | Select or clear the checkbox against each message label to display or hide, respectively
4 | Click on the OK button to save the settings


Change the Top Margin [Enterprise Architect User Guide]

Change the Top Margin

In order to change the top margin of a Sequence diagram from the default 50 units, right-click on the diagram to display the context menu and select the Set Top Margin menu option. You can set the top margin to any value between 30 and 250 units.


Inline Sequence Elements [Enterprise Architect User Guide]

Inline Sequence Elements

It is possible to represent Part and Port elements on a Sequence diagram. Child Parts and Ports appear as inline sequence elements under their parent Class sequence element.

How to:

To represent Part and Port elements on a Sequence diagram, follow the steps below

Step | Action
1 | Right-click on the sequence elements containing the child Ports or Parts, to display the context menu
2 | Select the Embedded Elements | Embedded Elements menu option
3 | Select the checkbox against each Part or Port to show, and click on the Close button

Sequence Diagram Inline Sequence Elements


Communication Diagram [Enterprise Architect User Guide]

Communication Diagram

A Communication diagram is a diagram that shows the interactions between elements at run-time in much the same manner as a Sequence diagram. However, Communication diagrams are used to visualize inter-object relationships, while Sequence diagrams are more effective at visualizing processing over time. Communication diagrams were known as Collaboration diagrams in UML 1.

Communication diagrams employ ordered, labeled associations to illustrate processing. Numbering is important to indicate the order and nesting of processing. A numbering scheme could be:

1
1.1
1.1.1
1.1.2
1.2, and so on.

A new number segment begins for a new layer of processing, and would be equivalent to a method invocation.

Example Diagram: Example Communication Diagram

Tools: Select Communication diagram elements and connectors from the Communication pages of the Toolbox. Click on the following elements and connectors for more information.

Communication Diagram Elements | Communication Diagram Connectors

Learn More:

  • Communication Diagrams in Color


Example Communication Diagram [Enterprise Architect User Guide]

Example Communication Diagram

This example illustrates a Communication diagram among cooperating object instances. Note the use of message levels to capture related flows, and the different colors of the messages.

Example of a Communication Diagram


Communication Diagrams in Color [Enterprise Architect User Guide]

Communication Diagrams in Color

Enterprise Architect enables you to highlight particular message flows in a Communication diagram using different colors for each message set.

To highlight the colors in a Communication diagram, follow the steps below:

Step | Action
1 | Select the Tools | Options | Communication Colors menu option The Communication Message Coloring page of the Options dialog displays
2 | Select the Use Communication Color checkbox
3 | Click on the drop-down arrow of each Message n field, and select the required color for each message group
4 | Click on the Close button On your Communication diagram, each sequence group of messages displays in a different color, as shown below

Communication Diagram Message Colors


Interaction Overview Diagram [Enterprise Architect User Guide]

Interaction Overview Diagram

Interaction Overview diagrams visualize the cooperation between other interaction diagrams to illustrate a control flow serving an encompassing purpose. As Interaction Overview diagrams are a variant of Activity diagrams, most of the diagram notation is the same, as is the process of constructing the diagram. Decision points, Forks, Joins, Start points and End points are the same. Instead of Activity elements, however, rectangular elements are used. There are two types of these elements:

  • Interaction elements display an inline Interaction diagram, which can be any one of the four types
  • Interaction Occurrence elements are references to an existing Interaction diagram: they are visually represented by a frame, with ref in the frame's title space; the diagram name is indicated in the frame contents.

To create an Interaction Occurrence, simply drag an Interaction diagram from the Project Browser onto your Interaction Overview diagram. The ref frame displays, encapsulating an instance of the Interaction diagram.

Example Diagram: Example Interaction Overview Diagram

Tools: Select Interaction Overview diagram elements and connectors from the Activity pages of the Toolbox. Click on the following elements and connectors for more information.

Interaction Overview Diagram Elements | Interaction Overview Diagram Connectors

Learn More:

  • Activity diagrams
  • Interaction
  • Interaction Occurrence


Example Interaction Overview Diagram [Enterprise Architect User Guide]

Example Interaction Overview Diagram

This diagram depicts a sample sale process, shown in an Interaction Overview diagram, with sub-processes abstracted within Interaction Occurrences. The diagram appears very similar to an Activity diagram, and is conceptualized the same way; as the flow moves into an interaction, the respective interaction's process must be followed before the Interaction Overview's flow can advance.

Example of an Interaction Overview Diagram


UML Elements [Enterprise Architect User Guide]

UML Elements

Models in UML are constructed from elements such as Classes, Objects, Interfaces, Use Cases, Components and Nodes, each of which has a different purpose, different rules and different notation. Model elements are used at different stages of the design process for different purposes. For example,

  • During early analysis, Use Cases, Activities, Business Processes, Objects and Collaborations are used to capture the problem domain
  • During elaboration, Sequence diagrams, Objects, Classes and State Machines are used to refine the system specification
  • Components and Nodes are used to model larger parts of the system as well as the physical entities that are created and deployed into a production environment.

Topics:

Topic | Detail | See also
Behavioral Diagram Elements | Behavioral diagrams depict the behavioral features of a system or business process. Elements that can appear on Behavioral diagrams include Activity, Interaction, Lifeline, State Machine and Use Case. | Behavioral Diagram Elements
Structural Diagram Elements | Structural diagrams depict the structural elements composing a system or function. Elements that can appear on Structural diagrams include Class, Component, Interface, Node and Package. | Structural Diagram Elements


Behavioral Diagram Elements [Enterprise Architect User Guide]

Behavioral Diagram Elements

The following elements are used in UML Behavioral Diagrams. For more information on using each element, click on the element name in this list:

  • Action, Activity, Actor
  • Central Buffer Node, Choice, Collaboration, Collaboration Use, Combined Fragment
  • Datastore, Decision, Diagram Frame, Diagram Gate
  • Endpoint, Entry Point, Exception, Expansion Region, Exit Point
  • Final, Flow Final, Fork
  • History
  • Initial, Interaction, Interaction Occurrence, Interruptible Activity Region
  • Join, Junction
  • Lifeline
  • Merge, Message Endpoint, Message Label
  • Note
  • Object
  • Package, Partition
  • Receive, Region
  • Send, State, State/Continuation, State Lifeline, State Machine, Structured Activity, Synch, System Boundary
  • Terminate, Trigger
  • Use Case
  • Value Lifeline

Learn More:

  • Behavioral Diagrams


Action [Enterprise Architect User Guide]

Action

Description:

An Action element describes a basic process or transformation that occurs within a system. It is the basic functional unit within an Activity diagram. Actions can be thought of as children of Activities. Both represent processes, but Activities can contain multiple steps or decomposable processes, each of which can be embodied in an Action. An Action cannot be further broken down or decomposed.

Activity Diagram - Actions

An Action can be further defined with pre-condition and post-condition notes, and certain properties can be graphically depicted on the Action (Enterprise Architect prompts you to define the type of Action you are creating when you first drag the Action icon from the Toolbox). The data values passed out of and into an Action can be represented by Action Pins. For a named Action (that is, other than a basic Action) you can also assign Action Pins to represent specific properties.

For a basic (Atomic) Action, you can define the effect of the Action using the Effect tab of the element Properties dialog, and select to display the effect on the diagram.

An Action can also be depicted as an Expansion Node to indicate that the Action comprises an Expansion Region.

Toolbox Icon:

Learn More:

  • Action Notation
  • Action Expansion Node
  • Action Pin
  • Assign Action Pins
  • Local Pre/Post Conditions
  • Class Operations in Activity Diagrams
  • Activity Diagram
  • Activity Element
  • Expansion Region

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 241) states:

An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 313) also states:

An action may have sets of incoming and outgoing activity edges that specify control flow and data flow from and to other nodes. An action will not begin execution until all of its input conditions are satisfied. The completion of the execution of an action may enable the execution of a set of successor nodes and actions that take their inputs from the outputs of the action.


Action Notation [Enterprise Architect User Guide]

Action Notation

Description:

When you drag the Action icon from the Activity page of the Toolbox onto your diagram, a selection list displays showing the commonest types of Action to create. (If this list does not display, press ( Ctrl ) as you drag the icon.)

When you click on one of the specific types, that type of Action element displays on diagram. If you click on the Other option, the New Action dialog displays. You can again select to create a normal (Atomic) Action element, a CallOperation or a CallBehavior, or you can select the Other radio button and click on the drop-down arrow in the blank field to select the Action type from an extensive list.

If you later decide that the Action type is not appropriate, you can change it by right-clicking on the Action and selecting the Properties context menu option, and then selecting the Advanced page of the Properties dialog. Set the Action type by selecting a value from the Kind drop-down list. For a Value Specification Action, you also set the value on this page.

Action Kind Notation

Action Kind | Notation | See Also
AcceptEvent | Action - AcceptEvent | AcceptEvent Actions
AcceptEventTimer | Action - AcceptEventTimer |
CallBehavior | Action - CallBehaviour |
CallOperation | Action - CallOperation |
SendSignal | Action - SendSignal | SendSignal Action & BroadcastSignal Action

AcceptEvent Actions:

For an Accept Event Action element, the Properties dialog contains a Triggers tab on which you define one or more triggers to denote the type of events accepted by the Action, as defined in the following table:

Field

Usage

See also

Name

Specify the name of the trigger

Type

Specify the type of trigger: Call, Change, Signal or Time

  • Call - specifies that the event is a CallEvent, which sends a message to the associated object by invoking an operation
  • Change - specifies that the event is a ChangeEvent, which indicates that the transition is the result of a change in value of an attribute
  • Signal - specifies that the event is a SignalEvent, which corresponds to the receipt of an asynchronous signal instance
  • Time - corresponds to a TimeEvent; which specifies a moment in time

Code generation for State Machines currently supports Change and Time trigger events only, and expects a specification value

Specification

Specify the event instigating the Transition

SendSignal Action & BroadcastSignal Action:

For a SendSignal or BroadcastSignal Action element, you can model the signal to be sent and the associated arguments to be conveyed, using the Signal tab of the element Properties dialog.

To model the signal to be sent and the associated arguments to be conveyed, follow the steps below:

Step | Action
1 | In the Signal field, click on the ( ... ) button and select the required signal from the Select Signal dialog
2 | In the Attribute field, click on the drop-down arrow and select the attribute (as previously created in the Signal element) with which the arguments are to be associated
3 | In the Value field, type the appropriate value for the attribute
4 | Identify the arguments (as ActionPins) for the Signal; click on the Add button under the Arguments panel, and select the appropriate Pins from the Select Pin dialog To assign more than one Pin, press ( Ctrl ) whilst you select each Pin
5 | Click on the Save button

Structural Feature Actions:

Enterprise Architect supports the following types of Structural Feature Actions:

  • AddStructuralFeatureValue
  • ClearStructuralFeature
  • ReadStructuralFeature
  • RemoveStructuralFeatureValue
  • WriteStructuralFeature

These actions can take Ports, Parts or Attributes as the target structural feature.

To set the appropriate target structure feature, follow the steps below:

Step | Action
1 | Right-click on the Action element in the diagram, and select the Advanced | Set Structural Feature context menu option The Set Structural Feature dialog displays
2 | To locate the structural feature, click on the Add button The Select Property dialog displays (a variant of the Select <Item> dialog)
3 | Browse or search for the appropriate structural feature, and double-click on it The feature name and location displays in the structuralFeature field of the Set Structural Feature dialog
4 | Click on the OK button to save the setting


Action Expansion Node [Enterprise Architect User Guide]

Action Expansion Node

Action - ExpansionNode

Description

Representing an Action as an Expansion Node is a shorthand notation to indicate that the Action comprises an Expansion Region.

To specify an Action as an Expansion Node, right-click on the Action to display the context menu and select the Embedded Elements | Add Expansion Node menu option. After designating an Action as an Expansion Node, you can modify or delete it using the Embedded Elements | Embedded Elements menu option.

See Also:

  • Action
  • Expansion Region


Action Pin [Enterprise Architect User Guide]

Action Pin

Activity - ActionPin

Description

An Action Pin is used to define the data values passed out of and into an Action. An input pin provides values to the Action, whereas an output pin contains the results from that Action.

Action Pins are used below to connect two Actions:

Activity - ObjectFlow2

Action Pins can be further characterized as defining exception parameters, streams, or states. Associating a state with a Pin defines the state of input or output values. For instance, the Pin could be called Orders, but the state could be Validated or Canceled.

To add an Action Pin to an Action, right-click on the Action to display the context menu and select the Embedded Elements | Add Action Pin menu option. (You can also assign Action Pins, to define specific properties of the Action.)

The Properties dialog of an Action Pin has a Pin tab on which you define the specific actions of the Pin.

A Pin serves as an argument for Call Behavior Actions and Call Operation Actions. When an Action is associated with a valid behavior in the model, the associated behavior's parameters are listed in the Parameter field drop-down list to facilitate a one-to-one mapping between the argument and the parameter. The fields in the Argument panel are enabled only for Pins belonging to Call Actions, and only when the Action is associated with a valid behavior with valid parameters.

You can also change certain properties of an Action Pin on the Advanced page of the element Properties dialog: right-click on the Pin and select the Properties context menu option. The objectState and kind properties can be set.

See Also:

  • Action
  • Assign Action Pins


Assign Action Pins [Enterprise Architect User Guide]

Assign Action Pins

Apart from adding Action Pins to any Action, you can assign specialized input or output Action Pins to Actions that have a specific type (that is, those that are not Basic or Atomic Actions). These input/output Pins signify various properties of the Action - they are not visible as structures on the diagram unless they have previously been added, but are listed in the Project Browser as properties of the Action.

You can only assign Pins that have already been added or assigned to the Action, or that are being created specifically to be assigned to the Action.

How to:

To assign Pins to an Action, follow the steps below:

Step

Action

See also

1

Right-click on the Action in the diagram, and select the Advanced | Assign Action Pins context menu option

The Assign Action Pins to <ActionName> dialog displays

The format of this dialog depends on the type of Action: for a:

  • SendObject Action the dialog has two fields (request and target)
  • TestIdentity Action, three
  • CallBehavior Action, one (result)

The fields are populated in exactly the same way

2

The mandatory number and type of Pins are automatically selected (if they exist) or created

To change or add a Pin in a field, click on the corresponding Add button

The Select Pins dialog displays, showing the selected Action and listing all the input Pins currently owned by the Action

Instance Classifier

3

Double-click on one of the Pins (or, depending on the multiplicity of the Pin, ( Ctrl ) +click on several Pins)

Alternatively, if no suitable Pin exists, click on the Add New button and then click on the newly-created Pin

The selected Pin is identified in the field on the Assign Action Pins to <ActionName> dialog

4

Click on the OK button

To check the exact location of an assigned Action Pin, you can right-click on the Pin name in the dialog and select the Find in Project Browser context menu option.

Learn More:

  • Action Pin


Local Pre/Post Conditions [Enterprise Architect User Guide]

Local Pre/Post Conditions

Actions can be further defined with pre-condition and post-condition notes, which constrain an Action's entry and exit. These notes can be added to an Action as defined below.

Activity - ActionPrePost

How to:

To attach a constraint to an Action, follow the steps below:

Step | Action
1 | Right-click on the Action The context menu displays
2 | Select the Add | Constraint menu option A Note is created on the diagram, connected to the Action
3 | Right-click on the Note The context menu displays
4 | Select the View Properties menu option The Constraint dialog displays
5 | In the Constraint Type field, click on the drop-down arrow and select the required constraint type
6 | In the Constraint field, type the text for the constraint
7 | Click on the OK button to save the constraint

Learn More:

  • Action


Class Operations in Activity Diagrams [Enterprise Architect User Guide]

Class Operations in Activity Diagrams

Operations from Classes can be displayed on Activity diagrams as Actions. When an operation is shown as an Action, the notation of the Action displays the name of the Class that features the operation.

How to:

To add an operation to an Activity diagram, follow the steps below:

Step

Action

See Also

1

Open an Activity diagram

2

From the Project Browser open a Class and locate the operation to be added to the Activity diagram

3

Drag the operation on to the diagram

4

When the operation has been added to the Activity diagram the Action displays the name of the Class that features the operation

Action - CallOperation

Right-click on the Action in the diagram to locate, in the Project Browser, the:

  • Behavior classifier (CallBehavior Activity) using the Find | Locate Classifier in Project Browser context menu option or
  • Call operation (CallOperation Activity) using the Find | Locate Operation in Project Browser context menu option

If it becomes necessary to change the operation that this Action refers to, follow the steps below:

Step | Action | See Also
1 | Right-click on the Action The context menu displays |
2 | Select the Advanced | Set Operation menu option The Set Operation dialog displays | Set Operation dialog
3 | If necessary, in the In Namespace field, select the model that contains the required operation |
4 | Double-click on the required operation. The Action updates to show the new classifier and operation |


Activity [Enterprise Architect User Guide]

Activity

Description

An Activity organizes and specifies the participation of subordinate behaviors, such as sub-Activities or Actions, to reflect the control and data flow of a process. Activities are used in Activity diagrams for various modeling purposes, from procedural-type application development for system design, to business process modeling of organizational structures or work flow.

The following simple diagram of an Activity contains Action elements and includes input parameters and output parameters.

Simple Activity Diagram

You can define an Activity as a composite element, either during creation or during later edits. When creating a composite Activity element, it is simpler to apply the mechanism for creating Structured Activity elements, which reduces the number of steps to work through. See the Structured Activity topic. If converting an existing Activity element, right-click on the element and select the Advanced | Make Composite context menu option.

Certain properties can be graphically depicted on an Activity. The Actions in an Activity can be further organized by Activity Partitions.

Toolbox Icon

See Also:

  • Activity Notation
  • Activity Parameter Nodes
  • Activity Partition

Learn More:

  • Action
  • Activity Diagram
  • Composite Element
  • Structured Activity

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 318) states:

An activity specifies the coordination of executions of subordinate behaviors, using a control and data flow model. The subordinate behaviors coordinated by these models may be initiated because other behaviors in the model finish executing, because objects and data become available, or because events occur external to the flow. The flow of execution is modeled as activity nodes connected by activity edges. A node can be the execution of a subordinate behavior, such as an arithmetic computation, a call to an operation, or manipulation of object contents. Activity nodes also include flow-of-control constructs, such as synchronization, decision, and concurrency control. Activities may form invocation hierarchies invoking other activities, ultimately resolving to individual actions. In an object-oriented model, activities are usually invoked indirectly as methods bound to operations that are directly invoked.

Activities may describe procedural computation. In this context, they are the methods corresponding to operations on classes. Activities may be applied to organizational modeling for business process engineering and workflow. In this context, events often originate from inside the system, such as the finishing of a task, but also from outside the system, such as a customer call. Activities can also be used for information system modeling to specify system level processes. Activities may contain actions of various kinds:

  • Occurrences of primitive functions, such as arithmetic functions.
  • Invocations of behavior, such as activities.
  • Communication actions, such as sending of signals.
  • Manipulations of objects, such as reading or writing attributes or associations.

Actions have no further decomposition in the activity containing them. However, the execution of a single action may induce the execution of many other actions. For example, a call action invokes an operation that is implemented by an activity containing actions that execute before the call action completes.


Activity Notation [Enterprise Architect User Guide]

Activity Notation

Certain properties can be graphically depicted on an Activity element, as shown below.

Activities - ActivityNotation2

To define these properties, right-click on the Activity and select the Properties context menu option, then select the Advanced page of the Properties dialog.

See Also:

  • Activity


Activity Parameter Nodes [Enterprise Architect User Guide]

Activity Parameter Nodes

Description:

An Activity Parameter Node accepts input to an Activity or provides output from an Activity.

The following example depicts two entry parameters and one output parameter defined for the Activity.

Simple Activity Diagram

How to:

To define an Activity Parameter Node for an Activity, follow the steps below:

Step

Action

1

Right-click on the element and select the Embedded Elements | Add Activity Parameter context menu option

2

The Properties dialog displays, which prompts for the Name and other properties of the embedded element

3

To further define the new Activity Parameter, select the Advanced page of the Properties dialog

Similar to characterizing Action Pins, Activity Parameter Nodes also have the isException and isStream options:

  • IsException indicates that a parameter can emit a value at the exclusion of other outputs, usually because of some error
  • IsStream indicates whether or not a parameter can accept or post values during the execution of the Activity

Activity Parameter Node

Learn More:

  • Activity Element
  • Action Pin

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 338) states:

An activity parameter node is an object node for inputs and outputs to activities.

... Activity parameter nodes are object nodes at the beginning and end of flows that provide a means to accept inputs to an activity and provide outputs from the activity, through the activity parameters.

Activity parameters inherit support for streaming and exceptions from Parameter.


Activity Partition [Enterprise Architect User Guide]

Activity Partition

Description

Enterprise Architect supports two types of Activity Partition:

  • The Activity Partition feature, described in this topic, which is used to logically organize an Activity element
  • The Activity Partition element, which is used to logically organize an Activity diagram

In effect, these are the same. They partition the Actions of the Activity without affecting the token flow, helping to structure the view or parts of the Activity.

An example of a feature-partitioned Activity is shown below:

ActivityDiagram - ActivityPartition

How to:

To define Partitions using the feature, follow the steps below:

Step | Action
1 | Right-click on the Activity element The context menu displays
2 | Select the Advanced | Partition Activity menu option The Activity Partitions dialog displays
3 | In the Name field, type the name of a partition Click on the Save button
4 | Repeat step 3 for each partition to be created

Learn More:

  • Activity Diagram
  • Activity Element
  • Activity Partition Element

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 341) states:

Partitions divide the nodes and edges to constrain and show a view of the contained nodes. Partitions can share contents. They often correspond to organizational units in a business model. They may be used to allocate characteristics or resources among the nodes of an activity.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 341) also states:

An activity partition is a kind of activity group for identifying actions that have some characteristic in common.


Actor [Enterprise Architect User Guide]

Actor

Description

An Actor is a user of the system; user can mean a human user, a machine, or even another system or subsystem in the model. Anything that interacts with the system from the outside or system boundary is termed an Actor. Actors are typically associated with Use Cases.

Actors can use the system through a graphical user interface, through a batch interface or through some other media. An Actor's interaction with a Use Case is documented in a Use Case scenario, which details the functions a system must provide to satisfy the user requirements.

Actors also represent the role of a user in Sequence Diagrams, where you can display them using rectangle notation. Enterprise Architect supports a stereotyped Actor element for business modeling. The business modeling elements also represent Actors as stereotyped Objects.

Toolbox Icon

Learn More:

  • Sequence Diagrams
  • Business Modeling
  • Use Case

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 584) states:

An actor models a type of role played by an entity that interacts with the subject (e.g. by exchanging signals and data), but which is external to the subject. ... Actors may represent roles played by human users, external hardware, or other subjects. Note that an actor does not necessarily represent a specific physical entity but merely a particular facet (i.e., "role") of some entity that is relevant to the specification of its associated Use Cases. Thus, a single physical instance may play the role of several different actors and, conversely, a given actor may be played by multiple different instances.


Central Buffer Node [Enterprise Architect User Guide]

Central Buffer Node

Description

A Central Buffer Node is an object node for managing flows from multiple sources and destinations, represented in an Activity diagram. It acts as a buffer for multiple in-flows and out-flows from other object nodes, but does not connect directly to Actions.

Toolbox Icon

Learn More:

  • Activity Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 352) states:

A central buffer node is an object node for managing flows from multiple sources and destinations. ... A central buffer node accepts tokens from upstream object nodes and passes them along to downstream object nodes.


Choice [Enterprise Architect User Guide]

Choice

Description

The Choice pseudo-state is used to compose complex transitional paths in, for example, a State Machine diagram, where the outgoing transition path is decided by dynamic, run-time conditions. The run-time conditions are determined by the actions performed by the State Machine on the path leading to the choice.

The following example depicts the Choice element. Upon reaching the Filter pseudo-state, a transition fires to the appropriate state based on the run-time value passed to the Filter. Very similar in form to a Junction pseudo-state, the Choice pseudo-state's distinction is in deciding transition paths at run-time.

state -- choice

Toolbox Icon

Learn More:

  • State Machine Diagram
  • State Machine
  • Pseudo-states
  • Junction

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 538) states:

...choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It enables splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-to-completion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined "else" guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points.


Combined Fragment [Enterprise Architect User Guide]

Combined Fragment

Description

A Combined Fragment reflects a piece or pieces of interaction (called interaction operands) controlled by an interaction operator, whose corresponding boolean conditions are known as interaction constraints. It displays as a transparent window, divided by horizontal dashed lines for each operand.

The following diagram illustrates the use of Combined Fragments, with a Sequence diagram modeling a simplified purchasing process. A loop fragment is created to iterate through an unknown number of items for purchase, after which the cashier requests payment. At this point, two payment options are considered and an alternative fragment is created, divided to show the two operands: cash and credit card. After the fragment completes its trace, the cashier gives a receipt to the customer, under the fulfilled condition that payment requirements were met.

The order of interaction fragment conditions can be changed directly on the diagram. Select an interaction fragment with more than one condition defined. Up and down arrows appear on the right hand side of the each condition. Just click on the arrow to change the order.

Notes:

  • In order to select an interaction fragment, you must click near the inside edge or drag a selection rectangle around the fragment; this prevents accidental selection when moving connectors inside the interaction fragment
  • Press and hold ( Alt ) to move a combined fragment independently of its contents

Toolbox Icon:

Learn More:

  • Sequence Diagram
  • Create a Combined Fragment
  • Interaction Operator

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 467) states:

A combined fragment defines an expression of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of CombinedFragments the user will be able to describe a number of traces in a compact and concise manner.


Create a Combined Fragment [Enterprise Architect User Guide]

Create a Combined Fragment

How to:

To create a Combined Fragment in Enterprise Architect, follow the steps below:

Step | Action | See Also
1 | Drag the Fragment element from the Interaction Elements page of the Toolbox | Combined Fragment
2 | In the Type field, click on the drop-down arrow and select one of the various types of interaction operator | Interaction Operators
3 | In the Condition field, specify a condition or interaction constraint for each operand |
4 | A rectangular frame displays, partitioned by dashed lines into segments for each operand |
5 | Adjust the frame to encompass the required event occurrences for each operand |


Interaction Operators [Enterprise Architect User Guide]

Interaction Operators

When creating Combined Fragments, you must apply an appropriate interaction operator to characterize the fragment. The following table provides guidance on the various operators, and their corresponding descriptions.

Interaction Operator | Action
alt | Divide up interaction fragments based on Boolean conditions.
opt | Enclose an optional fragment of interaction.
par | Indicate that operands operate in parallel.
loop | Indicate that the operand repeats a number of times, as specified by interaction constraints.
critical | Indicate a sequence that cannot be interrupted by other processing.
neg | Assert that a fragment is invalid, and implies that all other interaction is valid.
assert | Specify the only valid fragment to occur. Often enclosed within a consider or ignore operand.
strict | Indicate that the behaviors of the operands must be processed in strict sequence.
seq | Indicate that the Combined Fragment is weakly sequenced. This means that the ordering within operands is maintained, but the ordering between operands is undefined, so long as an event occurrence of the first operand precedes that of the second operand, if the event occurrences are on the same lifeline.
ignore | Indicate which messages should be ignored during execution, or can appear anywhere in the execution trace.
consider | Specify which messages should be considered in the trace. This is often used to specify the resulting event occurrences with the use of an assert operator.
ref | Provide a reference to another diagram. The ref fragment is not created using the method described in the Create a Combined Fragment topic. To create a ref fragment, simply drag an existing diagram from the Project Browser onto the current diagram.

See Also

  • Combined Fragments
  • Create a Combined Fragment

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 468-471) states:

The semantics of a CombinedFragment is dependent upon the interactionOperator as explained below.

Alternatives

The interactionOperator alt designates that the CombinedFragment represents a choice of behavior. At most one of the operands will be chosen. The chosen operand must have an explicit or implicit guard expression that evaluates to true at this point in the interaction. An implicit true guard is implied if the operand has no guard.

The set of traces that defines a choice is the union of the (guarded) traces of the operands.

An operand guarded by else designates a guard that is the negation of the disjunction of all other guards in the enclosing CombinedFragment.

If none of the operands has a guard that evaluates to true, none of the operands are executed and the remainder of the enclosing InteractionFragment is executed.

Option

The interactionOperator opt designates that the CombinedFragment represents a choice of behavior where either the (sole) operand happens or nothing happens. An option is semantically equivalent to an alternative CombinedFragment where there is one operand with non-empty content and the second operand is empty.

Break

The interactionOperator break designates that the CombinedFragment represents a breaking scenario in the sense that the operand is a scenario that is performed instead of the remainder of the enclosing InteractionFragment. A break operator with a guard is chosen when the guard is true and the rest of the enclosing Interaction Fragment is ignored. When the guard of the break operand is false, the break operand is ignored and the rest of the enclosing InteractionFragment is chosen. The choice between a break operand without a guard and the rest of the enclosing InteractionFragment is done non-deterministically.

A CombinedFragment with interactionOperator break should cover all Lifelines of the enclosing InteractionFragment.

Parallel

The interactionOperator par designates that the CombinedFragment represents a parallel merge between the behaviors of the operands. The OccurrenceSpecifications of the different operands can be interleaved in any way as long as the ordering imposed by each operand as such is preserved.

A parallel merge defines a set of traces that describes all the ways that OccurrenceSpecifications of the operands may be interleaved without obstructing the order of the OccurrenceSpecifications within the operand.

Weak Sequencing

The interactionOperator seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands.

Weak sequencing is defined by the set of traces with these properties:

  1. The ordering of OccurrenceSpecifications within each of the operands is maintained in the result.
  2. OccurrenceSpecifications on different lifelines from different operands may come in any order.
  3. OccurrenceSpecifications on the same lifeline from different operands are ordered such that an OccurrenceSpecification of the first operand comes before that of the second operand.

Thus weak sequencing reduces to a parallel merge when the operands are on disjunct sets of participants. Weak sequencing reduces to strict sequencing when the operands work on only one participant.

Strict Sequencing

The interactionOperator strict designates that the CombinedFragment represents a strict sequencing between the behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the CombinedIFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing CombinedFragment.

Negative

The interactionOperator neg designates that the CombinedFragment represents traces that are defined to be invalid.

The set of traces that defined a CombinedFragment with interactionOperator negative is equal to the set of traces given by its (sole) operand, only that this set is a set of invalid rather than valid traces. All InteractionFragments that are different from Negative are considered positive meaning that they describe traces that are valid and should be possible.

Critical Region

The interactionOperator critical designates that the CombinedFragment represents a critical region. A critical region means that the traces of the region cannot be interleaved by other OccurrenceSpecifications (on those Lifelines covered by the region). This means that the region is treated atomically by the enclosing fragment when determining the set of valid traces. Even though enclosing CombinedFragments may imply that some OccurrenceSpecifications may interleave into the region, such as with par-operator, this is prevented by defining a region.

Thus the set of traces of enclosing constructs are restricted by critical regions.

Ignore / Consider

(p. 473) The interactionOperator ignore designates that there are some message types that are not shown within this combined fragment. These message types can be considered insignificant and are implicitly ignored if they appear in a corresponding execution. Alternatively one can understand ignore to mean that the messages that are ignored can appear anywhere in the traces.

Conversely the interactionOperator consider designates which messages should be considered within this CombinedFragment. This is equivalent to defining every other message to be ignored.

Assertion

The interactionOperator assert designates that the CombinedFragment represents an assertion. The sequences of the operand of the assertion are the only valid continuations. All other continuations result in an invalid trace. Assertions are often combined with Ignore or Consider.

Loop

The interactionOperator loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times.

The Guard may include a lower and an upper number of iterations of the loop as well as a Boolean expression. The semantics is such that a loop will iterate minimum the 'minint' number of times (given by the iteration expression in the guard) and at most the 'maxint' number of times. After the minimum number of iterations have executed, and the boolean expression is false the loop will terminate. The loop construct represent a recursive application of the seq operator where the loop operand is sequenced after the result of earlier iterations.

The Semantics of Gates

The gates of a CombinedFragment represent the syntactic interface between the CombinedFragment and its surroundings, which means the interface towards other InteractionFragments.

The only purpose of gates is to define the source and the target of messages.


Datastore [Enterprise Architect User Guide]

Datastore

Description

A Datastore is an element used to define permanently stored data. A token of data that enters into a Datastore is stored permanently, updating tokens for data that already exists. A token of data that comes out of a Datastore is a copy of the original data.

Use Object Flow connectors to connect elements (such as Activities) to Datastores, as values and information are being passed between nodes. Selection and transformation behavior, together composing a sort of query, can be specified as to the nature of data access. For instance, selection behavior determines which objects are affected by the connection to the Datastore. Transformation behavior might then further specify the value of an attribute pertaining to a selected object.

To define the behavior of access to a Datastore, attach a note to the Object Flow connector. To do this, right-click on the Object Flow and select the Attach Note or Constraint context menu option. A dialog indicates other flows in the Activity diagram, to which you can attach the note (if the behavior applies to multiple flows). To comply with UML 2, preface behavior with the notation «selection» or «transformation».

Toolbox Icon

Learn More:

  • Activity Diagram
  • Activity
  • Object Flow

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 360) states:

A data store node is a central buffer node for non-transient information... A data store keeps all tokens that enter it, copying them when they are chosen to move downstream. Incoming tokens containing a particular object replace any tokens in the object node containing that object.


Decision [Enterprise Architect User Guide]

Decision

Description

A Decision is an element of an Activity diagram or Interaction Overview diagram that indicates a point of conditional progression: if a condition is true, then processing continues one way; if not, then another.

This can also be used as a Merge node in that multiple alternative flows can be merged (but not synchronized) to form one flow. The following examples show both of these modes of using the decision element.

Used as a decision:

Activity - Decision

See UML Superstructure Specification, v2.1.1, figure 12.77, p. 363.

Used as a merge:

Activity - Merge

See UML Superstructure Specification, v2.1.1, figure 12.106, p. 388.

Notes:

  • Moving a diagram generally does not affect the location of elements in packages. If you move a diagram out of one package into another, all the elements in the diagram remain in the original package. However, Decision elements are used only within one diagram, have no meaning outside that diagram, and are never re-used in any other diagram. Therefore, if you move a diagram containing these elements, they are moved to the new parent package with the diagram.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Interaction Overview Diagram
  • Merge Node

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 361 (Decision symbol)) states:

A decision node is a control node that chooses between outgoing flows. A decision node has one incoming edge and multiple outgoing activity edges.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 387 (Merge symbol)) also states:

A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows... A merge node has multiple incoming edges and a single outgoing edge.


Diagram Frame [Enterprise Architect User Guide]

Diagram Frame

Description

A Diagram Frame element is a rendition of a diagram dropped from the Project Browser into another diagram. It is a type of Combined Fragment with the Interaction Operator ref. However, it can be created on any type of diagram, and is not created in the same way as other Combined Fragments.

When you drop the diagram from the Project Browser onto the open diagram, a dialog shows providing the following options:

  • Diagram Frame
  • Diagram Reference
  • Hyperlink

If you click on the Diagram Frame radio button, a Diagram Frame is inserted into the diagram, containing an image of the dropped diagram.

If you select the Diagram Reference option, an empty frame is inserted with the name of the dropped diagram in the frame label. If you select the Hyperlink radio button, a diagram icon is inserted with no frame, and with the parent package and diagram name next to it.

In all three cases, the object acts as a hyperlink to the real referenced diagram. You can also define properties for the objects, as for other elements, by right-clicking on the object and selecting the element Properties context menu option.

Notes:

  • You can change the size of all three objects, but you cannot reduce a Diagram Frame to less than the size of the enclosed diagram.
  • You cannot change the diagram within a Diagram Frame. To edit the diagram, double-click within the frame and edit the original diagram.
  • The Diagram Frame element looks identical to but is not the same as a diagram frame border, which you can set automatically on new images of diagrams using the Tools | Options | Diagram option, and selecting the appropriate checkboxes in the Diagram Frames panel. These options set frames on print-outs of diagrams, images of diagrams copied to file, and images of diagrams copied to the clipboard. If you paste the image from the clipboard into another diagram, the image initially looks the same as the Diagram Frame element but it is actually a discreet unit that you manipulate using the Image Manager.

Learn More:

  • Combined Fragment
  • Interaction Operator: ref


Diagram Gate [Enterprise Architect User Guide]

Diagram Gate

Description

A Diagram Gate is a simple graphical way to indicate the point at which messages can be transmitted into and out of interaction fragments. A fragment might be required to receive or deliver a message; internally, an ordered message reflects this requirement, with a gate indicated on the boundary of the fragment's frame. Any external messages 'synching' with this internal message must correspond appropriately. Gates can appear on Interaction diagrams (Sequence, Timing, Communication or Interaction Overview), interaction occurrences and combined fragments (to specify the expression).

Sequence -- DiagramGate

Toolbox Icon

Learn More:

  • Sequence Diagram
  • Timing Diagram
  • Communication Diagram
  • Interaction Overview Diagram
  • Interaction Occurrence
  • Combined Fragment

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 480) states:

A Gate is a connection point for relating a Message outside an InteractionFragment with a Message inside the InteractionFragment ... Gates are connected through Messages. A Gate is actually a representative of an OccurrenceSpecification that is not in the same scope as the Gate. Gates play different roles: we have formal gates on Interactions, actual gates on InteractionUses, expression gates on CombinedFragments.


Endpoint [Enterprise Architect User Guide]

Endpoint

Description

An Endpoint is used in Interaction diagrams (Sequence, Timing, Communication or Interaction Overview) to reflect a lost or found message in sequence. To model this, drag an Endpoint element onto the workspace.

With Sequence diagrams, drag a message from the appropriate lifeline to the Endpoint. With Timing diagrams, the message connecting the lifeline to the Endpoint requires some timing specifications to draw the connection.

The following example depicts a lost message in a Sequence diagram.

Sequence -- Endpoint

Toolbox Icon

Learn More:

  • Sequence Diagram
  • Timing Diagram
  • Communication Diagram
  • Interaction Overview Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 492) states:

A lost message is a message where the sending event occurrence is known, but there is no receiving event occurrence. We interpret this to be because the message never reached its destination.

A found message is a message where the receiving event occurrence is known, but there is no (known) sending event occurrence. We interpret this to be because the origin of the message is outside the scope of the description. This may, for example, be noise or other activity that we do not want to describe in detail.


Entry Point [Enterprise Architect User Guide]

Entry Point

Description

Entry Point pseudo-states are used to define the beginning of a State Machine. An Entry Point exists for each region, directing the initial concurrent state configuration.

Toolbox Icon

Learn More:

  • State Machine Diagram
  • Pseudo-states

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 471) states:

An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region.


Exception [Enterprise Architect User Guide]

Exception

Description

The Exception Handler element defines the group of operations to carry out when an exception occurs. In an Activity diagram, the protected element can contain a set of operations and is connected to the exception handler via an Interrupt Flow connector. Any defined error contained within an element's parts can trigger the flow to move to an exception.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Interrupt Flow

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 364) states:

An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node.


Expansion Region [Enterprise Architect User Guide]

Expansion Region

Description

You create an Expansion Region as one variant of a Region (the other is an Interruptible Activity Region).

On an Activity diagram, an Expansion Region surrounds a process to be imposed multiple times on the incoming data, once for every element in the input collection. If there are multiple inputs, the collection sizes must match, and the elements within each collection must be of the same type. Similarly, any outputs must be in the form of a collection matching the size of the inputs.

The concurrency of the Expansion Region's multiple executions can be specified as type parallel, iterative, or stream. Parallel reflects that the elements in the incoming collections can be processed at the same time or overlapping, whereas an iterative concurrency type specifies that execution must occur sequentially. A stream-type Expansion Region indicates that the input and output come in and exit as streams, and that the Expansion Region's process must have some method to support streams.

To modify the mode of an Expansion Region, right-click on it and select the Properties context menu option, then select the Advanced page.

Activity - ExpansionRegion

See UML Superstructure Specification, v2.1.1, figure 12.87, p. 372.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Region
  • Interruptible Activity Region

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 367) states:

An expansion region is a structured activity region that executes multiple times corresponding to elements of an input collection.


Exit Point [Enterprise Architect User Guide]

Exit Point

Description

Exit Points are used in Submachine states and State Machines to denote the point where the machine is exited and the transition sourcing this exit point, for Submachines, is triggered. Exit points are a type of pseudo-state used in the State Machine diagram.

Toolbox Icon

Learn More:

  • State Machine Diagram
  • State Element
  • Submachine State
  • Pseudo-state

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1 p. 538) states:

An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state.


Final [Enterprise Architect User Guide]

Final

Description

There are two nodes used to define a Final state in an Activity, both defined in UML 2.3 as of type Final Node. The Activity Final element, shown above, indicates the completion of an Activity; upon reaching the Final, all execution in the Activity diagram is aborted. The other type of final node, Flow Final, depicts an exit from the system that has no effect on other executing flows in the Activity.

The following example illustrates the development of an application. The process comes to a Flow Final node when there are no more components to be built; note that the Fork element indicates a concurrent process with the building of new components and installation of completed components. The Flow Final terminates only the sub-process building components. Similarly, only those tokens entering the decision branch for the installation of further components terminate with the connecting Flow Final (that is, stop installing this component, but keep on installing other components). It is only after the Deliver Application activity is completed, after the control flow reaches the Final node, that all flows stop.

The node that initiates a flow is the Initial node.

Activity - final Node

See UML Superstructure Specification, v2.1.1, figure 12.91, p. 374.

Notes:

  • Moving a diagram generally does not affect the location of elements in packages; if you move a diagram out of one package into another, all the elements in the diagram remain in the original package

    However, Final elements are used only within one diagram, have no meaning outside that diagram, and are never re-used in any other diagram; therefore, if you move a diagram containing these elements, they are moved to the new parent package with the diagram

Toolbox Icon

Learn More:

  • Activity Diagram
  • Activity
  • Flow Final
  • Fork
  • Initial

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 332) states:

An activity may have more than one activity final node. The first one reached stops all flows in the activity.


Flow Final [Enterprise Architect User Guide]

Flow Final

Description

There are two nodes used to define a final state in an Activity, both defined in UML 2.3 as of type Final Node. The Flow Final element depicts an exit from the system, as opposed to the Activity Final, which represents the completion of the Activity. Only the flow entering the Flow Final node exits the Activity; other flows continue undisturbed.

The following example Activity Diagram illustrates the development of an application. The process comes to a Flow Final node when there are no more components to be built; note that the Fork element indicates a concurrent process with the building of new components and installation of completed components. The Flow Final terminates only the sub-process building components. Similarly, only those tokens entering the decision branch for the installation of further components terminate with the connecting Flow Final (that is, stop installing this component, but keep on installing other components). It is only after the Deliver Application activity is completed, after the control flow reaches the Final node, that all flows stop.

Activity - final Node

See UML Superstructure Specification, v2.1.1, figure 12.91, p. 374.

Notes:

  • Moving a diagram generally does not affect the location of elements in packages: if you move a diagram out of one package into another, all the elements in the diagram remain in the original package

    However, Flow Final elements are used only within one diagram, have no meaning outside that diagram, and are never re-used in any other diagram; therefore, if you move a diagram containing these elements, they are moved to the new parent package with the diagram

Toolbox Icon

Learn More:

  • Activity Diagram
  • Activity Final
  • Fork

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 375) states:

A flow final destroys all tokens that arrive at it. It has no effect on other flows in the activity.


Fork/Join [Enterprise Architect User Guide]

Fork/Join

Description

The Fork/Join elements have different modes of use, as follows:

  • To fork or split the flow into a number of concurrent flows.
  • To join the flow of a number of concurrent flows.
  • To both join and fork a number of incoming flows to a number of outgoing flows.

These elements are used in both Activity and State Machine diagrams. With respect to State Machine diagrams, Forks and Joins are used as pseudo-states. Other pseudo-states include history states, entry points and exit points. Forks are used to split an incoming transition into concurrent multiple transitions leading to different target states. Joins are used to merge concurrent multiple transitions into a single transition leading to a single target. They are semantic inverses. To learn more about these individual elements see their specific topics.

Example Diagrams:

Description | Diagram
Fork or split the flow into a number of concurrent flows | Activity - ForkJoin2
Join the flow of a number of concurrent flows | Activity - ForkJoin1
Join and Fork a number of incoming flows to a number of outgoing flows | Activity - ForkJoin3

Toolbox Icon

See Also:

  • Fork
  • Join

Learn More:

  • Activity Diagram
  • State Machine Diagram
  • Pseudo-state

OMG UML Specification

Fork
The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 376) states:

A fork node is a control node that splits a flow into multiple concurrent flows... A fork node has one incoming edge and multiple outgoing edges.

Join
The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 381-382) states:

A join node is a control node that synchronizes multiple flows... A join node has multiple incoming edges and one outgoing edge.


Fork [Enterprise Architect User Guide]

Fork

Description:

The Fork element is used in both Activity and State Machine diagrams. With respect to State Machine diagrams, a Fork pseudo-state signifies that its incoming transition comes from a single state, and it has multiple outgoing transitions. These transitions must occur concurrently, requiring the use of concurrent regions, as depicted below in the Composite State. Unlike Choice or Junction pseudo-states, Forks must not have triggers or guards. The following diagram demonstrates a Fork pseudo-state dividing into two concurrent regions, which then return to the End State via the Join pseudo-state.

State -- Join

Learn More:

  • Activity Diagram
  • State Machine Diagram
  • Pseudo-state
  • States
  • Choice
  • Junction
  • Join
  • Region

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 538) states:

Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.


Join [Enterprise Architect User Guide]

Join

Description

The Join element is used by Activity and State Machine diagrams. The above example illustrates a Join transition between Activities. With respect to State Machine diagrams, a Join pseudo-state indicates multiple States concurrently transitioning into the Join and onto a single State. Unlike Choice or Junction pseudo-states, Joins must not have triggers or guards. The following diagram demonstrates a Fork pseudo-state dividing into two concurrent Regions, which then return to the End State via the Join.

State -- Join

Learn More:

  • Activity Diagram
  • State Machine Diagram
  • Pseudo-state
  • States
  • Choice
  • Junction
  • Fork
  • Region

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 538) states:

Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers.


History [Enterprise Architect User Guide]

History

Description

There are two types of History pseudo-state defined in UML: shallow and deep history. A shallow History sub-state is used to represent the most recently active sub-state of a Composite State; this pseudo-state does not recurse into this sub-state's active configuration, should one exist. A single connector can be used to depict the default shallow History state, in case the Composite State has never been entered.

A deep History sub-state, in contrast, reflects the most recent active configuration of the Composite State. This includes active sub-states of all regions, and recurses into those sub-states' active sub-states, should they exist. At most one deep history and one shallow history can dwell within a composite state. You can reassign a shallow History substate as a deep History substate using the Advanced element context menu.

State -- History

Toolbox Icon

Learn More:

  • Pseudo-state
  • Composite State

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 537) states:

... deepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate (e.g., the state configuration that was active when the composite state was last exited). A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed.

... shallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed.


Initial [Enterprise Architect User Guide]

Initial

Description

The Initial element is used by Activity and State Machine diagrams. In Activity diagrams, it defines the start of a flow when an Activity is invoked. With State Machines, the Initial element is a pseudo-state used to denote the default state of a Composite State; there can be one Initial vertex in each Region of the Composite State.

This simple example shows the start of a flow to receive an order.

Activity - Initial

See UML Superstructure Specification, v2.1.1, Figure 12.97, p. 378.

The activity flow is completed by a Final or Flow Final node.

Notes:

  • Moving a diagram generally does not affect the location of elements in packages; if you move a diagram out of one package into another, all the elements in the diagram remain in the original package

    However, Initial elements are used only within one diagram, have no meaning outside that diagram, and are never re-used in any other diagram; therefore, if you move a diagram containing these elements, they are moved to the new parent package with the diagram

Toolbox Icon

Learn More:

  • Activity Diagram
  • State Machine Diagram
  • Activity
  • Pseudo-state
  • Composite State
  • Region
  • Final
  • Flow Final

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 537) states:

An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 378) also states:

An initial node is a control node at which flow starts when the activity is invoked.


Interaction [Enterprise Architect User Guide]

Interaction

Description

An Interaction element is used to describe a system, representing its interactions at varying levels of detail, for review not only by design professionals but also by end users and stakeholders. An Interaction element can contain the following types of diagram:

  • Sequence
  • Interaction Overview
  • Communication
  • Timing.

An Interaction element in Enterprise Architect is treated as a behavior of the classifier it is encapsulated within. It can have parameters and return types, which are modeled using the Behavior tab of the Interaction element's Properties dialog. The element is interpreted as a method of the containing Class in the generated code (see the Generate Code From Behavioral Model topic).

An Interaction element can also be set as the classifier for an Interaction Occurrence in a Sequence diagram, or for a Call Behavior Action in an Activity diagram. Establishing such an association (between a behavior and a behavior call) facilitates adding arguments that can be individually mapped to the associated behavior's parameters.

Notes:

  • The behavioral code generation engine expects the Sequence diagram and all its associated messages and interaction fragments to be encapsulated within an Interaction element (such as setupUSB in the example below).

    (The IO Class shown above is available in the EAExample model, under Systems Engineering Model | Implementation Model | Software.)

Learn More:

  • Sequence Diagram
  • Interaction Overview Diagram
  • Communication Diagram
  • Timing Diagram
  • Generate Code From Behavioral Model
  • Interaction Occurrence
  • Call Behavior Action
  • Associate with Different Behavior
  • Arguments


Interaction Occurrence [Enterprise Architect User Guide]

Interaction Occurrence

Description

An Interaction Occurrence (or InteractionUse) is a reference to an existing Interaction (Sequence) diagram. Interaction Occurrences are visually represented by a frame, with ref in the frame's title space. The diagram name is indicated in the frame contents. To create an Interaction Occurrence, simply open a Sequence diagram (preferably contained within an Interaction element) and drag another Sequence diagram (also preferably contained within an Interaction element) into its workspace. A dialog displays, providing configuration options. The resulting Interaction Occurrence acts as an invocation of the original Interaction. You use the Call tab of the element Properties dialog to set up the actual arguments of the Interaction and also to change to a different associated Interaction element.

The following figure illustrates the use of an Interaction Occurrence in another Interaction (Sequence) diagram. You can display the sequence represented by the Interaction Occurrence by double-clicking on the element.

Notes:

  • The behavioral code generation engine expects the Sequence diagram and all its associated messages and interaction fragments to be encapsulated within an Interaction element (such as doReadUSB in the example below).

Learn More:

  • Sequence Diagram
  • Interaction element
  • Behavior Calls Invocations
  • Arguments

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 423) refers to an Interaction Occurrence as an InteractionUse, and states:

An InteractionUse refers to an Interaction. The InteractionUse is a shorthand for copying the contents of the referred Interaction where the InteractionUse is. To be accurate the copying must take into account substituting parameters with arguments and connect the formal gates with the actual ones.

It is common to want to share portions of an interaction between several other interactions. An InteractionUse allows multiple interactions to reference an interaction that represents a common portion of their specification.


Interruptible Activity Region [Enterprise Architect User Guide]

Interruptible Activity Region

Description

You create an Interruptible Activity Region as one variant of a Region (the other is an Expansion Region).

In an Activity diagram, an Interruptible Activity Region surrounds a group of Activity elements, all affected by certain interrupts in such a way that all tokens passing within the region are terminated should the interruption(s) be raised. Any processing occurring within the bounds of an Interruptible Activity Region is terminated when a flow is instigated across an interrupt flow to an external element.

The example below illustrates that an order cancellation kills any processing of the order at the receipt, filling or shipping stage.

Activity - InterruptableException

See UML Superstructure Specification, v2.1.1, figure 12.100, p. 381.

Toolbox Icon

Learn More:

  • Activity diagram
  • Activity
  • Region
  • Expansion Region

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 380) states:

An interruptible region contains activity nodes. When a token leaves an interruptible region via edges designated by the region as interrupting edges, all tokens and behaviors in the region are terminated.


Junction [Enterprise Architect User Guide]

Junction

Description

Junction pseudo-states are used to design complex transitional paths in State Machine diagrams. A Junction can be used to combine or merge multiple paths into a shared transition path. Alternatively, a Junction can split an incoming path into multiple paths, similar to a Fork pseudostate. Unlike Forks or Joins, Junctions can apply guards to each incoming or outgoing transition, such that if the guard expression is false, the transition is disabled.

The following example illustrates how guards can be applied to transitions coming into or out of a Junction pseudo-state.

State -- Junction

Toolbox Icon

Learn More:

  • State Machine Diagram
  • Pseudo-states
  • Fork
  • Join

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 538) states:

... junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as a merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted "else" may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices.


Lifeline [Enterprise Architect User Guide]

Lifeline

Description

A Lifeline is an individual participant in an interaction (that is, Lifelines cannot have multiplicity). A Lifeline represents a distinct connectable element. To specify that representation within Enterprise Architect, right-click on the Lifeline and select the Advanced | Instance Classifier context menu option. The Select <Item> dialog displays which you use to locate the required project classifiers.

Lifelines are available in Sequence diagrams. There are different Lifeline elements for Timing diagrams (State Lifeline and Value Lifeline); however, although the representation differs between the two diagram types, the meaning of the Lifeline is the same.

Toolbox Icon

Learn More:

  • Instance Classifier
  • Sequence Diagram
  • Timing diagram
  • State Lifeline
  • Value Lifeline

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p.489) states:

A lifeline represents an individual participant in the Interaction. While Parts and StructuralFeatures may have multiplicity greater than 1, Lifelines represent only one interacting entity.

Lifeline is a specialization of NamedElement.

If the referenced ConnectableElement is multivalued (i.e. has a multiplicity > 1), then the Lifeline may have an expression (the 'selector') that specifies which particular part is represented by this Lifeline. If the selector is omitted this means that an arbitrary representative of the multivalued ConnectableElement is chosen.


Merge [Enterprise Architect User Guide]

Merge

Description

A Merge Node brings together a number of alternative flow paths in Activity, Analysis and Interaction Overview diagrams. For example, if a Decision is used after a Fork, the two flows coming out of the Decision must be merged into one before going to a Join; otherwise, the Join waits for both flows, only one of which arrives.

A Merge Node has multiple incoming edges and a single outgoing edge. The edges coming into and out of a Merge Node must be either all object flows or all control flows.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Analysis Diagram
  • Interaction Overview Diagram
  • Decision
  • Fork
  • Join
  • Object flow
  • Control flow

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 387) states:

A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.


Message Endpoint [Enterprise Architect User Guide]

Message Endpoint

Description

A Message Endpoint element defines the termination of a State or Value Lifeline in a Timing diagram.

Toolbox Icon

Learn More:

  • Timing Diagram
  • State Lifeline
  • Value Lifeline


Message Label [Enterprise Architect User Guide]

Message Label

Description

A Message Label is an alternative way of denoting Messages between Lifelines, which is useful for 'uncluttering' Timing diagrams strewn with messages. To indicate a Message between Lifelines, draw a connector from the source Lifeline into a Message Label. Next, draw a connector from another Message Label to the target Lifeline. Note that the label names must match to reflect that the message occurs between the two Message Labels.

The following diagram illustrates how Message Labels are used to construct a message between Lifelines.

Timing - MessageLabel

Toolbox Icon

Learn More:

  • Timing diagram
  • Messages

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 518) states:

Labels are only notational shorthands used to prevent cluttering of the diagrams with a number of messages crisscrossing the diagram between Lifelines that are far apart. The labels denote that a Message may be disrupted by introducing labels with the same name.


Note [Enterprise Architect User Guide]

Note

Description

A Note element is a textual annotation that can be attached to a set of elements of any other type. The attachment is created separately, using a Notelink connector. Both Note and Notelink are available in any Enterprise Architect diagram, through the Common pages of the Toolbox.

A Note is also called a Comment.

A Constraint is a form of Note, identifying a constraint on other elements. As for a Note, you can connect the Constraint element to other elements using a Notelink connector. This element is just a means of documenting the fact that there are constraints; it has no impact on the other elements. You define the types of constraint in the project reference data, apply them to the element in the element Properties dialog, and manage them through the Scenarios & Requirements window.

Toolbox Icon

Learn More:

  • Notelink Connector
  • Constraint Types
  • Scenarios & Requirements Window

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 59) states:

A comment gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler.

A comment can be owned by any element.


Partition [Enterprise Architect User Guide]

Partition

Description

Enterprise Architect supports two types of Activity Partition:

  • The Activity Partition feature, which is used to logically organize an Activity element
  • The Activity Partition element, described in this topic, which is used to logically organize an Activity diagram.

In effect, these are the same. They partition the Actions of the Activity without affecting the token flow, helping to structure the view or parts of the Activity.

The following example depicts the partitioning between the Classes Process Payment and Order Processor.

Activity - Partitions

The Partition orientation defaults to horizontal. To turn it into a vertical Partition, right-click on it and select the Advanced | Vertical Partition context menu option.

You can neatly align and join the Activity Partitions on a diagram using the element context menu Dockable option. For Partitions, the option defaults to selected.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Activity Element
  • Activity Partition Feature

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 341) states:

Partitions divide the nodes and edges to constrain and show a view of the contained nodes. Partitions can share contents. They often correspond to organizational units in a business model. They may be used to allocate characteristics or resources among the nodes of an activity.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 341) also states:

An activity partition is a kind of activity group for identifying actions that have some characteristic in common.


Receive [Enterprise Architect User Guide]

Receive

Description

A Receive element is used to define the acceptance or receipt of a request, in an Activity diagram. Movement from a Receive element occurs only once receipt is fulfilled according to its specification. The Receive element comes in two forms:

  • Accept Event Action element (pennant shape)
  • Accept Time Event Action element (hourglass shape)

The following example reflects a payment process on an order. Upon receiving the payment (from Request Payments, a Send element), the payment is confirmed and the flow continues to ship the order.

Activity - Receive

See UML Superstructure Specification, v2.1.1, figure 12.26, p. 312.

To depict an Accept Time Event, use the standard Receive element from the Toolbox. Right-click on this element, and select the Advanced | Accept Time Event context menu option. The following example shows the hourglass-shaped Accept Time Event Action:

Activity - RequestAcceptTimeEvent

See UML Superstructure Specification, v2.1.1, figure 12.27, p. 312.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Send Element

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 239) states:

AcceptEventAction is an action that waits for the occurrence of an event meeting specified conditions.


Region [Enterprise Architect User Guide]

Region

Description

Enterprise Architect supports two types of Region element:

  • Expansion Region
  • Interruptible Activity Region

When you add a Region element to an Activity diagram, a dialog prompt appears. Use this to specify the Region type.

Toolbox Icon

Learn More:

  • Activity Diagram
  • Expansion Region
  • Interruptible Activity Region


Send [Enterprise Architect User Guide]

Send

Description:

The Send element is used to depict the action of sending a signal, in an Activity diagram. It is the opposite of a Receive element.

The following example shows an order being processed, where a signal is sent to fill the processed order and, upon creation of the resulting invoice, a notification is sent to the customer.

Activity - send

See UML Superstructure Specification, v2.1.1, figure 12.132, p. 408.

Toolbox Icon:

Learn More:

  • Activity Diagram
  • Receive

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 285) states:

SendObjectAction is an action that transmits an object to the target object, where it may invoke behavior such as the firing of state machine transitions or the execution of an activity. The value of the object is available to the execution of invoked behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor.


State [Enterprise Architect User Guide]

State

Description

A State represents a situation where some invariant condition holds; this condition can be static (waiting for an event) or dynamic (performing a set of activities). State modeling is usually related to Classes, and describes the enableable states a Class or element can be in and the transitions that enable the element to move there. There are two types of State: Simple States and Composite States, both created from the State element from the Toolbox.

Furthermore, there are pseudo-states, resembling some aspect of a State but with a pre-defined implication. Pseudo-states model complex transitional paths, and classify common State Machine behavior.

You can define entry, internal and exit actions for a State using operations.

If a State element has features such as attributes or operations, the depiction of the element in a diagram has a line under the element name. This line persists if the features are hidden. The line also displays if the Show State Compartment checkbox is selected on the Objects page of the Options dialog (Tools | Options | Objects).

Toolbox Icon

See Also:

  • Composite State

Learn More:

  • State Machine Diagram
  • Class
  • Pseudo-states
  • Operations

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 546) states:

A state models a situation during which some (usually implicit) invariant condition holds. The invariant may represent a static situation such as an object waiting for some external event to occur. However, it can also model dynamic conditions such as the process of performing some activity (i.e., the model element under consideration enters the state when the activity commences and leaves it as soon as the activity is completed).


Composite State [Enterprise Architect User Guide]

Composite State

Description

Composite States are composed within the State Machine diagram by expanding a State element, adding Regions if applicable, and dragging further State elements, related elements and connectors within its boundaries. The internal State elements are then referred to as Sub-states.

(You can also define a State element, as with many other types of element, as a composite element; this then has a hyperlink to a child diagram that can be another State Machine diagram or other type of diagram elsewhere in the model.)

Composite States can be orthogonal, if Regions are created. If a Composite State is orthogonal, its entry denotes that a single Sub-state is concurrently active in all Regions. The hierarchical nesting of Composite States, coupled with Region use, generates a situation of multiple States concurrently active; this situation is referred to as the active State configuration.

State -- History

Learn More:

  • State Machine Diagram
  • State Element
  • Regions
  • Composite Element

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 478) states:

A composite state either contains one region or is decomposed into two or more orthogonal regions. Each region has a set of mutually exclusive disjoint subvertices and a set of transitions. A given state may only be decomposed in one of these two ways.

Any state enclosed within a region of a composite state is called a substate of that composite state. It is called a direct substate when it is not contained by any other state; otherwise it is referred to as an indirect substate.

Each region of a composite state may have an initial pseudostate and a final state. A transition to the enclosing state represents a transition to the initial pseudostate in each region. A newly-created object takes its topmost default transitions, originating from the topmost initial pseudostates of each region.

A transition to a final state represents the completion of activity in the enclosing region. Completion of activity in all orthogonal regions represents completion of activity by the enclosing state and triggers a completion event on the enclosing state. Completion of the topmost regions of an object corresponds to its termination.


State/Continuation [Enterprise Architect User Guide]

State/Continuation

Description

The State/Continuation element serves two different purposes for Interaction (Sequence) diagrams, as State Invariants and Continuations. Enterprise Architect prompts you to identify the purpose when you create the element.

Toolbox Icon

See Also:

  • Continuation
  • State Invariant

Learn More:

  • Sequence Diagram


Continuation [Enterprise Architect User Guide]

Continuation

Description

A Continuation is used in seq and alt Combined Fragments, to indicate the branches of continuation an operand follows. To indicate a continuation, end an operand with a Continuation, and indicate the continuation branch with a matching Continuation (same name) preceding the Interaction Fragment.

You create a Continuation by dragging the State/Continuation element onto the diagram from the Interaction Elements page of the Toolbox.

For the following continuation example, an alt Combined Fragment has Continuations pathSucc and pathFail. These Continuations are located within the Interaction Occurrence ConnHandler, which has subsequent events based on the continuation.

The following diagram shows the interaction referenced by the Interaction Occurrence.

Learn More:

  • Combined Fragments
  • State/Continuation Element
  • Interaction Occurrence

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 474) states:

A Continuation is a syntactic way to define continuations of different branches of an Alternative CombinedFragment. Continuation is intuitively similar to labels representing intermediate points in a flow of control.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 474) also states:

Continuations have semantics only in connection with Alternative CombinedFragments and (weak) sequencing.

If an InteractionOperand of an Alternative CombinedFragment ends in a Continuation with name (say) X, only InteractionFragments starting with the Continuation X (or no continuation at all) can be appended.


State Invariant [Enterprise Architect User Guide]

State Invariant

Description

A State Invariant is a condition applied to a Lifeline, which must be fulfilled for the Lifeline to exist. You create a State Invariant by dragging the State/Continuation element onto the diagram from the Interaction Elements page of the Toolbox.

The following diagram illustrates a State Invariant.

When a State Invariant is moved near to a Lifeline, it snaps to the center. If the sequence object is dragged left or right, the State Invariant moves with it.

Learn More:

  • Lifeline
  • State/Continuation

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 502) states:

A StateInvariant is a runtime constraint on the participants of the interaction. It may be used to specify a variety of different kinds of constraints, such as values of attributes or variables, internal or external states, and so on.

A StateInvariant is an InteractionFragment and it is placed on a Lifeline.


State Lifeline [Enterprise Architect User Guide]

State Lifeline

Description

A Lifeline is the path an object takes across a measure of time, as indicated by the x-axis. There are two sorts: State Lifelines (defined here) and Value Lifelines, both used in Timing diagrams.

A State Lifeline follows discrete transitions between states, which are defined along the y-axis of the timeline. Any transition has optional attributes of timing constraints, duration constraints and observations. An example of a State Lifeline is shown below:

See UML Superstructure Specification, v2.1.1, figure 14.29, p. 519.

A State Lifeline consists of a set of transition points. Each transition point can be defined with the following properties:

Property | Description
At time | Specifies the starting time for a change of state.
Transition to | Indicates the state to which the lifeline changes.
Event | Describes the occurring event.
Timing constraints | Refers to the time taken for a state to change within a lifeline, or the time taken to transmit a message (e.g. t..t+3).
Timing observations | Provides information on the time of a state change or sent message.
Duration constraints | Pertains to a lifeline's period at a particular state. The constraint could be instigated by a change of state within a lifeline, or that lifeline's receipt of a message.
Duration observations | Indicates the interval of a lifeline at a particular state, begun from a change in state or message receipt.

In the example diagram above, the OK transition point has these properties:

Property | Value
At Time | 18 ms
Transition to | Idle
Event | OK
Timing constraints | t..t+3
Timing observations | –
Duration constraints | –
Duration observations | –

Toolbox Icon

Learn More:

  • Timing Diagram
  • Value Lifelines

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 518) states:

This is the state of the classifier or attribute, or some testable condition, such as an discrete enumerable value.

It is also permissible to let the state-dimension be continuous as well as discrete. This is illustrative for scenarios where certain entities undergo continuous state changes, such as temperature or density.


State Machine [Enterprise Architect User Guide]

State Machine

Description

A State Machine element is a container for groups of related State elements. You can create sections of a State Machine diagram, showing the organization of the inter-related State elements, and enclose each section in a State Machine element. You can also create Regions on a State Machine element.

Toolbox Icon

Learn More:

  • Regions


Structured Activity [Enterprise Architect User Guide]

Structured Activity

Description

Structured Activity elements are used in Activity diagrams. A Structured Activity is an activity node that can have subordinate nodes as an independent Activity Group. No other Activities or their side effects should interfere with this Activity's processing.

Enterprise Architect provides two forms of Structured Activity - basic and specialized. It also applies the mechanism for creating Structured Activities to creating composite Activity elements quickly and simply.

The two basic Structured Activities are:

  • Structured Activity Node - represents an ordered arrangement of executable Activity nodes (Actions, Decisions, Merges and so on) that can include branched and nested nodes; this is the base element from which the other types of Structured Activity are derived
  • Sequential Node - represents a sequential arrangement of executable Activity nodes.

The two specialized Structured Activities are used to effectively model discreet patterns within an activity graph, defined in Clauses or Partitions:

  • Conditional node - represents an arrangement of Actions and Activities where choice determines which Activities are performed
  • Loop node - represents a sequence of Actions and Activities that are - or can be - repeated on the same object.

All four kinds of Structured Activity node are created as composite elements. However, for the Loop Node and Conditional Node elements you must create the child element structure on the parent diagram within the node element itself, as for a Composite State. You cannot develop the partitioned structure of the nodes on a child diagram. For this reason, the Show Composite Diagram facility is not available for the Loop Node and Conditional Node. It is also not available on the Structured Activity Node, as this is the base element for the Loop and Conditional Nodes. You can, however, use the two basic nodes as composite elements, and display the child diagram structure on the parent Sequential node.

When you create a Structured Activity, by selecting the icon from the Activity page of the Toolbox, the following choices are offered in a context menu:

  • Loop Node
  • Conditional Node
  • Other

The first two options specifically create a Loop or Conditional Node. The Other option displays the New Structured Activity dialog, on which you can select to create any of the four nodes, or a simple Composite Activity element.

Toolbox Icon

See Also:

  • Structured Node
  • Sequential Node
  • Loop Node
  • Conditional Node

Learn More:

  • Activity Diagram
  • Activity
  • Composite Elements
  • Composite State


Structured Node [Enterprise Architect User Guide]

Structured Node

Description:

On a diagram, Structured Activity Nodes have broken borders and composite diagram icons, as shown below:

To display the Activity diagram represented by a Structured Activity Node element, double-click on the element.

Structured Activity Node elements can point to child diagrams that themselves contain or consist of Structured Activity elements; that is, the Structured Activity elements are nested, as shown in the section of Project Browser below.

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 409) states:

A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an ActivityGroup. The subordinate nodes must belong to only one structured activity node, although they may be nested.

A structured activity node represents a structured portion of the activity that is not shared with any other structured node, except for nesting.


Sequential Node [Enterprise Architect User Guide]

Sequential Node

Description:

On a diagram, Sequential Activity Nodes have broken borders and composite diagram icons, as shown below:

To display the Activity diagram represented by a Sequential Activity Node element, double-click on the element.

OMG UML Specification

Sequential Node

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 408) states:

A sequence node is a structured activity node that executes its actions in order.


Loop Node [Enterprise Architect User Guide]

Loop Node

Description:

A Loop Structured Activity Node by default has Setup, Test and Body partitions. The Setup partition is executed once on entry to the Loop, and the Test and Body partitions are executed repeatedly until the Test produces a false value. The results of the final execution of the Test or Body are available after execution of the Loop is complete.

They are depicted on an Activity diagram as shown below:

You define the Loop nodes by dragging other Activity diagram elements from the Toolbox page into the appropriate partition of the element, and linking and organizing the structure as required. The elements are aligned on the top left of the partition, so that resizing the node maintains the organization of the structure within and between the partitions. If you try to shrink the node below the structure size, the node automatically defaults to the 'best fit' size.

When you create a Loop Node, the element Properties dialog displays. Much of this you can complete as for any other element. However, for the Loop Node the dialog also has a Loop tab.

Add an Action Pin for each of the Decider, Loop Variable Input, Loop Variable, Body Output and Result fields for the node, in each case clicking on the Browse or Add button to display the Select Pins dialog (a version of the Select <Item> dialog). The Select ActionPin dialog reveals only Input pins (Loop Variable Input) or Output pins as appropriate to the context. If the required Action Pin does not already exist, you can click on the Add New button on the dialog to automatically create the Input pin or an Output pin under the appropriate parent node.

You can also check on the exact location of an existing Action Pin by right-clicking on the pin name and selecting the Find in Project Browser context menu option.

The Nodes panel, by default, lists the Actions and Activities contained in the Setup partition. Click on the Body or Test radio buttons to list the elements contained in the corresponding partitions. An element must be completely contained in a partition to be listed there - if it overlaps with the partition above in any way, it is treated as being part of that partition.

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, pp. 384-385) states:

A loop node is a structured activity node that represents a loop with setup, test, and body sections.

Each section is a well-nested subregion of the activity whose nodes follow any predecessors of the loop and precede any successors of the loop. The test section may precede or follow the body section. The setup section is executed once on entry to the loop, and the test and body sections are executed repeatedly until the test produces a false value. The results of the final execution of the test or body are available after completion of execution of the loop.


Conditional Node [Enterprise Architect User Guide]

Conditional Node

Description:

A Conditional Structured Activity Node has a default Clause containing Test and Body partitions. Further Clauses can be added if required.

They are depicted on an Activity diagram as shown below:

You define Conditional nodes by dragging other Activity diagram elements from the Toolbox page into the appropriate partition of the element, and linking and organizing the structure as required. The elements are aligned on the top left of the partition, so that resizing the node maintains the organization of the structure within and between the partitions. If you try to shrink the node below the structure size, the node automatically defaults to the 'best fit' size.

When you create a Conditional Node, the element Properties dialog displays. Much of this you can complete as for any other element. However, for the Conditional Node the dialog shows an additional page.

Add an Action Pin as the Result for the node, clicking on the Add button to display the Select Pins dialog (a version of the Select <Item> dialog).

On creation, the Conditional Node automatically has one Clause containing a Decider and Body Output, and a Test partition and a Body partition. You can add further Clauses as required. For each Clause you also add an Action Pin for the Decider and for the Body Output. Click on the Save button to save the Clause definition.

The Select Pin dialog reveals only Output pins as appropriate to the context. If the required Action Pin does not already exist, you can click on the Add New button on the dialog to automatically create an Output pin under the appropriate parent node.

For the Result and Body Output entries, you can check on the exact location of each Action Pin by right-clicking on the entry and selecting the Find in Project Browser context menu option.

The Nodes panel, by default, lists the Actions and Activities contained in the Test partition. Click on the Body radio button to list the elements contained in the Body partition. An element must be completely contained in the Body partition to be listed there - if it overlaps with the Test partition in any way, it is treated as being part of the Test partition.

Add or Remove Clauses

To add another Clause, click on the Add button underneath the Clause(s) list. This inserts a new Clause in the list, and identifies which is the preceding, or Predecessor, Clause and (if appropriate) which is the following, or Successor, Clause. The remaining fields in the Clause(s) panel are cleared to enable you to add Decider and Body Output Action Pins. New Test and Body partitions are immediately added to the element on the diagram, and you can populate these partitions with Activity elements, which are then identified in the Nodes panel.

To remove a Clause, highlight it in the list and click on the Delete button. This immediately removes the Clause's corresponding partitions from the diagram, along with all their contained Activity elements. Removing a Clause from between two other Clauses adjusts the numerical order; for example, if Clause 2 is removed from between Clause 1 and Clause 3, Clause 3 is renamed as Clause 2, and any further Clauses are also moved up one place.

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p.355) states:

A conditional node is a structured activity node that represents an exclusive choice among some number of alternatives.

A conditional node consists of one or more clauses. Each clause consists of a test section and a body section. When the conditional node begins execution, the test sections of the clauses are executed. If one or more test sections yield a true value, one of the corresponding body sections will be executed. If more than one test section yields a true value, only one body section will be executed. The choice is nondeterministic unless the test sequence of clauses is specified. If no test section yields a true value, then no body section is executed; this may be a semantic error if output values are expected from the conditional node.


Synch [Enterprise Architect User Guide]

Synch

Description

A Synch state is useful for indicating that concurrent paths of a State Machine are synchronized. After bringing the paths to a synch state, the emerging transition indicates unison.

Toolbox Icon

Learn More:

  • State Machine Diagram


System Boundary [Enterprise Architect User Guide]

System Boundary

Description

A System Boundary element is a non-UML element used to define conceptual boundaries. You can use System Boundaries to help group logically related elements (from a visual perspective, not as part of the UML model).

In the UML Superstructure Specification, v2.1.1, System Boundaries are described in the sections on Use Cases, because the System Boundary is often used to indicate the application of a Use Case to another entity. In this context, the System Boundary:

  • encloses the Use Case, and
  • is associated with a classifier such as a Class, Component or Sub-system (Actor) through the Select <Item> dialog.

By associating the System Boundary - and not the Use Case - with the classifier, the classifier is linked to the Use Case as a user, but not as an owner.

You can also define a Use Case as the classifier of a System Boundary element, to link the elements enclosed in the System Boundary (such as parts of an Activity diagram) to their representation in a logical Use Case. See http://www.sparxsystems.com.au/resources/map_uc.html.

The following properties of a System Boundary can be set: the name, the border style, and the number of horizontal or vertical swim lanes.

A System Boundary element can be marked as Selectable, using the element's context menu. When not selectable, you can click within the System Boundary space without activating or selecting the Boundary itself. This is useful when you have many elements within the Boundary and the Boundary makes their selection difficult.

Notes:

  • A System Boundary is the basis for the Image element, which enables you to add icons or backgrounds to a diagram, automatically displaying the Image Manager dialog from which to select the appropriate image.

Toolbox Icon

Learn More:

  • Use Cases
  • Instance Classifier
  • Boundary Element Settings

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 594) states:

If a subject (or system boundary) is displayed, the Use Case ellipse is visually located inside the system boundary rectangle. Note that this does not necessarily mean that the subject classifier owns the contained Use Cases, but merely that the Use Case applies to that classifier.


Boundary Element Settings [Enterprise Architect User Guide]

Boundary Element Settings

Configure Boundary Elements

Boundary elements can be configured to display in different ways. The main differences are:

  • Solid border
  • Dotted border
  • With horizontal or vertical 'swim lanes'; swim lanes are used to group elements in a vertical or horizontal context (for example, Client, Application and Database tiers could be represented in swim lanes).


Terminate [Enterprise Architect User Guide]

Terminate

Description

The Terminate pseudo-state indicates that upon entry of its pseudo-state, the State Machine's execution ends.

Toolbox Icon

Learn More:

  • State Machine Diagram
  • Pseudo-state


Trigger [Enterprise Architect User Guide]

Trigger

Description

A Trigger indicates an event that initiates an action (and might arise from completion of a previous action). You initially define a Trigger in one of four ways:

  • As a property of a Transition relationship
  • As a property of an Accept Event Action (on the Triggers tab of the element Properties dialog)
  • As an event in a State Machine Table
  • Directly, as a Trigger element, through the New Element dialog.

When you save the Trigger, it is added to the list of elements for the parent package in the Project Browser. You can then right-click on it and select the Properties context menu option to view and, if required, edit its properties as an element rather than as a property itself. Triggers created as events remain as Event elements, whilst Triggers created in other ways are Trigger elements, with a Trigger tab in the Properties dialog.

Field

Action

See also

Type

If necessary, edit the type of trigger:

  • Call - specifies that the event is a CallEvent, which sends a message to the associated object by invoking an operation.
  • Change - specifies that the event is a ChangeEvent, which indicates that the transition is the result of a change in value of an attribute.
  • Signal - specifies that the event is a SignalEvent, which corresponds to the receipt of an asynchronous signal instance.
  • Time - corresponds to a TimeEvent; which specifies a moment in time.

Specification

Either type in the event instigating the Trigger, or click on the ( ... ) button and select the event (depending on the Type value).

Ports

Click on the Add button and select the appropriate Port from the Select Port dialog.

Notes:

  • To create new Ports using the Select Port dialog, the Trigger should be created as a child of a Class or Component element.
  • To add several Ports at once, press ( Ctrl ) as you select each Port.
  • To check the exact location of a Port, right-click on the Port name and select the Find in Project Browser context menu option.

Select Port Dialog

You can also drag the Trigger element onto another diagram, although there are limited uses for the element in that context.

This element is not the same as a Trigger Operation, which is an operation automatically executed as a result of the modification of data in a database.

Learn More:

  • Action
  • Transition Relationship
  • Insert Trigger
  • Trigger Operation

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 456) states:

Events may cause execution of behavior (e.g., the execution of the effect activity of a transition in a state machine). A trigger specifies the event that may trigger a behavior execution as well as any constraints on the event to filter out events not of interest.


Use Case [Enterprise Architect User Guide]

Use Case

Description

A Use Case is a UML modeling element that describes how a user of the proposed system interacts with the system to perform a discrete unit of work. It describes and signifies a single interaction over time that has meaning for the end user (person, machine or other system), and is required to leave the system in a complete state: the interaction either completed or rolled back to the initial state. A Use Case:

  • Typically has requirements and constraints that describe the essential features and rules under which it operates
  • Can have an associated Sequence diagram illustrating behavior over time; who does what to whom, and when
  • Typically has scenarios associated with it that describe the work flow over time that produces the end result; alternative work flows (for example, to capture exceptions) are also enabled.

The following is an example Use Case model:

Example of a Use Case Diagram2

If extending a Use Case, you can specify the points of extension with Use Case Extension Points. To display the attributes, operations or constraints of a Use Case on a diagram, use Rectangle Notation.

Enterprise Architect also provides two stereotyped Use Cases - the Test Case and the Business Use Case.

Toolbox Icon

See Also:

  • Use Case Extension Points
  • Rectangle Notation

Learn More:

  • Sequence Diagram
  • Test Case
  • Business Use Case

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 592) states:

A UseCase is a kind of behaviored classifier that represents a declaration of an offered behavior. Each Use Case specifies some behavior, possibly including variants, that the subject can perform in collaboration with one or more actors.


Use Case Extension Points [Enterprise Architect User Guide]

Use Case Extension Points

Use extension points to specify the point of an extended Use Case where an extending Use Case's behavior should be inserted. The specification text can be informal or precise to define the location of the extension point.

How to:

To work with extension points, follow the steps below:

Step | Action
1 | Right-click on the Use Case element The context menu displays
2 | Select the Advanced | Edit Extension Points... menu option The Use Case Extension Points dialog displays, listing defined points for that Use Case
3 | Select an extension point in the list and click on the appropriate button to edit or remove the extension point, or to add a new one

Notes:

  • Conditions to apply the extending Use Case, and the extension point to use, should be attached as a note to the extend relationship

Learn More:

  • Use Case


Rectangle Notation [Enterprise Architect User Guide]

Rectangle Notation

You can display various shaped elements, such as an Interface, Use Case or Actor, using rectangle notation. This displays the element as a rectangle, with an icon of the 'normal' shape in the top right-hand corner. Any attributes, operations or constraints belonging to the element are shown, in the same style as a Class.

To show an element using rectangle notation, right-click on the element on the diagram and select the Advanced | Use Rectangle Notation context menu option. This setting only applies to the selected element, and can be toggled on and off either by deselecting the context menu option or by selecting the reciprocal option such as Use Circle Notation or Use Actor Notation.


Value Lifeline [Enterprise Architect User Guide]

Value Lifeline

Description

A Lifeline is the path an object takes across a measure of time, indicated by the x-axis. There are two sorts: Value Lifelines (defined here) and State Lifelines, both used in Timing diagrams.

A Value Lifeline shows the Lifeline's state across the diagram, with parallel lines indicating a steady state. A cross between the lines indicates a transition or change in state.

An example of a Value Lifeline is shown below:

See UML Superstructure Specification, v2.1.1, Figure 14.30, p. 520.

A Value Lifeline consists of a set of transition points. Each transition point can be defined with the following properties:

Property | Description
At time | Specifies the starting time for a change of state.
Transition to | Indicates the state to which the Lifeline is to change.
Event | Describes the occurring event.
Timing constraints | Refers to the time taken for a state to change within a Lifeline, or the time taken to transmit a message.
Timing observations | Provides information on the time of a state change or sent message.
Duration constraints | Pertains to a Lifeline's period at a particular state. The constraint could be instigated by a change of state within a Lifeline, or that Lifeline's receipt of a message.
Duration observations | Indicates the interval of a Lifeline at a particular state, begun from a change in state or message receipt.

In the example diagram above, the 10ms transition point has these properties:

Property | Text
At Time | 10ms
Transition to | Waitcard
Event | Switch
Timing constraints | –
Timing observations | –
Duration constraints | d..3*d
Duration observations | –

Toolbox Icon

Learn More:

  • Timing Diagrams
  • State Lifelines

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 518) states:

Shows the value of the connectable element as a function of time. Value is explicitly denoted as text. Crossing reflects the event where the value changed.


Structural Diagram Elements [Enterprise Architect User Guide]

Structural Diagram Elements

The following elements are used in UML Structural Diagrams. For more information on using each element, click on the element name in this list:

  • Actor, Artifact
  • Class, Collaboration, Collaboration Use, Component
  • Data Type, Deployment Specification, Document Artifact
  • Enumeration, Execution Environment, Expose Interface
  • Information Item , Interface
  • Node, Note
  • Object
  • Package, Part, Port, Primitive
  • Qualifiers
  • Signal

Learn More:

  • Structural Diagrams


Artifact [Enterprise Architect User Guide]

Artifact

Description

An Artifact is any physical piece of information used or produced by a system, represented in a Deployment Diagram.

Artifacts can have associated properties or operations, and can be instantiated or associated with other Artifacts. Examples of Artifacts include model files, source files, database tables, development deliverables or support documents. The files represented by the Artifact are listed on the Files tab of the element Properties dialog.

To open the files represented by the Artifact, click on the element on the diagram and press ( Ctrl+E ) . Each file is opened either on a separate tab in the Diagram View workspace (if the file can be opened within Enterprise Architect) or in the default Windows viewer/editor for the file type (if the file cannot be opened within Enterprise Architect).

Files can also be launched individually from the Files tab (opening in the Windows default editor), as for elements of any other type that have associated files.

Toolbox Icon

See Also:

  • Create Artifact For External File

Learn More:

  • Deployment Diagram
  • Associated Files

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 201) states:

An Artifact defined by the user represents a concrete element in the physical world. A particular instance (or 'copy') of an artifact is deployed to a node instance. Artifacts may have composition associations to other artifacts that are nested within it. For instance, a deployment descriptor artifact for a component may be contained within the artifact that implements that component. In that way, the component and its descriptor are deployed to a node instance as one artifact instance.


Create Artifact For External File [Enterprise Architect User Guide]

Create Artifact For External File

You can create an Artifact element on a diagram for an external file, by clicking on the file in a file list (such as Windows Explorer) or on your Desktop and dragging it onto the diagram. A short context menu displays with two options - Hyperlink and Artifact.

Click on the Artifact option to create the element on the diagram. The Properties dialog displays, and you can define the name or other properties as required. Click on the OK button, and then open the Properties dialog again and click on the Files tab. The file pathname is listed in the Files panel.


Class [Enterprise Architect User Guide]

Class

Description

A Class is a representation of objects that reflects their structure and behavior within the system. It is a template from which actual running instances are created, although a Class can be defined either to control its own execution or as a template or parameterized Class that specifies parameters that must be defined by any binding Class.

A Class can have attributes (data) and methods (operations or behavior). Classes can inherit characteristics from parent Classes and delegate behavior to other Classes. Class models usually describe the logical structure of the system and are the building blocks from which components are built.

The top section of a Class, as illustrated below, shows the attributes (or data elements) associated with the Class. These hold the 'state' of an object at run-time. If the information is saved to a data store and can be reloaded, it is termed 'persistent'. The lower section contains the Class operations (or methods at run-time). Operations describe the behavior a Class offers to other Classes, and the internal behavior it has (private methods).

Class elements are generally used in Class diagrams and Composite Structure diagrams.

Enterprise Architect also supports a number of stereotyped Class elements to represent various entities in web-page modeling. A Class can also be integrated with an Associate connector to form an Association Class, to allow the Associate connector to have operations and attributes that define certain types of UML relationship.

Toolbox Icon

See Also:

  • Active Classes
  • Parameterized Classes (Templates)

Learn More:

  • Class Diagrams
  • Composite Structure Diagram
  • Association Class
  • Association
  • Attributes
  • Operations
  • Web-page Modeling

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, pp. 52-53) states:

The purpose of a class is to specify a classification of objects and to specify the features that characterize the structure and behavior of those objects.

Objects of a class must contain values for each attribute that is a member of that class, in accordance with the characteristics of the attribute, for example its type and multiplicity.

When an object is instantiated in a class, for every attribute of the class that has a specified default, if an initial value of the attribute is not specified explicitly for the instantiation, then the default value specification is evaluated to set the initial value of the attribute for the object.

Operations of a class can be invoked on an object, given a particular set of substitutions for the parameters of the operation. An operation invocation may cause changes to the values of the attributes of that object. It may also return a value as a result, where a result type for the operation has been defined. Operation invocations may also cause changes in value to the attributes of other objects that can be navigated to, directly or indirectly, from the object on which the operation is invoked, to its output parameters, to objects navigable from its parameters, or to other objects in the scope of the operation's execution. Operation invocations may also cause the creation and deletion of objects.


Active Classes [Enterprise Architect User Guide]

Active Classes

Description:

An Active Class indicates that, when instantiated, the Class controls its own execution. Rather than being invoked or activated by other objects, it can operate standalone and define its own thread of behavior.

How to:

To define an Active Class in Enterprise Architect, follow the steps below:

Step | Action
1 | Highlight a Class, and display its Properties dialog
2 | Click on the Advanced button
3 | Select the Is Active checkbox
4 | Click on the OK button to save the details

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 438) states:

An active object is an object that, as a direct consequence of its creation, commences to execute its classifier behavior, and does not cease until either the complete behavior is executed or the object is terminated by some external object. (This is sometimes referred to as "the object having its own thread of control.") The points at which an active object responds to communications from other objects is determined solely by the behavior of the active object and not by the invoking object. If the classifier behavior of an active object completes, the object is terminated.


Parameterized Classes (Templates) [Enterprise Architect User Guide]

Parameterized Classes (Templates)

 Return to Introduction

Description:

Enterprise Architect supports template or parameterized Classes, which specify parameters that must be defined by any binding Class.

Parameterized Classes are commonly implemented in C++; Enterprise Architect imports and generates templated Classes for C++.

A template Class enables its functionality to be reused by any bound Class. If a default value is specified for a parameter, and a binding Class doesn't provide a value for that parameter, the default is used.

How to:

To create a parameterized Class, follow the steps below:

Step

Action

1

Display the Properties dialog for the required Class

2

Select the Templates page

3

In the Template Parameter(s) panel, click on the Add button

The Template Parameter dialog displays

4

Type in the name and type of the parameter and, if required, click on the ( ... ) buttons after the Constraints and Default fields to select the required constraining and default Classes from the Select <Item> dialog

The default Class can be either the constraining classifier or any Class that derives from the constraining classifier

Notation Example:

On a diagram, template Classes are shown with the parameters in a dashed outline box in the upper right corner of the Class.

Example of a parameterized class

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 622) states:

A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding.


Collaboration [Enterprise Architect User Guide]

Collaboration

Description:

A Collaboration defines a set of cooperating roles and their connectors. These are used to collectively illustrate a specific functionality, in a Composite Structure diagram. A Collaboration should specify only the roles and attributes required to accomplish a specific task or function. Although in practice a behavior and its roles could involve many tangential attributes and properties, isolating the primary roles and their requisites simplifies and clarifies the behavior, as well as providing for reuse. A Collaboration often implements a pattern to apply to various situations.

The following example illustrates an Install Collaboration, with three roles (Objects) connected as shown. The process for this Collaboration can be demonstrated by attaching an Interaction diagram (Sequence, Timing, Communication or Interaction Overview).

To understand referencing a Collaboration in a specific situation, see the Collaboration Use topic.

Enterprise Architect supports a stereotyped Collaboration to represent a Business Use Case Realization in business modeling.

Toolbox Icon:

Learn More:

  • Composite Structure Diagram
  • Sequence Diagram
  • Timing Diagram
  • Communication Diagram
  • Interaction Overview Diagram
  • Collaboration Use
  • Object Element
  • Business Use Case Realization

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 171) states:

A collaboration describes a structure of collaborating elements (roles), each performing a specialized function, which collectively accomplish some desired functionality. Its primary purpose is to explain how a system works and, therefore, it typically only incorporates those aspects of reality that are deemed relevant to the explanation.


Collaboration Use [Enterprise Architect User Guide]

Collaboration Use

Description:

Use a Collaboration Use to apply a pattern defined by a Collaboration to a specific situation, in a Composite Structure diagram.

The following example shows a Use, NWServer, of the Collaboration Install, to define the installation process of a network scanner. This process can be defined by an interaction attached to the Collaboration. (See the Collaboration topic for a representation of the Install Collaboration.)

To create a Collaboration Use, drag the icon from the Toolbox onto the diagram.

Toolbox Icon:

Learn More:

  • Composite Structure Diagram
  • Collaboration Element

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 173) states:

A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. Depending on the context, these entities could be structural features of a classifier, instance specifications, or even roles in some containing collaboration. There may be multiple occurrences of a given collaboration within a classifier, each involving a different set of roles and connectors. A given role or connector may be involved in multiple occurrences of the same or different collaborations.


Component [Enterprise Architect User Guide]

Component

Description

A Component is a modular part of a system, whose behavior is defined by its provided and required interfaces; the internal workings of the Component should be invisible and its usage environment-independent. Source code files, DLLs, Java beans and other artifacts defining the system can be manifested in Components.

A Component can be composed of multiple Classes, or Components pieced together. As smaller Components come together to create bigger Components, the eventual system can be modeled, building-block style, in Component diagrams. By building the system in discrete Components, localization of data and behavior enables decreased dependency between Classes and Objects, providing a more robust and maintainable design.

Toolbox Icon

Learn More:

  • Component Diagram
  • Class Element
  • Object Element

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 148) states:

A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.

A component defines its behavior in terms of provided and required interfaces. As such, a component serves as a type whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics).


Data Type [Enterprise Architect User Guide]

Data Type

Description

A Data Type is a specific kind of classifier, similar to a Class except that a Data Type cannot own sub Data Types, and instances of a Data Type are identified only by their value. For example, an instance of a Person Class is a Helen object, but an instance of an Integer Data Type is 12.

All copies of an instance of a Data Type, and any instances of that Data Type with the same value, are considered to be the same instance. That is, instances of Helen are not necessarily the same Helen, but all 12s are the same 12. For example, the 12 on a watch face is exactly the same integer as the number of months in a year.

Instances of a Data Type that have attributes (that is, are instances of a structured Data Type) are considered to be the same if the structure is the same and the values of the corresponding attributes are the same. If a Data Type has attributes, instances of that Data Type contain attribute values matching the attributes.

A typical use of Data Types would be to represent programming language primitive types or CORBA basic types. For example, integer and string types are often treated as Data Types.

A Data Type is denoted by a rectangle with the keyword «dataType», as above or, when it is referenced by (for example) an attribute, by a string containing the name of the Data Type, as below:

Toolbox Icon

Learn More:

  • Class Element


Deployment Spec [Enterprise Architect User Guide]

Deployment Spec

Description

A Deployment Specification (spec) specifies parameters guiding deployment of an artifact, as is necessary with most hardware and software technologies. A specification lists those properties that must be defined for deployment to occur, as represented in a Deployment diagram. An instance of this specification specifies the values for the parameters; a single specification can be instantiated for multiple artifacts.

These specifications can be extended by certain component profiles. Examples of standard Tagged Values that a profile might add to a Deployment Specification are «concurrencyMode» with Tagged Values {thread, process, none} or «transactionMode» with Tagged Values {transaction, nestedTransaction, none}.

The following example depicts the artifact RepositoryApp deployed on the server node, as per the specifications of RepositoryApp, instantiated from the Deployment Specification SystemSpec.

Toolbox Icon

Learn More:

  • Deployment Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 206) states:

A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.


Device [Enterprise Architect User Guide]

Device

Description

A Device is a physical electronic resource with processing capability upon which Artifacts can be deployed for execution, as represented in a Deployment diagram. Complex Devices can consist of other devices; that is, a Device can be a nested element, where a physical machine is decomposed into its elements either through namespace ownership or through attributes that are typed by Devices.

Toolbox Icon

Learn More:

  • Deployment Diagram
  • Artifact Element

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, 10.3.7, v2.1.1, p. 207) states:

In the metamodel, a Device is a subclass of Node.


Document Artifact [Enterprise Architect User Guide]

Document Artifact

Description

A Document Artifact is an artifact having a stereotype of «document». You create the Document Artifact on a Component, Documentation or Deployment diagram, and associate it with an RTF document. Double-click on the element to display the Linked Document Editor. See the Linked Documents topic. When you have created the linked document, the Document Artifact element on the diagram shows an A symbol in the bottom right corner.

Toolbox Icon

Learn More:

  • Linked Documents
  • Artifact Element


Enumeration [Enterprise Architect User Guide]

Enumeration

Description

An Enumeration is a data type, whose instances can be any of a number of user-defined enumeration literals. It is possible to extend the set of applicable enumeration literals in other packages or profiles. You create Enumerations in Class or Package diagrams, and in diagrams developed from the Metamodel and Profile pages of the Toolbox.

Toolbox Icon

Learn More:

  • Class Diagram
  • Package Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 69) states:

An enumeration is a data type whose values are enumerated in the model as enumeration literals.


Execution Environment [Enterprise Architect User Guide]

Execution Environment

Description

An Execution Environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts. This is depicted in a Deployment diagram.

Execution Environments can be nested; for example, a database Execution Environment can be nested in an operating system Execution Environment. Components of the appropriate type are then deployed to specific Execution Environment nodes.

Toolbox Icon

Learn More:

  • Deployment Diagram
  • Node Element
  • Component Element
  • Artifact Element

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 210 states:

... an ExecutionEnvironment is ... usually part of a general Node, representing the physical hardware environment on which the ExecutionEnvironment resides. In that environment, the ExecutionEnvironment implements a standard set of services that Components require at execution time (at the modeling level these services are usually implicit). For each component Deployment, aspects of these services may be determined by properties in a DeploymentSpecification for a particular kind of ExecutionEnvironment.


Expose Interface [Enterprise Architect User Guide]

Expose Interface

Description

The Expose Interface element is a graphical method of depicting the required or supplied interfaces of a Component, Class or Part, in a Component or Composite Structure diagram. It just identifies the fact that the element provides or requires an interface; to depict the fact that the provided interface is used, or the required interface provided, by another element use the Assembly connector.

The Expose Interface element must be attached to the Class or Component element, and it becomes a child element of that Class or Component; it cannot exist independently. You can attach more than one Expose Element to another element.

When you create the Expose Interface element, a dialog displays in which you enter a name for the element and specify whether it represents a required interface or a provided interface.

Toolbox Icon

Learn More:

  • Component Diagram
  • Composite Structure Diagram
  • Interface
  • Component
  • Class
  • Part
  • Assembly


Information Item [Enterprise Architect User Guide]

Information Item

Description

An Information Item represents an abstraction of data. It is used in Activity, Analysis and Object diagrams. An Information Item is also represented by an Information Flow connector.

Toolbox Icon

Learn More:

  • Information Flow
  • Activity Diagram
  • Analysis Diagram
  • Object Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 608) states:

An information item is an abstraction of all kinds of information that can be exchanged between objects. It is a kind of classifier intended for representing information at a very abstract way, one which cannot be instantiated.

One purpose of information items is to be able to define preliminary models, before having made detailed modeling decisions on types or structures. One other purpose of information items and information flows is to abstract complex models by a less precise but more general representation of the information exchanged between entities of a system.


Interface [Enterprise Architect User Guide]

Interface

Description

An Interface is a specification of behavior (or contract) that implementers agree to meet. By implementing an Interface, Classes are guaranteed to support a required behavior, which enables the system to treat non-related elements in the same way; that is, through the common interface. You also use Interfaces in a Composite Structure diagram.

Interfaces are drawn in a similar way to a Class, with operations specified, as shown below. They can also be drawn as a circle with no explicit operations detailed. Right-click on the element and select the Use Circle Notation context menu option to switch between styles. Realize connectors to an Interface drawn as a circle are drawn as a solid line without target arrows.

An Interface cannot be instantiated (that is, you cannot create an object from an Interface). You must create a Class that 'implements' the Interface specification, and in the Class body place operations for each of the Interface operations. You can then instantiate the Class.

Toolbox Icon

Learn More:

  • Class Diagram
  • Composite Structure Diagram
  • Realization

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 88) states:

An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.

Since interfaces are declarations, they are not instantiable. Instead, an interface specification is implemented by an instance of an instantiable classifier, which means that the instantiable classifier presents a public facade that conforms to the interface specification. Note that a given classifier may implement more than one interface and that an interface may be implemented by a number of different classifiers.


Node [Enterprise Architect User Guide]

Node

Description

A Node is a physical piece of equipment on which the system is deployed, such as a workgroup server or workstation. A Node usually hosts components and other executable pieces of code, which again can be connected to particular processes or execution spaces. Typical Nodes are client workstations, application servers, mainframes, routers and terminal servers.

Nodes are used in Deployment diagrams to model the deployment of a system, and to illustrate the physical allocation of implemented artifacts. They are also used in web modeling, from dedicated web modeling pages in the Toolbox.

Toolbox Icon

Learn More:

  • Deployment Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 213) states:

In the metamodel, a Node is a subclass of Class. It is associated with a Deployment of an Artifact. It is also associated with a set of Elements that are deployed on it. This is a derived association in that these PackageableElements are involved in a Manifestation of an Artifact that is deployed on the Node. Nodes may have an internal structure defined in terms of parts and connectors associated with them for advanced modeling applications.


Object [Enterprise Architect User Guide]

Object

Description

An Object is a particular instance of a Class at run time. For example a car with the license plate AAA-001 is an instance of the general class of cars with a license plate number attribute. Objects are often used in analysis to represent the numerous artifacts and items that exist in any business, such as pieces of paper, faxes and information. To model the varying behavior of Objects at run-time, use run-time states.

Early in analysis, Objects can be used to quickly capture all the things that are of relevance within the system domain, in an Object, Composite Structure or Communication diagram. As the model progresses these analysis Objects are refined into generic Classes from which instances can be derived to represent common business items. Once Classes are defined, Objects can be typed; that is they can have a classifier set that indicates their base type. See the Object Classifiers topic.

Enterprise Architect also supports a number of stereotyped Object elements to represent various entities in business modeling.

Toolbox Icon

See Also:

  • Run-time State
  • Define a Run-time Variable
  • Remove a Defined Variable
  • Object State

Learn More:

  • Object Diagram
  • Composite Structure Diagram
  • Communication Diagram
  • Class
  • Object Classifiers
  • Business Interaction Objects


Run-time State [Enterprise Architect User Guide]

Run-time State

At run-time, an Object instance can have specific values for its attributes, or exist in a particular state. To model the varying behavior of Objects at run-time, use instance values selected from the Select <Item> dialog and run-time states or run-states.

Typically there is interest in the run-time behavior of Objects that already have a classifier set. You can select from the classifier's attribute list and apply specific values for your Object instance. If the classifier has a child State Machine, its States propagate to a list where the run-time state for the Object can be defined.

Example

The following example defines run-time values for the listed variables, which are attributes of the instances' classifier AccountItem.

See Also:

  • Define a Run-Time Variable
  • Remove a Defined Variable

Learn More:

  • Object
  • Object State


Define a Run-time Variable [Enterprise Architect User Guide]

Define a Run-Time Variable

How to:

To add run-time state instance variables to an Object, follow the steps below:

Step | Action
1 | Right-click on the Object The context menu displays
2 | If Instance Variables are supported, select the Advanced | Set Run State menu option (or press ( Ctrl+Shift+R ) ) The Set Run State dialog displays
3 | In the Variable field, click on the drop-down arrow and select the variable, or type in the new variable name
4 | Set the Operator, the Value and optionally type in a Note
5 | Click on the OK button to save the variable


Remove a Defined Variable [Enterprise Architect User Guide]

Remove a Defined Variable

How to:

To delete a run-time state variable for an Object, follow the steps below:

Step | Action
1 | Right-click on the required Object The context menu displays
2 | Select the Set Run State option The Run State dialog displays
3 | In the Variable field, click on the drop-down arrow and select the variable to delete
4 | Clear the Value field
5 | Click on the OK button


Object State [Enterprise Architect User Guide]

Object State

How to:

To set the Object state for a Class instance, follow the steps below:

Step

Action

1

Right-click on the required Object and select the Advanced | Set Object State context menu option

The Set Instance State dialog displays

2

In the State field, either type the required State (such as Awaiting Approval) or select a State from the drop-down list

The drop-down list for the State field is populated with:

  1. Any States owned by the object's classifier
  2. Any States owned by any superclasses of the object's classifier
  3. Any States owned by State Machines owned by the object's classifier
  4. Any States owned by State Machines owned by any superclasses of the object's classifier

3

Click on the OK button to apply the State

The object now shows the run-time state in square brackets below the object name


Package [Enterprise Architect User Guide]

Package

Description

A Package is a namespace as well as an element that can be contained in other Package's namespaces. A Package can own or merge with other Packages, and its elements can be imported into a Package's namespace. In addition to using Packages in the Project Browser to organize your project contents, you can drag these Packages onto a diagram workspace (most diagram types, both standard and extended) for structural or relational depictions, including Package imports or merges.

Toolbox Icon

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 109) states:

A package is a namespace for its members, and may contain other packages. Only packageable elements can be owned members of a package. By virtue of being a namespace, a package can import either individual members of other packages, or all the members of other packages. In addition a package can be merged with other packages.


Part [Enterprise Architect User Guide]

Part

Description

Parts are run-time instances of Classes or Interfaces. Multiplicity can be specified for a Part, using the notation:

( x{...y} )

where x specifies the initial or set amount of instances when the composite structure is created, and y indicates the maximum amount of instances at any time.

Parts are used to express composite structures, or modeling patterns that can be invoked by various objects to accomplish a specific purpose. When illustrating the composition of structures, Parts can be embedded as properties of other Parts. When embedded as properties, Parts can be bordered by a solid outline, indicating the surrounding Part owns the Part by composition. Alternatively, a dashed outline indicates that the property is referenced and used by the surrounding Part, but is not composed within it.

Toolbox Icon

Learn More:

  • Composite Structure Diagram
  • Class
  • Interface
  • Properties
  • Add Property Value


Add Property Value [Enterprise Architect User Guide]

Add Property Value

How to:

To add property value variables to a Part, follow the steps below:

Step | Action
1 | Right-click on the Part The context menu displays
2 | Select the Advanced | Set Property Values menu option (or press ( Ctrl+Shift+R ) ) The Set Property Values dialog displays
3 | In the Variable field, click on the drop-down arrow and select the variable, or type in the new variable name
4 | Set the Operator, the Value and optionally type in a Note
5 | Click on the OK button to save the variable

A Part with a property value resembles the following figure.


Port [Enterprise Architect User Guide]

Port

Description

Ports define the interaction between a classifier and its environment. Interfaces controlling this interaction can be depicted using the Interface element. Any connector to a Port must provide the required interface, if defined. Ports can appear on a contained Part, a Class, or the boundary of a Composite element.

A Port is a typed structural feature or property of its containing classifier. Ports are typically created in Class diagrams, Object diagrams and Composite Structure diagrams.

Toolbox Icon

Learn More:

  • Add a Port to an Element
  • Inherited and Redefined Ports
  • The Property Tab
  • Composite Structure Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 182) states:

A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.


Add a Port to an Element [Enterprise Architect User Guide]

Add a Port to an Element

How to:

To add a new Port to an element, use one of the following steps:

Step | Action
1 | Click on the Port symbol in the Composite Elements page of the Toolbox, and drag the symbol to (or click on) the target host element This creates an untyped, simple Port on the boundary, near the cursor position
2 | On the context menu of a suitable Class, Part or Composite element, select the Embedded Elements | Add Port menu option to add a new Port at the cursor position
3 | Drag a suitable classifier from the Project Browser onto a Class or Part Enterprise Architect prompts you to add a typed Port or Part at the cursor position The new Port is typed by the original dragged classifier
4 | Use the Embedded Elements window to add a new Port to the currently selected element

Learn More:

  • Composite Elements
  • Inherited and Redefined Ports


Inherited and Redefined Ports [Enterprise Architect User Guide]

Inherited and Redefined Ports

A Port is a redefinable and re-useable property of a composite classifier such as a Component. A Component can inherit Ports from its parent; if a Component's parent owns Ports, when you open the Embedded Elements dialog for the Component and select the Show Owned/Inherited checkbox the inherited Ports and their named owners are listed.

If you want to show an inherited Port on a Component, the Embedded Elements dialog provides two options:

  • Expose an inherited Port - tick the checkbox next to the Port's name, to create a read-only copy of the Port; this is convenient for modeling Port interactions in child elements where the Ports are defined in the parent elements
  • Redefine an inherited Port - select the row for the Port and click on the Redefine button, to create an editable copy of the Port; this is useful where a child element places additional restrictions or behavior on the Port

The above is also true for Components that inherit Ports from realized Interfaces, and for Component instances that inherit Ports from their classifying Component.


The Property Page [Enterprise Architect User Guide]

The Property Page

The element Properties dialog for Ports and Parts has a Property page in place of the Class element Details page.

This page defines the type, initial value, Qualifiers, multiplicity, and redefined and subsetted properties of the Port or Part.

You set the Qualifiers by clicking on the Qualifiers button, to display the Qualifiers dialog.

You add Redefined and Subsetted Properties by clicking on the appropriate Add button, to display the Select Property dialog.

Learn More:

  • Qualifiers Dialog
  • Select Property Dialog
  • Inherited and Redefined Ports


Primitive [Enterprise Architect User Guide]

Primitive

Description:

A Primitive element identifies a predefined data type, without any relevant substructure (that is, it has no parts in the context of UML). It could be regarded as a conceptual Data Type.

Toolbox Icon:

Learn More:

  • Data Type Element

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 124) states:

A primitive data type may have an algebra and operations defined outside of UML, for example, mathematically ... The run-time instances of a primitive type are data values. The values are in many-to-one correspondence to mathematical elements defined outside of UML (for example, the various integers). Instances of primitive types do not have identity. If two instances have the same representation, then they are indistinguishable.


Signal [Enterprise Architect User Guide]

Signal

Description:

A Signal is a specification of Send request instances communicated between objects, typically in a Class or Package diagram. The receiving object handles the Received request instances as specified by its receptions. The data carried by a Send request is represented as attributes of the Signal. A Signal is defined independently of the classifiers handling the signal occurrence.

To define a reception, create an operation in the receiving object and assign the stereotype <<signal>> to it. The reception has the same name as the signal that the object can receive.

Toolbox Icon:

Learn More:

  • Class Diagram
  • Package Diagram
  • Send Element
  • Receive Element

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 450) states:

A signal triggers a reaction in the receiver in an asynchronous way and without a reply. The sender of a signal will not block waiting for a reply but continue execution immediately. By declaring a reception associated to a given signal, a classifier specifies that its instances will be able to receive that signal, or a subtype thereof, and will respond to it with the designated behavior.

And (UML Superstructure Specification, v2.1.1, p. 447 - 448):

A reception is a declaration stating that a classifier is prepared to react to the receipt of a signal. A reception designates a signal and specifies the expected behavioral response. The details of handling a signal are specified by the behavior associated with the reception or the classifier itself. ...Receptions are shown using the same notation as for operations with the keyword <signal>


UML Connectors [Enterprise Architect User Guide]

UML Connectors

A connector is a logical or functional relationship between model elements. There are several different connector types, each having a particular purpose and syntax. Enterprise Architect supports all of the UML connectors as well as various custom connectors. Together with the UML Elements, these form the basis of UML models.

For more information on using these connectors, consult the appropriate topic by clicking on the required connector icon in the table below.

Behavioral Diagram Connectors | Structural Diagram Connectors | Inbuilt and Extended Connectors
Activity Diagrams | Composite Structure Diagrams | Analysis Diagrams
Use Case Diagrams |  |
 |  | Common Connectors
 | Package and Class Diagrams |
 |  | Profile
State Diagrams |  |
Timing Diagrams |  |
 | Component Diagrams |
 |  | Metamodel
Sequence Diagrams |  |
 | Deployment Diagrams | Custom
Communication Diagrams |  |
Interaction Overview Diagrams |  |
 |  | Requirements
 | User Interface |
Maintenance |  |
 |  | WSDL
XML Schema |  | No special connectors
 | Object | Documentation
 |  | No special connectors
Data Modeling |  |

Notes:

  • Invokes and Precedes relationships are defined by the Open Modeling Language (OML). They are stereotyped Dependency relationships; Invokes indicates that Use Case A, at some point, causes Use Case B to happen, whilst Precedes indicates that Use Case C must complete before Use Case D can begin.
  • An Extension relationship shows that a stereotype extends one or more metaclasses. All stereotypes must extend either one or more Metaclasses, or another stereotype that extends a stereotype (that itself extends a stereotype, and so on).
  • A Tagged Value relationship defines a reference-type (that is, RefGUID) Tagged Value owned by the source stereotype. The Tagged Value is named for the target role of this association, and is limited to referencing elements with the stereotype by the association target element.
  • The Application and Redefinition relationships are deprecated.


Aggregation [Enterprise Architect User Guide]

Aggregation

Description:

An Aggregation connector is a type of association that shows that an element contains or is composed of other elements. It is used in Class models, Package models and Object models to show how more complex elements (aggregates) are built from a collection of simpler elements (component parts; for example, a car from wheels, tires, motor and so on).

A stronger form of aggregation, known as Composite Aggregation, is used to indicate ownership of the whole over its parts. The part can belong to only one Composite Aggregation at a time. If the composite is deleted, all of its parts are deleted with it.

Toolbox Icon:

Learn More

  • Class Diagram
  • Package Diagram
  • Object Diagram
  • Change Aggregation Connector Form


Change Aggregation Connector Form [Enterprise Architect User Guide]

Change Aggregation Connector Form

In Enterprise Architect, the default Aggregation relationship is the weak form of the relationship, represented by a hollow diamond.

To change the form of an Aggregation connector from weak to strong, follow the steps below:

Step | Action
1 | Right-click on an Aggregation connector to display the context menu
2 | Select Set Aggregation to Composite The diamond is shown as filled

Notes:

  • If the connector is already a Strong (Composition) connector, the context menu option changes to Set Aggregation to Shared

Learn More:

  • Aggregation


Assembly [Enterprise Architect User Guide]

Assembly

Description:

An Assembly connector bridges a component's required interface (Component1) with the provided interface of another component (Component2), typically in a Component diagram.

Toolbox Icon

Learn More:

  • Component Diagram

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 156) states:

An assembly connector is a connector between two components that defines that one component provides the services that another component requires. An assembly connector is a connector that is defined from a required interface or port to a provided interface or port.


Association [Enterprise Architect User Guide]

Association

Description:

An Association implies two model elements have a relationship, usually implemented as an instance variable in one Class. This connector can include named roles at each end, multiplicity, direction and constraints. Association is the general relationship type between elements. To connect more than two elements in an association, you can use the N-Ary Association element.

When code is generated for Class diagrams, Associations become instance variables in the target Class. The relationship is also used in Package, Object, Communication, Data Modeling and Deployment diagrams.

An Associate connector can also be integrated with a Class element to form an Association Class, to allow the Associate connector to have operations and attributes that define certain types of UML relationship.

You can also define template binding parameters for an Associate connector between a binding Class and a parameterized Class.

Toolbox Icon:

Learn More

  • N-Ary Association
  • Association Class
  • Class Diagrams
  • Template Binding
  • Qualifiers

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 41) states:

An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type.

An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends.


Qualifiers [Enterprise Architect User Guide]

Qualifiers

Qualifiers are ordered sets of properties of an Association end point, a Part, a Port, or an Attribute, that limit the nature of the relationship between two classifiers or objects. You define a qualifier on the Qualifiers dialog, which you display by clicking on the ( ... ) button at the end of the Qualifiers field on the Association, Part, Port or Attribute Properties dialog.

Examples

Notes:

  • When typing multiple Qualifiers into the Qualifier(s) field on a Properties dialog, separate them with a semi-colon; each Qualifier then displays on a separate line. For example, in the diagram the Qualifier 'rank:Rank;file:File' has been rendered in two lines, with a line break at the ; character.
  • You can enable or disable Qualifier rectangles in the Diagram page of the Options dialog (select the Tools | Options | Diagram menu option). If disabled, the old style text Qualifiers are used. It is not recommended that you disable Qualifiers as they are an integral part of the UML.
  • You can enable or disable a mild shading on the Qualifier rectangles in the Links page of the Options dialog.

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 129) states:

A qualifier declares a partition of the set of associated instances with respect to an instance at the qualified end (the qualified instance is at the end to which the qualifier is attached). A qualifier instance comprises one value for each qualifier attribute. Given a qualified object and a qualifier instance, the number of objects at the other end of the association is constrained by the declared multiplicity. In the common case in which the multiplicity is 0..1, the qualifier value is unique with respect to the qualified object, and designates at most one associated object. In the general case of multiplicity 0..*, the set of associated instances is partitioned into subsets, each selected by a given qualifier instance. In the case of multiplicity 1 or 0..1, the qualifier has both semantic and implementation consequences. In the case of multiplicity 0..*, it has no real semantic consequences but suggests an implementation that facilitates easy access of sets of associated instances linked by a given qualifier value.


Qualifiers Dialog [Enterprise Architect User Guide]

Qualifiers Dialog

The Qualifiers dialog is used to define the Qualifiers of an Association connector end, Port, Part or Attribute.

General Tab

Review, edit or complete the fields as indicated in the following table.

Field

Action

See also

Name

Display the name of the Qualifier. For a new Qualifier, type the name (with no spaces).

Alias

Display an optional alias for the Qualifier. If necessary, type in a new alias.

Type

Display the Qualifier type.

The type can be defined by the code language (data type) or by a classifier element. When you click on the drop-down arrow, the set of values in the list provides the appropriate data types.

To select or define possible classifiers, either click on the Select Type option in the list, or click on the ( ... ) (Select) button to display the Select <Item> dialog.

To add new code language data types that can be displayed in this list, see the Data Types topic.

Select <Item> dialog

Data Types

Scope

Define the Qualifier as Public, Protected, Private or Package. If necessary, click on the drop-down arrow and select a different scope.

Stereotype

Define the optional stereotype of the Qualifier. If necessary, either type a different stereotype name or click on the drop-down arrow and select a stereotype.

Derived

Indicate that the Qualifier is a calculated value. If you select this checkbox, the Qualifier name on the element has the derived symbol (/) as a prefix.

Static

Indicate that the Qualifier is a static member.

Const

Indicate that the Qualifier is a constant.

Initial

Display an optional initial value. If necessary, type in a new initial value.

Notes

Enter any free text notes associated with the Qualifier. You can format the notes text using the Notes toolbar at the top of the field.

Notes toolbar

To change the position of a Qualifier in the list in the Qualifiers panel, click on the Scroll Up or Scroll Down (hand) buttons.

Detail Tab

Use the Detail tab to model additional properties of a selected Qualifier, such as its multiplicity, redefined properties and subsetted properties.

Select a Qualifier on the General tab, then review, edit or complete the Detail tab fields as indicated in the following table.

Field | Action | See also
Multiplicity |  |
Lower bound | Define a lower limit to the number of elements allowed in the collection. |
Upper bound | Define an upper limit to the number of elements allowed in the collection. |
Allow Duplicates | Indicate that duplicates are allowed. Maps to the UML property isUnique, value FALSE). |
Multiplicity is Ordered | Indicate that the collection is ordered. |
Redefined Property | Review the redefined properties for the Qualifier. Add redefined properties by clicking on the Add button to display the Select Property dialog. | Select Property dialog
Subsetted Property | Review the subsetted properties for the qualifier. Add subsetted properties by clicking on the Add button to display the Select Property dialog. | Select Property dialog


Association Class [Enterprise Architect User Guide]

Association Class

Description

An Association Class is a UML construct that enables an Association to have attributes and operations (features). This results in a hybrid relation with the characteristics of an Association and a Class.

When you add an Association Class connection, Enterprise Architect also creates a Class that is automatically connected to the Association. When you hide or delete the Association, the Class is also hidden or deleted.

To add an Association Class to a Class or Deployment diagram, click on the Association Class icon in the Toolbox. Click and hold on the source object in the diagram while you drag the line to the target element, then release the mouse button. Enterprise Architect draws the connector and adds the Class, then prompts you to add the Class name. Note that the names of the Class and the connector are the same. You can also connect a new Class to an existing Association.

You can highlight the Class part of an Association Class in the Project Browser, by selecting the Find Association Class context menu option on the Association connector.

Example

The following diagram illustrates an Association Class between model elements. Note the dotted line from the Class to the Association. You cannot move or delete this line.

Notes:

  • If you are applying a stereotype with a Shape Script to an Association Class, be aware that the Shape Script is applied to both the Class part and the Association part. Therefore, you might have to include logic in the shape main that tests the type of the element so that you can give separate drawing instructions for Class and for Association. Such logic is not necessary in the:
  • shape source or shape target, which are ignored by Classes, or the
  • decoration shapes, which are ignored by Association connectors.

If you dissociate the Class from the Association connector, both parts keep their Shape Scripts until the stereotypes are removed.

Toolbox Icon

Learn More:

  • Class Diagram
  • Connect New Class to Association

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 49) states:

A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers.


Connect New Class to Association [Enterprise Architect User Guide]

Connect New Class to Association

How to:

To connect a new Class to an existing Association, follow the steps below:

Step | Action
1 | Create a Class in the diagram containing the Association to connect
2 | Right-click on the new Class The context menu displays
3 | Select the Advanced | Association Class menu option The Create Association Class dialog displays
4 | Select the connector to connect to
5 | Click on the OK button

Learn More:

  • Association Class


Communication Path [Enterprise Architect User Guide]

Communication Path

Description

A Communication Path defines the path through which two DeploymentTargets are able to exchange signals and messages. Communication Path is a specialization of Association. A DeploymentTarget is the target for a deployed Artifact and can be a Node, Property or InstanceSpecification in a Deployment diagram.

Toolbox Icon

Learn More:

  • Deployment Diagram
  • Association


Compose [Enterprise Architect User Guide]

Composition

Direction

A Composition is used to depict an element that is made up of smaller components, typically in a Class or Package diagram. A component - or part instance - can be included in a maximum of one composition at a time. If a composition is deleted, usually all of its parts are deleted with it; however, a part can be individually removed from a composition without having to delete the entire composition. Compositions are transitive, asymmetric relationships and can be recursive.

Example

Toolbox Icon

Learn More

  • Aggregation
  • Class Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 43) states:

Composite aggregation is a strong form of aggregation that requires a part instance be included in at most one composite at a time. If a composite is deleted, all of its parts are normally deleted with it.


Connector [Enterprise Architect User Guide]

Connector

Description

Connectors illustrate communication links between parts to fulfill the structure's purpose, typically in a Composite Structure diagram. Each Connector end is distinct, controlling the communication pertaining to its connecting element. These elements can define constraints specifying this behavior. Connectors can have multiplicity.

Toolbox Icon

Learn More

  • Composite Structure Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 177) states:

Specifies a link that enables communication between two or more instances. This link may be an instance of an association, or it may represent the possibility of the instances being able to communicate because their identities are known by virtue of being passed in as parameters, held in variables or slots, or because the communicating instances are the same instance. The link may be realized by something as simple as a pointer or by something as complex as a network connection. In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only.


Control Flow [Enterprise Architect User Guide]

Control Flow

Activity Diagram - Actions

Description

The Control Flow is a connector connecting two nodes in an Activity diagram. Control Flow connectors bridge the flow between Activity nodes, by directing the flow to the target node once the source node's activity is completed.

Control Flows and Object Flows can define a Guard and a Weight condition.

A Guard defines a condition that must be true before control passes along that activity edge. A practical example of this is where two or more activity edges (Control Flows) exit from a Decision element. Each flow should have a Guard condition that is exclusive of the other and defines which edge is taken under what conditions. The Control Flow Properties dialog enables you to set up Guard conditions on Control Flows and on Object Flows.

A Weight defines the number of tokens that can flow along a Control or Object Flow connection when that edge is traversed. Weight can also be defined on the Control Flow and Object Flow Properties dialogs.

Toolbox Icon

Learn More

  • Activity diagram
  • Object Flow
  • Decision Node

OMG UML specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 356) states:

A control flow is an edge that starts an activity node after the previous one is finished.


Delegate [Enterprise Architect User Guide]

Delegate

Description

A Delegate connector defines the internal assembly of a component's external Ports and Interfaces, on a Component diagram. Using a Delegate connector wires the internal workings of the system to the outside world, by a delegation of the external interfaces' connections.

Toolbox Icon

Learn More:

  • Component Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 156) states:

A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the internal realization of that behavior by the component's parts. It represents the forwarding of signals (operation requests and events): a signal that arrives at a port that has a delegation connector to a part or to another port will be passed on to that target for handling.


Dependency [Enterprise Architect User Guide]

Dependency

Description

Dependency relationships are used to model a wide range of dependent relationships between model elements in Use Case, Activity and Structural diagrams, and even between models themselves. You can create the Dependency from the Common page of the Toolbox. The Dependencies package as defined in UML 2.3 has many derivatives, such as Realize, Deployment and Use. Once you create a Dependency you can further refine its meaning by applying a specialized stereotype.

Toolbox Icon

See Also:

  • Apply a Stereotype

Learn More:

  • Realization
  • Deployment
  • Use

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 64) states:

A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s).


Apply a Stereotype [Enterprise Architect User Guide]

Apply a Stereotype

How to:

To apply a stereotype to a Dependency relationship, follow the steps below:

Step | Action
1 | Select the Dependency relationship to change
2 | Right-click on the connector and, from the context menu, select the Dependency Properties option The Dependency Properties dialog displays
3 | In the Stereotype field, either type in the required stereotype name or click on the drop-down arrow and select the stereotype from the list
4 | Click on the OK button

Alternatively, you can right-click on the Dependency relationship and select the Advanced | Dependency Stereotypes context menu option, then select from a shorter list of standard stereotypes.


Deployment [Enterprise Architect User Guide]

Deployment

Description

A Deployment is a type of Dependency relationship that indicates the deployment of an artifact onto a node or executable target, typically in a Deployment diagram. A Deployment can be made at type and instance levels. At the type level, a Deployment would be made for every instance of the node. Deployment can also be specified for an instance of a node, so that a node's instances can have varied deployed artifacts. With composite structures modeled with nodes defined as Parts, Parts can also serve as targets of a Deployment relationship.

Learn More:

  • Deployment Diagram

Toolbox Icon


Extend [Enterprise Architect User Guide]

Extend

Description

An Extend connection is used to indicate that an element extends the behavior of another. Extensions are used in Use Case models to indicate that one Use Case (optionally) extends the behavior of another. An extending Use Case often expresses alternative flows.

Toolbox Icon

Learn More:

  • Use Case Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 587) states:

This relationship specifies that the behavior of a Use Case may be extended by the behavior of another (usually supplementary) Use Case. The extension takes place at one or more specific extension points defined in the extended Use Case. Note, however, that the extended Use Case is defined independently of the extending Use Case and is meaningful independently of the extending Use Case. On the other hand, the extending Use Case typically defines behavior that may not necessarily be meaningful by itself. Instead, the extending Use Case defines a set of modular behavior increments that augment an execution of the extended Use Case under specific conditions.

Note that the same extending Use Case can extend more than one Use Case. Furthermore, an extending Use Case may itself be extended.


Generalization [Enterprise Architect User Guide]

Generalization

Description

A Generalization is used to indicate inheritance. Drawn from the specific classifier to a general classifier, the generalization's implication is that the source inherits the target's characteristics. It is used typically in Class, Component, Object, Package, Use Case and Requirements diagrams.

You can also define template binding parameters for a Generalize connector between a binding Class and a parameterized Class.

Toolbox Icon

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 73) states:

A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier.


Include [Enterprise Architect User Guide]

Include

Description

An Include connection indicates that the source element includes the functionality of the target element. Include connections are used in Use Case models to reflect that one Use Case includes the behavior of another. Use an Include relationship to avoid having the same subset of behavior in many Use Cases; this is similar to delegation used in Class models.

Toolbox Icon

Learn More

  • Use Case Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 591) states:

Include is a DirectedRelationship between two Use Cases, implying that the behavior of the included Use Case is inserted into the behavior of the including Use Case. It is also a kind of NamedElement so that it can have a name in the context of its owning Use Case. The including Use Case may only depend on the result (value) of the included Use Case. This value is obtained as a result of the execution of the included Use Case.


Information Flow [Enterprise Architect User Guide]

Information Flow

Description

An Information Flow represents information items or classifiers flowing between two elements in any diagram. The connector is available from the Common page of the Toolbox and from every Quick Link menu.

You can have more than one Information Flow connector between the same two elements, identifying which items flow between the two under differing conditions.

Toolbox Icon

See Also

  • Using Information Flows
  • Conveying Information on a Flow
  • Realizing an Information Flow

Learn More

  • Information Item

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 606) states:

An InformationFlow specifies that one or more information items circulates from its sources to its targets.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 607) also states:

An information flow is an abstraction of the communication of an information item from its sources to its targets. It is used to abstract the communication of information between entities of a system. Sources or targets of an information flow designate sets of objects that can send or receive the conveyed information item.


Using Information Flows [Enterprise Architect User Guide]

Using Information Flows

Step | Action
1 | Open a diagram and add two elements (for example, Nodes on a Deployment diagram)
2 | Click on the Information Flow connector in the Common page of the Toolbox and drag between the two elements The Information Items Conveyed dialog displays
3 | Add the classifier or information item element(s) to the Information Flow The diagram now resembles the following
4 | Add another connector between the same two elements (for example, a Communication Path connector)
5 | Right-click the connector and select the Advanced | Information Flows Realized context menu option The Information Flows Realized dialog displays
6 | Tick the checkbox against the required classifier element and click on the OK button The combined connector now resembles the following:

Notes:

  • Once the connectors are combined, you cannot access the Information Items Conveyed dialog directly; you add or delete information items on the connector using the Information Items Realized dialog
  • If you have more than one Information Flow connector between the elements, they form part of the same combined connector; you can again work on them separately through the Information Items Realized dialog
  • If you have information flows in a diagram that you use as the source for a Pattern, the Information Items Conveyed and Information Flows Realized data is not copied into the Pattern
  • You can locate, in the Project Browser, the classifier or information item element(s) conveyed on the Information Flow connector, using the Find Information Item context menu option on the connector


Convey Information on a Flow [Enterprise Architect User Guide]

Convey Information on a Flow

As you create an Information Flow connector between two elements, you can specify which Information Items or classifiers are conveyed on this flow.

To specify these Information Items or classifiers, right-click on the connection and select the Advanced | Information Item Conveyed context menu option. The Information Items Conveyed dialog displays.

Button | Action
Add | Display the Select <Item> dialog, from which you select the required Information or Classifier element(s).
Remove | Remove the selected item.

Notes:

  • If you select more than one element, they are listed in one entry for the Information Flow connector.

Learn More

  • Information Flow
  • Information Item


Realize an Information Flow [Enterprise Architect User Guide]

Realize an Information Flow

The Information Flows Realized dialog displays all flows that can be realized on the selected connector. To realize an Information Flow on this connector, select the corresponding checkbox and click on the OK button.

If you want to change the information items conveyed on an information flow, click on the flow text and click on the Items button. The Information Items Conveyed dialog displays, and you can add or remove items as required. When you click on the OK button, the Information Items Realized dialog redisplays and you can realize the selected flow or flows as above.

Learn More:

  • Information Flow


Interrupt Flow [Enterprise Architect User Guide]

Interrupt Flow

Description

The Interrupt Flow is a connection used to define the two UML concepts of connectors for Exception Handler and Interruptible Activity Region. An Interrupt Flow is a type of activity edge. It is typically used in an Activity diagram.

Toolbox Icon

Learn More

  • Exception Handler
  • Interruptible Activity Region
  • Activity diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 327) states:

An activity edge is an abstract class for directed connections between two activity nodes.


Manifest [Enterprise Architect User Guide]

Manifest

Description

A Manifest relationship indicates that the Artifact source embodies the target model element, typically in Component and Deployment diagrams. Stereotypes can be added to Enterprise Architect to classify the type of manifestation of the model element.

Toolbox Icon

Learn More

  • Artifact Element
  • Component Diagram
  • Deployment Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 212) states:

An artifact embodies or manifests a number of model elements. The artifact owns the manifestations, each representing the utilization of a packageable element.

Specific profiles are expected to stereotype the manifestation relationship to indicate particular forms of manifestation, e.g. «tool generated» and «custom code» might be two manifestations for different classes embodied in an artifact.


Message [Enterprise Architect User Guide]

Message

Messages indicate a flow of information or transition of control between elements. Messages can be used by Timing Diagrams, Sequence Diagrams and Communication Diagrams (but not Interaction Overview diagrams) to reflect system behavior. If between Classes or classifier instances, the associated list of operations is available to specify the event.

Moving a Message can disrupt the organization of other features on the diagram. To avoid this, and move only the Message, press ( Alt ) while you move the Message.

Toolbox Icon

See Also

  • Message (Sequence Diagram)
  • Message (Communication Diagram)
  • Message (Timing Diagram)

Learn More

  • Timing Diagram
  • Sequence Diagram
  • Communication Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 491) states:

A Message defines a particular communication between Lifelines of an Interaction.

A Message is a NamedElement that defines one specific kind of communication in an Interaction. A communication can be, for example, raising a signal, invoking an Operation, creating or destroying an Instance. The Message specifies not only the kind of communication given by the dispatching ExecutionSpecification, but also the sender and the receiver.

A Message associates normally two OccurrenceSpecifications - one sending OccurrenceSpecification and one receiving OccurrenceSpecification.


Message (Sequence Diagram) [Enterprise Architect User Guide]

Message (Sequence Diagram)

 Return to Introduction

Sequence diagrams depict work flow or activity over time using Messages passed from element to element. These Messages correspond in the software model to Class operations and behavior.

How to:

To create a Message on a Sequence diagram, follow the steps below:

Step

Action

See Also

1

Access the Sequence diagram

The Interaction pages of the Toolbox display.

2

In the Interaction Relationships page, click on the Message icon, click on the source object and drag the cursor to the destination (target) object

The Message Properties dialog displays (if not, right-click on the Message and select the Message Properties context menu option)

3

In the Message field, type the Message name:

  • If the Message flow is towards a Class element (dropped in from a Class diagram) or a Lifeline element having a classifier, and the destination Class has defined operations, you can click on the drop-down arrow and select an appropriate operation name; the Message then reflects the destination Class operations
  • If the available operations are not appropriate, you can click on the Operations button and define a new operation in the target element, using the Operations dialog
  • If you create a Message without making reference to the target Class operations, no new operation is added to the target Class

Class Element

Lifeline

Operations Dialog

4

In the Parameters field, type any parameters that the Message has, as a comma-separated list

If required, in the Parameter Values field type the actual value for each parameter, again as a comma-separated list

5

If the Message is a return message, in the Return Value field enter the returned value or type

It is possible to depict returns from a Self Message; simply create a second Self Message at the end of execution and select the Is Return checkbox in the Control Flow Type panel

Self-Message

6

If the Message flow is from a Class element or Lifeline element with classifier that has defined attributes, click on the drop-down arrow in the Assign to field and select an appropriate attribute name

The Message reflects the attributes from the source Class; you cannot add further attributes to the source Class here - if no appropriate attribute is listed, open the element Properties dialog and add the required attribute

Otherwise, if required, type the name of the object to assign the message flow to

7

In the Stereotype field, type or select an optional stereotype for the connector (this is displayed on the diagram, if entered)

8

If required, in the Alias field type an alias for the name of the Message

On the diagram, the alias displays if the Use Alias if Available checkbox is selected on the Diagram tab of the Diagram Properties dialog

The Alias displays instead of or as well as the Message name, depending on the setting selected in the Alias Usage panel of the Diagram Behavior page of the Options dialog

Diagram Behavior Options

9

In the Condition field, type any conditions that must be true in order for the message to be sent

10

In the Synch: field in the Control Flow Type panel, select Synchronous or Asynchronous as appropriate

Asynchronous Signal Message

11

In the Lifecycle field, select New to create a new element at the end of the Message, or Delete to terminate the message flow at the end of the Message

If neither case applies, leave the field at the default of <none>

12

If required, in the Notes field type any explanatory notes

You can format the notes using the Notes toolbar at the top of the field

13

Click on the OK button to save the Message definition

  • You can change the timing details of a message on the Timing Details dialog, and emphasize the sequence of closely-ordered messages using General Ordering
  • To toggle the numbering of messages on a Sequence diagram, select or deselect the Show Sequence Numbering checkbox on the Options dialog

Change the Timing Details

General Ordering

Sequence diagrams

Toolbox Icon:

Learn More:

  • Call
  • Message Examples
  • Co-Region Notation


Self-Message [Enterprise Architect User Guide]

Self-Message

A Self-Message reflects a new process or method invoked within the calling lifeline's operation. It is a specification of a Message, typically in a Sequence diagram.

Self-Message as Return:

It is possible to depict a return from a Self Message call.

How to:

To create a Self Message return, follow the steps below:

Step | Action
1 | Create a second Self Message at the end of execution
2 | Double-click on the Message name to open the Message Properties dialog
3 | Select the Is Return checkbox
4 | Raise the Activation level of the return

Self-Message Calls indicate a nested invocation; new activation levels are added with each Call.

Toolbox Icon:

Learn More

  • Sequence Diagram
  • Message
  • Raise the Activation Level
  • Call


Call [Enterprise Architect User Guide]

Call

A Call is a type of Message connector that extends the level of activation from the previous Message. All Self-Messages create a new activation level, but this focus of control usually ends with the next Message (unless activation levels are manually adjusted). Self-Message Calls, as depicted above by the first Call, indicate a nested invocation; new activation levels are added with each Call. Unlike a regular Message between elements, a Call between elements continues the existing activation in the source element, implying that the Call was initiated within the previous Message's activation scope.

Toolbox Icon

Learn More

  • Sequence Message
  • Self-Message
  • Sequence Element Activation


Message Examples [Enterprise Architect User Guide]

Message Examples

The following are different types of Messages available on Sequence Diagrams. Note that Messages on Sequence diagrams can also be modified with Shape Scripts.

Other Sequence Messages

The following are examples of Messages that are not part of the sequence described by the diagram.

Learn More

  • Messages
  • Sequence Diagrams
  • Shape Scripts


Change the Timing Details [Enterprise Architect User Guide]

Change the Timing Details

It is possible to change the timing details of a Message in a Sequence diagram by right-clicking on the Message connector and selecting the Timing Details context menu option. The Timing Details dialog displays.

Option | Action
Duration Constraint | Indicate the minimum and maximum limits on how long a message can last.
Duration Constraint Between Messages | Indicate the minimum and maximum interval between sending or receipt of the previous message at the current message's source Lifeline, and sending the current message.
Duration Observation | Capture the duration of a message.
Timing Constraint | Indicate the minimum and maximum time at which the message should arrive at the target.
Timing Observation | Capture the point at which the message was sent.

See the OMG UML specification (UML Superstructure Specification, v2.1.1, p. 511).

In the diagram below, on the Open Order Message:

  • Duration Constraint has been set to 0...13.

On the Get Cart Message:

  • Duration Constraint Between Messages has been set to d...d*3
  • Duration Observation has been set to d=duration
  • Timing Constraint has been set to t...t+3
  • Timing Observation has been set to t=now

By typing a value in the Duration Constraint field, you enable the Message angle to be adjusted. After clicking on the OK button on the Timing Details dialog, click on the head of the Message connector and drag the connector up or down to change the angle. You cannot extent the angle beyond the life line of the connecting sequence object or create an angle of less than 5 degrees.

You can also create the Duration Constraint Between Messages line by dragging the General Ordering arrow up to the point at which the previous message joins the source Lifeline for the current message. A dialog displays on which you enter the value for the constraint. Having created the line, you can move it to any point within half way along the current message and half way along the previous message, to avoid overlap with other message timing details. You can edit or delete the value either through the Timing Details dialog or by right-clicking on the line itself and selecting the appropriate context menu option.

Learn More

  • Sequence Diagram
  • Message
  • General Ordering


General Ordering [Enterprise Architect User Guide]

General Ordering

In a Sequence diagram, the workflow is represented by the sequence of Messages down the diagram. Messages near the top of the diagram are passed before Messages lower down the diagram.

Consider the following diagram.

Message 1 is earlier than Message 2. However, in a complex diagram, or when representing finely timed operations or parallel processing, this might not be apparent. You can reinforce the sequence using a General Ordering arrow.

Click on the Message arrow. A small arrow displays at the source anchor point.

General Ordering 2

Click on this arrow and drag it to the start of the next Message in sequence (Message 2 in the example). The General Ordering arrow displays, indicating that the second Message follows the first.

General Ordering 3

The General Ordering arrow is exaggerated in the above figure. You would normally have the arrow running almost horizontal across the diagram.

General Ordering 4

You can have more than one General Ordering arrow issuing from or targeting a Message, if necessary.


Asynchronous Signal Message [Enterprise Architect User Guide]

Asynchronous Signal Message

You define a Message as an asynchronous signal message by displaying the Message Properties dialog and setting the Synch field to Asynchronous and the Kind field to Signal. A synchronous message cannot be used to convey signals, so setting the Synch field to Synchronous disables the Kind field.

Return Value, Assign To and the Operations button, which are not applicable to asynchronous signals, are disabled.

The Operations button changes to a Signal button, which you click on to associate the asynchronous signal message with a Signal element in the model. You can type the arguments corresponding to the Signal attributes into the Argument(s) field.

When you click on the Signal button, the Select *Signal dialog displays, through which you locate and select the required Signal element. (The Select *Signal dialog is a variation of the Select <Item> dialog.)

Learn More

  • Message Properties Dialog


Co-Region Notation [Enterprise Architect User Guide]

Co-Region Notation

Co-Region notation can be used as a short hand for parallel combined fragments. To access the Co-Region submenu, right-click on a connector in a Sequence diagram and select the Co-Region context menu option. There are four sub-options available:

  • Start at head
  • End at head
  • Start at tail
  • End at tail.


Message (Communication Diagram) [Enterprise Architect User Guide]

Message (Communication Diagrams)

 Return to Introduction

A Message in a Communication diagram is equivalent in meaning to a Message in a Sequence diagram. It implies that one object uses the services of another object, or sends a message to that object. Communication Messages in Enterprise Architect are always associated with an Association connector between object instances. Always create the Association first, then add a Message to the connector.

Messages can be dragged into a suitable position by clicking and dragging on the message text.

Communication Messages are ordered to reflect the sequencing of the diagram. The numbering scheme should reflect the nesting of each event. A sequencing scheme could be:

1
2, 2.1, 2.2, 2.3
3.

This would indicate the single sequence of events 2.1, 2.2 and 2.3 occurs within an operation initiated by event 2. This is the default pattern applied by Enterprise architect

Alternatively, the sequence could be:

1
2, 2.1, 2.1.1, 2.1.1.1
2.2, 2.2.1, 2.2.1.1
3

This would indicate that two sequences of events can be initiated by event 2, and 2.1 and 2.2 are separate sequences, not consecutive events in one sequence. You can set the sequence pattern and order using the Message Properties dialog and the Sequence Communications dialog.

If the target object is a Class or has its instance classifier set, the drop-down list of possible message names includes the exposed operations for the base type.

Learn More:

  • Communication Diagram
  • Create a Communication Message
  • Re-Order Messages


Create a Communication Message [Enterprise Architect User Guide]

Create a Communication Message

How to:

To create a Communication Message, follow the steps below

Step | Action
1 | Open a diagram (one of: Communication, Analysis, Interaction Overview, Object, Activity or State Machine)
2 | Add the required objects
3 | Add an Association relationship between each pair of objects that communicate
4 | Right-click on an Associate to display the context menu
5 | Select the option to add a Message from one object to the other
6 | When the Message Properties dialog displays, type in a name and any other required details
7 | Click on the OK button The Message is added, connected to the Association and Object instances
8 | Move the Message to the required position

Learn More:

  • Communication Message
  • Message Properties Dialog


Re-Order Messages [Enterprise Architect User Guide]

Re-Order Messages

When constructing your Communication diagram, it is frequently necessary to create or delete Message 'groups' and to re-order the sequence of Messages. There are two dialogs that help you perform these tasks: the Message Properties dialog and the Sequence Communications dialog.

Organize Message Groups:

If you have several Messages in the form 1.1, 1.2, 1.3, 1.4, for example, but would like to start a new numbering group on, say, the third Message (that is, 1.1, 1.2, 2.1, 2.2, 2.3 ), you can change a Message in the series to a Start Group message.

How to:

To reorganize message groups, follow the steps below:

Step | Action
1 | Double-click on a Message name The Message Properties dialog displays
2 | To make the selected Message the start of a new group, select the Start New Group checkbox
3 | If required, in the Notes field, type an explanatory note You can format the text using the Notes toolbar at the top of the field
4 | Click on the OK button to save changes

Sequence Messages:

In larger and more complex diagrams, you might have to use deeper levels of Messages in a group; for example, 1, 1.2, 1.2.1, 1.2.1.1. You might also have to change the sequence of Messages, making Message 1.3, for example, into Message 1.1.

How to:

To change the sequence or level of Messages, follow the steps below:

Step

Action

1

Either:

  • Select the Diagram | Advanced | Sequence Messages menu option
  • Click on the diagram background and select the Sequence Communication Messages context menu option or
  • Right-click on a Message and select the Sequence Communication Messages context menu option

The Communication Messages dialog displays

2

Click on the Message to adjust and, at the bottom of the dialog, click on the:

  • 'Up Hand' or 'Down Hand' buttons to move the Message up or down the sequence (e.g. Message 1.2 to Message 1.1 or 1.3)
  • 'Left Hand' or 'Right Hand' buttons to move the Message up or down a level (e.g. Message 1.2.1 to Message 1.2 or Message 1.2.1.1)

3

Repeat step 2 until the Message sequence and levels match your requirements

You might have to adjust other Message numbers (in group, sequence or level) to accommodate the changes you have made

4

Click on the OK button to save changes

Learn More

  • Communication Message


Message (Timing Diagram) [Enterprise Architect User Guide]

Message (Timing Diagram)

 Return to Introduction

Messages are the communication links between Lifelines in a Timing diagram. In the case of a Timeline, a Message is a connection between two Timeline objects.

See UML Superstructure Specification, v2.1.1, figures 14.30 and 14.31, p. 520.

Toolbox Icon

Learn More

  • Timing Diagram
  • Lifeline
  • Create a Timing Message


Create a Timing Message [Enterprise Architect User Guide]

Create a Timing Message

To create a Message in a Timing diagram, at least two Lifeline objects (State or Value) must be created first, each with existing transition points.

How to:

To create a Message between Lifelines, follow the steps below:

Step | Action
1 | Click on one of the Lifelines in the Timing diagram
2 | Select the Message icon from the Timing Relationships page of the Toolbox (More tools | Timing)
3 | Drag the cursor onto the Lifeline at the point at which the Message originates The Timing Message dialog displays (if not, double-click on the Message)
4 | The dialog consists of a set of transition points Each transition point can be defined with the properties listed in the following table
Property | Description
Start | Defines the lifeline where the message originates
End | Defines the lifeline where the message terminates

The following properties are set by default when a Message is created by dragging the cursor between two Lifelines.

Property | Description
Start Time | Specifies the start time for a message
End Time | Specifies the end time for a message
Name | The name of the message
Time Observation | Provides information on the time of a sent message
Duration Observation | Indicates the interval of a Lifeline at a particular state, begun from a message receipt
Transition To | The state in the target Lifeline that the Message points to
Event | The occurring event
Time Constraint | The time taken to transmit a message
Duration Constraint | Pertains to a lifeline's period at a particular state The constraint could be instigated by that Lifeline's receipt of a message

The following diagram shows an example of a configured Message:

See UML Superstructure Specification, v2.1.1, figures 14.30 and 14.31, p. 520.

Notes:

  • You can move the source end of the Message freely along the source timeline; however, the target end (arrow head) must attach to a transition
  • If you create a new Message and do not give it a target transition, it automatically finds and attaches to the nearest transition; if you move the target end, it drags the transition with it

Learn More

  • Timing Diagram
  • Timing Message
  • State Lifeline
  • Value Lifeline


Nesting [Enterprise Architect User Guide]

Nesting

Description:

The Nesting Connector is an alternative graphical notation for expressing containment or nesting of elements within other elements. It is most appropriately used for displaying Package nesting in a Package diagram.

Toolbox Icon:

Learn More:

  • Package Diagram


Notelink [Enterprise Architect User Guide]

Notelink

Description

A Notelink connector connects a Note to one or more other elements of any other type.

Both Note and Notelink are available in any category of the Toolbox, in the Common page. You can also select them from the UML Elements toolbar.

Toolbox Icon


Object Flow [Enterprise Architect User Guide]

Object Flow

Description

Object Flows are used in Activity diagrams and State Machine diagrams. When used in an Activity diagram, an Object Flow connects two elements, with specific data passing through it. To view sample Activity diagrams using Object Flows, see the Object Flows in Activity Diagrams topic.

In State Machine diagrams, an Object Flow is a specification of a state flow or transition. It implies the passing of an Object instance between elements at run-time.

You can insert an Object Flow from the State or Activity pages of the Toolbox, or from the drop-down list of all relationships located in the header toolbar. You can also modify a transition connection to an Object Flow by selecting the ObjectFlow checkbox on the connection Properties dialog.

See the Control Flow topic for information on setting up Guards and Weights on Object Flows.

Toolbox Icon

See Also

  • Object Flows in Activity Diagrams

Learn More

  • Activity Diagram
  • Control Flow

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 389) states:

An object flow is an activity edge that only passes object and data tokens.


Object Flows in Activity Diagrams [Enterprise Architect User Guide]

Object Flows in Activity Diagrams

In Activity diagrams, there are several ways to define the flow of data between objects.

The following diagram depicts a simple Object Flow between two actions, Fill Order and Ship Order, both accessing order information.

Activity - ObjectFlow1

See UML Superstructure Specification, v2.1.1, figure 12.110, p. 391.

This explicit portrayal of the data object Order, connected to the Activities by two Object Flows, can be refined by using the following format. Here, Action Pins are used to reflect the order.

Activity - ObjectFlow2

See UML Superstructure Specification, v2.1.1, figure 12.110, p. 391.

The following diagram is an example of multiple Object Flows exchanging data between two actions.

Activity - ObjectFlow4

See UML Superstructure Specification, v2.1.1, figure 12.111, p. 391.

Selection and transformation behavior, together composing a sort of query, can specify the nature of the Object Flow's data access. Selection behavior determines which objects are affected by the connection. Transformation behavior might then further specify the value of an attribute pertaining to a selected object.

Selection and transformation behaviors can be defined by attaching a note to the Object Flow. To do this, right-click on the Object Flow and select the Attach Note or Constraint context menu option. A dialog lists other flows in the diagram, to which you can select to attach the note, if the behavior applies to multiple flows. To comply with UML 2, preface the behavior with the notation «selection» or «transformation».

Activity - ObjectFlow3

See UML Superstructure Specification, v2.1.1, figure 12.112, p. 392.


Occurrence [Enterprise Architect User Guide]

Occurrence

Description

An Occurrence relationship indicates that a Collaboration represents a classifier, in a Composite Structure diagram. An Occurrence connector is drawn from the Collaboration to the classifier.

Toolbox Icon

Learn More

  • Collaboration
  • Composite Structure Diagram


Package Import [Enterprise Architect User Guide]

Package Import

Description

A Package Import relationship is drawn from a source Package to a Package whose contents are to be imported. Private members of a target Package cannot be imported. The relationship is typically used in a Package diagram.

Toolbox Icon

Learn More

  • Package
  • Package Diagram

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 112) states:

A package import is a relationship between an importing namespace and a package, indicating that the importing namespace adds the names of the members of the package to its own namespace. Conceptually, a package import is equivalent to having an element import to each individual member of the imported namespace, unless there is already a separately-defined element import.


Package Merge [Enterprise Architect User Guide]

Package Merge

Description

In a Package diagram, a Package Merge indicates a relationship between two Packages whereby the contents of the target Package are merged with those of the source Package. Private contents of a target Package are not merged. The applicability of a Package Merge addresses any situation where multiple packages contain identically-named elements, representing the same thing. A Package Merge merges all matching elements across its merged Packages, along with their relationships and behaviors. Note that a Package Merge essentially performs generalizations and redefinitions of all matching elements, but the merged Packages and their independent element representations still exist and are not affected.

The Package Merge serves a graphical purpose in Enterprise Architect, but creates an ordered Package relationship applied to related Packages (which can be seen under the Link tab in the Package's Properties dialog). Such relationships can be reflected in XMI exports or Enterprise Architect Automation Interface scripts for code generation or other Model Driven Architecture (MDA) interests.

Package Merge relationships are useful to reflect situations where existing architectures contain functionalities involving like elements, which are merged in a developing architecture. Merging doesn't affect the merged objects, and supports the common situation of product progression.

Toolbox Icon

Learn More

  • Package Diagram
  • Package

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 113-114) states:

A package merge is a directed relationship between two packages that indicates that the contents of the two packages are to be combined. It is very similar to Generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both.

This mechanism should be used when elements defined in different packages have the same name and are intended to represent the same concept. Most often it is used to provide different definitions of a given concept for different purposes, starting from a common base definition. A given base concept is extended in increments, with each increment defined in a separate merged package. By selecting which increments to merge, it is possible to obtain a custom definition of a concept for a specific end. Package merge is particularly useful in meta-modeling and is extensively used in the definition of the UML metamodel.

Conceptually, a package merge can be viewed as an operation that takes the contents of two packages and produces a new package that combines the contents of the packages involved in the merge. In terms of model semantics, there is no difference between a model with explicit package merges, and a model in which all the merges have been performed.


Realize [Enterprise Architect User Guide]

Realization

Description

A source object implements or Realizes its destination object. Realize connectors are used in a Use Case, Component or Requirements diagram to express traceability and completeness in the model. A business process or Requirement is realized by one or more Use Cases, which in turn are realized by some Classes, which in turn are realized by a Component, and so on. Mapping Requirements, Classes and such across the design of your system, up through the levels of modeling abstraction, ensures the big picture of your system remembers and reflects all the little pictures and details that constrain and define it.

You can also define template binding parameters for a Realize connector between a binding Class and a parameterized Class.

Toolbox Icon

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 131) states:

A Realization signifies that the client set of elements are an implementation of the supplier set, which serves as the specification. The meaning of 'implementation' is not strictly defined, but rather implies a more refined or elaborate form in respect to a certain modeling context. It is possible to specify a mapping between the specification and implementation elements, although it is not necessarily computable.


Recursion [Enterprise Architect User Guide]

Recursion

Description

A Recursion is a type of Message used in Sequence diagrams to indicate a recursive function.

Toolbox Icon

Learn More

  • Message
  • Sequence Diagram


Role Binding [Enterprise Architect User Guide]

Role Binding

Description:

Role Binding is the mapping between a Collaboration Use's internal roles and the respective Parts required to implement a specific situation, typically in a Composite Structure diagram. The associated Parts can have properties defined to enable the binding to occur, and the Collaboration to take place.

A Role Binding connector is drawn between a Collaboration and the classifier's fulfilling roles, with the Collaboration's internal binding roles labeled on the classifier end of the connector.

Toolbox Icon:

Learn More:

  • Collaboration Use
  • Composite Structure Diagram
  • Collaboration

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 174) states:

A mapping between features of the collaboration type and features of the classifier or operation. This mapping indicates which connectable element of the classifier or operation plays which role(s) in the collaboration. A connectable element may be bound to multiple roles in the same collaboration use (that is, it may play multiple roles).


Represents [Enterprise Architect User Guide]

Represents

Description:

The Represents connector indicates that a Collaboration is used in a classifier, typically in a Composite Structure diagram. The connector is drawn from the Collaboration to its owning classifier.

Toolbox Icon:

Learn More:

  • Collaboration
  • Composite Structure Diagram


Representation [Enterprise Architect User Guide]

Representation

Description:

The Representation relationship is a specialization of a Dependency, connecting Information Item elements that represent the same idea across models, typically in an Analysis diagram. For example, Bonus and Salary are both a representation of the Information Item Wage.

Toolbox Icon:

Learn More:

  • Dependency
  • Information Item
  • Analysis diagram


Template Binding [Enterprise Architect User Guide]

Template Binding

Description:

You create a Template Binding connector between a binding Class and a parameterized Class. You then define a binding expression on that connector. However, if the binding Class requires a Generalization, Realization or Association relationship with the parameterized Class, you can define the binding expression on that relationship instead.

You can create a Template Binding connector using:

  • The Template Binding icon on the Class Relationships page of the Diagram Toolbox
  • The Quicklinker arrow next to the source Class element
  • The Templates tab of the binding Class element Properties dialog; here, you create the Template Binding relationship by clicking the Add button under the Binding(s) panel, specifying the connector type, and selecting the target parameterized Class from the Select <Item> dialog

Each of these methods creates the connector itself. For the first two methods you then double-click on the connector to display the connector Properties dialog, on which you select the Binding tab to define parameter substitutions as the binding expression. The third method takes you to this dialog and tab automatically.

Toolbox Icon:

Learn More:

  • Parameterized Class
  • Parameter Substitution

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 622) states:

A template is a parameterized element ... used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding.


Parameter Substitution [Enterprise Architect User Guide]

Parameter Substitution

Once a Template Binding (or other binding) relationship exists, you can add parameter substitutions to identify the formal parameters that are replaced, and the actual parameters that replace them, in the binding expression.

How to:

To define a parameter substitution, follow the steps below:

Step

Action

1

Display the Binding tab, in the Template Binding connector Properties dialog

The Target field identifies the target parameterized Class

2

Click on the Add button below the Parameter Substitution(s) panel

The next available row in the panel is enabled for editing, and the word <none> is displayed in the Formal column

3

Click on the field and on the drop-down arrow that is now displayed

A list of the template parameters from the target Class displays; click on the required parameter

4

Click on the ( ... ) button in the corresponding Actual field for the parameter

If the template parameter:

  • Does not have a constraint, a short context menu displays offering the choice of typing a free-text value into the Actual field, or selecting a classifier from the Select Classifier dialog
  • Has a constraint defined, the Select Classifier dialog displays automatically, showing the available classifiers

5

Locate and select the required classifier to replace the parameter in the binding expression

If you do not define an Actual classifier and the template parameter has a default value defined, that default is used in the expression

6

To edit existing parameter substitutions, click on them and make the required changes as indicated in steps 3 and 4

7

Click on the Apply and/or OK button

The parameter substitutions display as a label underneath the connector

Learn More:

  • Template Binding


Trace [Enterprise Architect User Guide]

Trace

Description:

The Trace relationship is a specialization of a Dependency, connecting model elements or sets of elements that represent the same concept across models. Traces are often used to track requirements and model changes, typically in a Traceability diagram, or in a Class, Use Case, Object or Composite Structure diagram.

As changes can occur in both directions, the order of this Dependency is usually ignored. The relationship's properties can specify the trace mapping, but the trace is usually bi-directional, informal and rarely computable.

Toolbox Icon:

Learn More:

  • Dependency
  • Traceability Diagram


Transition [Enterprise Architect User Guide]

Transition

Description:

A Transition defines the logical movement from one State to another, in a State Machine diagram. The Transition can be controlled through the following connector Properties dialog fields:

Field

Action

See also

Guard

Type in the expression that is to be evaluated after an Event is dispatched, but before the corresponding Transition is triggered

If the guard is true at that time, the Transition is enabled; otherwise, it is disabled

Effect is a Behavior

Convert the Effect field from a free-text field to the definition of a specific Activity or behavior

Enterprise Architect displays the Select <Item> dialog to prompt you to select the Activity or behavior element from the model

Select <Item> Dialog

Effect

Either:

  • Type a description of the effect of the Transition, or
  • If you have selected the Effect is a Behavior check box, select an Activity or behavior to be performed during the Transition (to change this subsequently, click on the ( ... ) button to redisplay the Select <Item> dialog)

Trigger

Name

Specify the name of the trigger; either:

  • Type the name, or
  • Select an existing trigger in the model using the Select <Item> dialog, which you display by clicking on the ( ... ) button

Type

Specify the type of trigger: Call, Change, Signal or Time:

  • Call - specifies that the event is a CallEvent, which sends a message to the associated object by invoking an operation
  • Change - specifies that the event is a ChangeEvent, which indicates that the transition is the result of a change in value of an attribute
  • Signal - specifies that the event is a SignalEvent, which corresponds to the receipt of an asynchronous signal instance
  • Time - corresponds to a TimeEvent; which specifies a moment in time

Code generation for State Machines currently supports Change and Time trigger events only, and expects a specification value

Specification

Specify the event instigating the Transition; either:

  • Type the event (time or change), or
  • Select an existing specification in the model using the Select <Item> dialog, which you display by clicking on the ( ... ) button

New

Clear the fields ready to begin defining a new trigger

Save

Save the newly created or edited trigger

Delete

Remove the selected trigger from the list

<trigger list>

List the existing triggers, which might or might not have names and types, and which can include Call and Signal triggers created in older models

Notes:

  • Fork and Join segments can have neither triggers nor guards
  • You can identify hidden triggers and locate triggers in the Project Browser, using the Find Triggers Associated option on the Transition connector context menu - if one trigger exists for the Transition, it is immediately highlighted in the Project Browser; if more than one trigger exists, the Element Usage dialog displays; select the required trigger and click on the Open button to highlight the trigger in the Project Browser

Toolbox Icon:

Learn More:

  • State Machine Diagrams

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 568) states:

A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type.


Use [Enterprise Architect User Guide]

Use

Description:

A Use relationship indicates that one element requires another to perform some interaction. The Use (or Usage) relationship does not specify how the target supplier is used, other than that the source client uses it in definition or implementation. A Use relationship is a sub-typed Dependency relationship.

You typically use the Use relationship in Use Case diagrams to model how Actors use system functionality (Use Cases), or to illustrate usage dependencies between Classes or Components.

Notes:

  • It is more usual (and correct UML) to have an Association between an Actor and a Use Case
  • To depict a usage dependency on a Class or Component diagram, draw a Dependency connector; right-click on the Dependency, and select the Dependency Stereotypes | Use context menu option

Toolbox Icon:

Learn More:

  • Use Case Diagram
  • Association

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 138) states:

A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. In the metamodel, a Usage is a Dependency in which the client requires the presence of the supplier.


UML Stereotypes [Enterprise Architect User Guide]

UML Stereotypes

UML supports a large number of stereotypes, which are an inbuilt mechanism for logically extending or altering the meaning, display and syntax of a model element. Different model elements have different standard stereotypes associated with them.

For further definition of stereotypes, see the OMG UML specification (UML Superstructure Specification, v2.1.1, section 18.3.8, pp. 667-672).

A stereotype is generally displayed as in the example below (where «myStereotype2» is the stereotype).

In some cases the stereotype causes the element to be drawn differently, as below:

New, or customized, stereotypes can be created. Stereotypes can also be associated with new shapes, using either metafiles (image files) and colors or Shape Scripts, to apply non-UML shapes to elements and connectors. For further information on customizing stereotypes and applying Shape Scripts, see the MDG Technology SDK topic.

Learn More:

  • Apply Stereotypes
  • Stereotype Selector
  • Stereotype Visibility
  • Standard Stereotypes
  • Stereotypes with Alternative Images
  • MDG Technology SDK
  • Customizing Stereotypes
  • Shape Scripts


Apply Stereotypes [Enterprise Architect User Guide]

Apply Stereotypes

Enterprise Architect enables you to apply one or more stereotypes to any UML construct, including:

  • Elements (such as Classes and Objects)
  • Relationships (such as Dependencies and Associations)
  • Association Ends
  • Attributes and Operations
  • Operation Parameters

How to:

To apply a stereotype to any UML construct, using the Properties dialog, select any one of the following steps

Step | Action
1 | In the Stereotype field, type the stereotype(s) to apply as a comma-separated list
2 | Click on the drop-down arrow and select the required stereotype from the list
3 | Click on the ( ... ) button to use the Stereotype Selector dialog

To apply a stereotype to an element using the Properties window, select any of the following steps

Step | Action
1 | In the Stereotype field, type the stereotype(s) to apply as a comma-separated list
2 | Click on the drop-down arrow and select the required stereotype from the list
3 | Select the browse other stereotypes... option in the drop-down list to use the Stereotype Selector dialog


Stereotype Selector [Enterprise Architect User Guide]

Stereotype Selector

The Stereotype Selector dialog enables you to apply one or more stereotypes to a UML construct, from multiple stereotype sources such as Profiles or the Custom Stereotypes list. The appearance of the stereotype is influenced by the stereotype visibility settings on the Diagram Properties dialog.

How to:

To select stereotypes to apply/remove, follow the steps below:

Step | Action
1 | On the element or connector Properties dialog, click on the ( ... ) button near the Stereotype field The Stereotype for:<object type> dialog displays
2 | Click on the Profile drop-down arrow and choose the required stereotype source
3 | In the Stereotypes list, enable or disable the required stereotype by selecting or deselecting the checkbox against it
4 | Click on the OK button to apply the selection

You can also define a new stereotype to apply to the required construct by clicking on the New... button and entering the name of the new stereotype when prompted

Learn More:

  • Applying Stereotypes
  • Stereotype Visibility


Stereotype Visibility [Enterprise Architect User Guide]

Stereotype Visibility

You control the visibility of applied stereotypes using three options in the diagram Properties dialog. Select:

  • The Show Element Stereotypes checkbox (on the Elements page) to show or hide all element stereotypes in the current diagram
  • The Show Stereotypes checkbox (for features, on the Features page) to show or hide all attribute and operation stereotypes in the current diagram
  • The Use Stereotype Icons checkbox (on the Elements page) to display icons, instead of strings, for those stereotypes that have icons defined.

The example below shows how a Class would appear having multiple stereotypes applied to it:

Use Stereotype Icons disabled: displays all the applied stereotypes in a comma-separated string within «guillemets».

Use Stereotype Icons enabled: displays icons for those stereotypes with icons defined. Stereotypes without icons defined are still displayed in the comma-separated string.


Standard Stereotypes [Enterprise Architect User Guide]

Standard Stereotypes

Below is a list of standard element stereotypes (as provided in the EABase.eap base model), each enclosed by guillemets (« »):

Stereotype | Base Class
«access» | Dependency
«become» | Flow
«call» | Usage
«copy» | Flow
«create» | Message
«derive» | Abstraction
«destroy» | Message
«document» | Abstraction
«executable» | Abstraction
«facade» | Package
«file» | Abstraction
«framework» | Package
«friend» | Dependency
«global» | AssociationEnd
«implementation» | Class
«implementation» | Generalization
«import» | Dependency
«instantiate» | Usage
«invariant» | Constraint
«library» | Abstraction
«local» | AssociationEnd
«metaclass» | Class
«parameter» | AssociationEnd
«postcondition» | Constraint
«powertype» | Class
«precondition» | Constraint
«process» | Classifier
«refine» | Abstraction
«requirement» | Comment
«responsibility» | Comment
«self» | AssociationEnd
«send» | Usage
«stub» | Package
«table» | Abstraction
«thread» | Classifier
«trace» | Abstraction
«type» | Class
«utility» | Classifier


Stereotypes with Alternative Images [Enterprise Architect User Guide]

Stereotypes with Alternative Images

You can alter the appearance of elements using stereotypes. This does not apply to elements that include Lifelines, such as those in Sequence diagrams.

If the stereotype has an associated metafile, when the stereotype is applied to a Class or other element that supports alternative graphical format, Enterprise Architect then draws the alternative image instead of the standard one.

Stereotype Metafile Association


UML Patterns [Enterprise Architect User Guide]

UML Patterns

Patterns are a group of collaborating Objects/Classes that can be abstracted from a general set of modeling scenarios. They are also known as parameterized collaborations.

Patterns are an excellent means of achieving re-use and building in robustness. As patterns are discovered in any new project, the basic pattern template from previous engagements can be re-used with the appropriate variable names modified for the current project.

Patterns generally describe how to solve an abstract problem, and it is the task of the pattern user to modify the pattern elements to meet the demands of the current engagement.

Before using a pattern it must first be created as a standard UML diagram and then saved as an XML pattern file. This XML file can then be imported as a UML resource that can be used in any model.

Sparx-Created GoF Patterns

To get you started with design patterns in Enterprise Architect, Sparx Systems provides you with an MDG technology for the patterns described in the book Design Patterns - Elements of Reusable Object-Oriented Software by Gamma et al., referred to as the 'Gang of Four' or GoF. These patterns are made available through a set of Toolbox pages.

The pattern elements are drawn from the EABase.eap file, through the Resources window hierarchy. Therefore, if you are developing your model in a DBMS repository (or you inadvertently delete the GoF patterns from your .eap file) you can download them as a 'zip' file from www.sparxsystems.com/uml_patterns.html.

Because the patterns are drawn from the Resources window, if you delete a pattern in the Resources window the equivalent Toolbox item cannot work. Therefore, if you cannot drop a pattern element from the Toolbox, check that it is still available in the Resources window.

See Also

  • Create a Pattern
  • Import a Pattern
  • Use a Pattern

Learn More

  • GoF Patterns


Create a Pattern [Enterprise Architect User Guide]

Create a Pattern

To create a Pattern you first must model the Pattern as a standard UML diagram within Enterprise Architect. The following diagram was created from an example in the GoF book Design Patterns - Elements of Reusable Object-Oriented Software by Gamma et al.

Example of a GoF Pattern Diagram

How to:

To save a diagram as a Pattern, follow the steps below:

Step

Action

See Also

1

Select the Diagram | Advanced | Save UML Pattern menu option

The Save Diagram as UML Pattern dialog displays

2

In the Pattern Name field, type the Pattern name

3

In the Filename field, type a directory path and .XML filename into which to save the Pattern

4

In the Category field, type the Category under which the Pattern should be listed in UML Patterns (required)

5

In the Version field, type the Pattern version number, and in the Notes field type any notes on the Pattern

6

Select the actions for the elements that are contained in the Pattern by selecting the appropriate checkboxes; these actions are performed when the Pattern is used

The available actions are:

  • Create: Creates the Pattern element directly without modification
  • Merge: Merges the Pattern element with an existing element, enabling the existing element to take on the role of the selected Pattern element
  • Instance: Creates the Pattern element as an instance of an existing element
  • Type: Creates the Pattern element types as an existing element

If your Pattern includes an Object element, you would use Instance to set the classifier of the Object to one of the Classes in the diagram onto which you are dropping the Pattern

If your Pattern includes a Property (Port or Part) you would use Type to set the type of the Property to one of the Classes in the diagram onto which you are dropping the Pattern

Use a Pattern

7

To change the name of one of the elements, double-click on the element to display the Edit dialog

From this dialog you can also add comments detailing the element's purpose

8

Click on the OK button twice to save the Pattern

Once saved you can load it into Enterprise Architect as a Pattern in the Resources window

Import a Pattern

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Diagrams permission to save a diagram as a Pattern
  • If your source diagram contains information flows, the Information Items Conveyed and Information Flows Realized data is not copied into the Pattern


Import a Pattern [Enterprise Architect User Guide]

Import a Pattern

Before using a previously created Pattern file in a UML model, you must first import it into the model; it is then available from the Resources window and optionally from the Toolbox

How to:

To import a UML Pattern you have previously saved, follow the steps below:

Step | Action
1 | Select the Resources window
2 | Right-click on the UML Patterns node The context menu displays
3 | Select the Import UML Pattern menu option The Select UML Pattern Import Filename dialog displays
4 | Locate the XML file to import
5 | Click on the Open button to import the Pattern The imported Pattern is placed in the appropriate category as defined in the XML file; if the category does not already exist under UML Patterns, a new one is created

Gang of Four patterns are integrated with Enterprise Architect in the EABase.eap file; however, if you create your model in a DBMS repository (or you inadvertently delete the patterns from your model .eap file) you can use the above procedure to download examples of the Gang of Four patterns from the GoF Patterns zip file on the Sparx Systems website.

Learn More:

  • Create a Pattern
  • GoF Patterns zip file


Use a Pattern [Enterprise Architect User Guide]

Use a Pattern

Using a Pattern enables you to rapidly create template solutions for code structures that perform the same type of task in other situations, and to use items defined in the Pattern with the UML model

How to:

To use a Pattern that you have previously imported into the model, follow the steps below:

Step

Action

See Also

1

Open the diagram into which to add the UML Pattern

2

Select the Resources window

3

Expand the UML Pattern folder and find the Pattern to add

4

Either:

  • Right-click on the Pattern and select the Add Pattern to Diagram context menu option or
  • Drag and drop the Pattern from the Resources window onto the diagram

You can also view the Pattern details in read-only mode by selecting the View Pattern Details context menu option

Add Pattern Dialog

5

Once the appropriate selections have been made, click on the OK button to import the Pattern into the model, recreating the original diagram with new GUIDs

To change the default of the Pattern element, follow the steps below:

Step | Action | See Also
1 | From the Add Pattern dialog select the individual element in the Pattern Element panel |
2 | Click on the ( ... ) button to display the Edit dialog The specific method for changing the element name is dependant upon the entry in the Action column of the Pattern Elements panel |
3 | If the Action entry is Create, then in the Default field in the Edit dialog delete the existing value and type your own, user-defined value Click on the OK button The element default is updated on the Add Pattern dialog |
4 | If the Action entry for the element is Merge, in the Edit dialog click on the ( ... ) button to browse to an existing element classifier The Select <Item> dialog displays |
5 | Locate and select an existing element classifier You can restrict the number of choices by selecting the elements from a specific namespace; to do this, click on the In Namespace drop-down arrow and select a namespace | Using Classifiers

Learn More:

  • Import a Pattern


Add Pattern Dialog [Enterprise Architect User Guide]

Add Pattern Dialog

The Add Pattern dialog displays when you are using or editing a Pattern element.

Panel

Action

Preview

Display a preview of the Pattern; click on the Preview link to open a view of the Pattern and drag the sides into as large a picture as you require

Pattern Elements

Access the individual elements contained in the Pattern

From here you can:

  • Select the action for the individual element (Create, Merge, Instance or Type, as applicable for each element) by clicking on the drop-down arrow, or
  • Modify the default of the Pattern element or - for a merged element - choose the namespace, by clicking on the ( ... ) button on the right of the Default entry

Element Notes

Display the comments that describe the element in the Pattern

Highlight an element in the Pattern Elements panel to view the notes


UML Profiles [Enterprise Architect User Guide]

UML Profiles

UML Profiles provide a means of extending UML, which enables you to build UML models in particular domains. They are based on additional stereotypes and Tagged Values that are applied to elements, attributes, methods, connectors, connector ends and so on. A Profile is a collection of such extensions that together describe some particular modeling problem and facilitate modeling constructs in that domain. For example, the UML Profile for XML describes a set of extensions to basic UML model elements to enable accurate modeling of XSD Schemas (see Modeling XML Applications with UML, David Carlson, p. 310).

Enterprise Architect has a generic UML Profile mechanism for loading and working with different Profiles. UML Profiles for Enterprise Architect are specified in XML files, with a specific format. You can reference these XML files in Enterprise Architect as part of an MDG Technology or import them through the Resources window. Once imported, you can drag and drop Profile elements onto the current diagram. Enterprise Architect attaches the stereotype, Tagged Values and default values, notes and metafile if one is specified, to the new element. You can also drag and drop attributes and operations onto existing Classes and have them immediately added with the specified stereotype and values.

The imported Profile also automatically generates a page of elements and relationships in the Toolbox.

Profiles in the Resources Window:

The Resources window contains a tree structure with entries for items such as MDG Technologies, Documents, Stylesheets, Matrix profiles and UML Profiles. The UML Profiles node initially contains no entries; to be able to use Profiles you must import them into Enterprise Architect from supplied XML files.

Items in the Profile represent stereotypes. These can be applied to UML elements in the following ways:

  • Stereotypes that apply to elements such as Classes and interfaces can be dragged directly from the Resources window to the current diagram, automatically creating a stereotyped element; alternatively, they can be dragged onto existing elements, automatically applying them to the element
  • Stereotypes that apply to attributes can be drag-and-dropped onto a host element (such as a Class); a stereotyped attribute is automatically added to the element's feature list
  • Stereotypes that apply to operations are like those that apply to attributes; drag-and-drop onto a host element to add the stereotyped operation
  • Stereotypes that apply to connectors such as associations, generalizations, messages and dependencies are added by selecting them in the Project Browser, then clicking on the start element in a diagram and dragging to the end element (in the same manner as adding normal connectors); a stereotyped connector is added
  • Stereotypes that apply to association ends can be added by dragging the connector end element over the end of an Association in the diagram

To get you started, some Profiles are supplied on the Sparx Systems website. You can download these and import them into Enterprise Architect. Over time Sparx Systems intend to expand the range of Profiles, the content of each Profile and the degree of customization possible in each Profile.

You can also create your own Profiles to describe modeling scenarios specific to your development environment.

Learn More:

  • MDG Technology
  • MDG Technology SDK
  • Import a UML Profile
  • Add Profile Objects to a Diagram
  • Tagged Values in Profiles
  • Synchronize Tagged Values and Constraints
  • Profiles webpage


Import a UML Profile [Enterprise Architect User Guide]

Import a UML Profile

To import a Profile you must have a suitable Profile XML file, such as the Profiles supplied on the Sparx Systems website. If the Profile includes references to any metafiles, they should be in the same directory as the Profile XML file.

How to:

To import a Profile, follow the steps below:

Step

Action

1

Open the Resources window

2

Right-click on the UML Profiles tree node and select the Import Profile context menu option

The Import UML Profile dialog displays

3

Locate the XML Profile file to import using the ( ... ) (Browse) button

4

Set the required import option checkboxes for all stereotypes defined in the Profile; you can select:

  • Element Size - to import the element size attributes
  • Color and Appearance - to import the color (background, border and font) and appearance (border thickness) attributes
  • Alternate Image - to import the metafile image
  • Code Templates - to import the code templates if they exist
  • Overwrite Existing Templates - to overwrite any existing code templates defined in the current project

5

Click on the Import button

The Profile is added to the UML Profiles folder

Notes:

  • If the Profile already exists, Enterprise Architect prompts you to overwrite the existing version and import the new one (or cancel); once the import is complete, the Profile is ready to use
  • This topic describes importing a stand-alone Profile; you can also embed Profiles in an MDG Technology and import the Technology file into the Enterprise Architect installation directory

Learn More

  • Profiles webpage
  • Add Profile Objects and Features to a Diagram
  • Creating MDG Technologies
  • Deploying MDG Technologies


Add Profile Objects to a Diagram [Enterprise Architect User Guide]

Add Profile Objects to a Diagram

After you have imported a Profile into the Resources window, the profiled objects (elements and connectors) and features (attributes and operations) are available from the expanded Profile folder in the window and from the appropriate pages of the Toolbox (click on the More tools option at the top of the Toolbox).

Similarly, when you import an MDG Technology, it adds the appropriate pages of profiled elements and connectors to the Toolbox.

Action

Description

Add a Profile-based element to a diagram

Click on the element in the Toolbox page or the Resources window, and drag it onto the diagram

Add a Profile-based connector to a diagram

Click on the connector in the Toolbox page or Resources window, then click on the source element in the diagram and drag it to the target

You can also drag the connector from the Resources window to the source, which automatically displays a list box of target elements; select a target from the list to create the connector to that target

Add a profile-based attribute or operation to a diagram

Click on the attribute or operation in either the Toolbox page or the Resources window, and drag it onto the host element on the diagram

The system prompts you to enter a name for the feature

Learn More:

  • Toolbox
  • MDG Technology


Tagged Values in Profiles [Enterprise Architect User Guide]

Tagged Values in Profiles

Stereotypes within a UML Profile can have one or more associated Tagged Values. When you create an element based on a UML Profile Stereotype by dragging from the Resources window to a diagram, any associated Tagged Values are added to the element as well. Tagged Values and Profiles are an excellent way to extend the use of Enterprise Architect and the power of UML modeling.

For example, in the UML Profile for XSD, there is an XSDComplexType stereotype, which has the following Tagged Value declaration:

<TaggedValues>

<Tag name="mixed" description="Determines whether this element can contain mixed element and character content. See the W3C XML Schema recommendation"/>

<Tag name="modelGroup" description="Overrides the package-level default model group" values="all | sequence | choice" default="sequence"/>

<Tag name="memberNames" description="Overrides the package-level default for naming complexType definitions"/>

</TaggedValues>

When you create an element from the XSDComplexType stereotype (by dragging from the Profile Elements page of the Toolbox onto a diagram), the Tagged Values are added automatically.

Tagged Values that have default values are automatically set and displayed in the element tags section, if applicable. When you select the element, the Tagged Values window displays all the associated tags, including ones that have no value set. Also note that Tagged Values in the Profile that have a Values section (for example, values="element | attribute | both" default="both") enable you to select the non-default values from a drop-down list. Where no Value list exists, the tag accepts free text.

Learn More:

  • Predefined Structured Types


Synchronize Tagged Values and Constraints [Enterprise Architect User Guide]

Synchronize Tagged Values and Constraints

When you create an element, attribute, operation or link from a UML Profile item, you add the Tagged Values and constraints from the Profile. Over time you might modify the constraints or the notes and tags of the Tagged Values of a particular profiled item, so the items already created might be missing additional Tagged Value tags and notes, or constraints.

Similarly, you might have manually set the stereotype on a set of elements and now want them to receive the Tagged Values and constraints associated with that stereotype.

To make sure you have all the related Tagged Values and constraints, use the Synchronize Stereotype function. This operates on both:

  • Profiles created in an MDG Technology File and not held in the Resources window - either an in-house customized Add-In, an imported external technology or an integrated technology provided with Enterprise Architect such as BPMN 1.1
  • Profiles imported to the Resources window

When a Profile or MDG Technology file is deployed in Enterprise Architect, the Profile can be accessed through a set of Toolbox pages for that Profile or Technology. The profiled elements in these Toolbox pages automatically trigger an additional context menu option, Synchronize Stereotype.

How to:

To synchronize elements using the Profile or Technology pages of the Toolbox, follow the steps below:

Step | Action
1 | Ensure that the Toolbox displays pages containing the stereotyped Profile elements
2 | Right-click on the element profile in the Toolbox (for example, the BPMN 1.1 Activity element) The Toolbox context menu displays
3 | Click on the Synchronize Stereotype menu option The Synch Profiled Elements dialog displays
4 | Click on the OK button to proceed The Actions list is populated with the items that have been modified and the changes that were made

Alternatively:

You can quickly synchronize the tags and constraints of a single element in a diagram by dragging the updated profile element from the Toolbox page onto the element in the diagram, then selecting the Apply «stereotype» context menu option.

Notes:

  • You can review any changes by displaying the element Properties dialog and by opening the Tagged Values window and clicking on an appropriate profiled element


MDG Technologies [Enterprise Architect User Guide]

MDG Technologies

The Model Driven Generation (MDG) Technologies enable you to access and use resources pertaining to a specific technology in Enterprise Architect. You have various options for bringing MDG Technologies into use with Enterprise Architect:

Source of Technology

See Also

Core technologies - Enterprise Architect consists of a:

  • Basic UML 2 technology as an implementation of UML 2.3 structural and behavioral modeling, and
  • Core Extensions technology that applies profiles and stereotypes to provide extended modeling of aspects such as Requirements, User interface and Data Modeling

Sparx Systems already provides some added technologies in the Enterprise Architect Install directory, MDGTechnologies subfolder

MDG Technologies

You can import technologies into the APPDATA folder (%APPDATA%\Sparx Systems\EA\MDGTechnologies)

Import MDG Technologies

You can transfer technologies into the MDGTechnologies subfolder; these technologies are available when you restart Enterprise Architect (on Vista/Windows 7 systems you might have to increase your access permissions to do this)

You can access and activate MDG Technologies in remote system folders or web sites, from Enterprise Architect

Access Remote Technologies

Technology Developers can create new MDG Technologies and deploy them to the project team either through the MDGTechnologies subfolder or from any other remote folder or website

Create New Technologies

To see which technologies are available within Enterprise Architect, and activate the ones you require, use the MDG Technologies dialog.

Having made the MDG Technologies available to Enterprise Architect, you can manage their availability to users and you can work with them.

You also have the facility to turn off or disable the Enterprise Architect Basic UML 2 and Core Extensions Toolbox pages and facilities, so that you can apply the Enterprise Architect facilities and features exclusively to one or more selected MDG Technologies.

Learn More:

  • Work with MDG Technologies
  • Manage MDG Technologies


Work with MDG Technologies [Enterprise Architect User Guide]

Work with MDG Technologies

Any MDG Technology listed on the MDG Technologies dialog can be enabled, which makes their interface profiles and Toolbox pages available for your use.

Topic

Detail

See Also

MDG Technology Toolbox Pages

When you enable an MDG Technology, any Technology-specific diagram types are added to the New Diagram dialog lists, and the Technology's Toolbox pages are added to those available through the More tools menus in the Toolbox

If you set the MDG Technology to Active, its Toolbox pages override any parallel Enterprise Architect Toolbox pages; for example, the ICONIX Class pages would override the Enterprise Architect Class pages

You create Technology-specific diagrams and populate them with elements and connectors in the same way as for standard Enterprise Architect diagrams

Create New Diagrams

The Resources Window

A method of importing MDG Technologies into the Resources window is available (click on the MDG Technologies folder and select the Import Technology option) but this method is Not Recommended

If you use this method, the MDG Technology is available only in the model it was imported into, and the Toolbox pages, Learning Center, Project Browser icons and model templates are not available

It is recommended that you instead create or download new technologies into the %APPDATA% folder or the Enterprise Architect installation directory, or use new technologies from remote file locations and web sites

However, you might previously have imported technologies into the Resources window, and these are still available until you specifically delete them (right-click on the technology and select the Delete Technology context menu option)

Import MDG Technologies

Access Remote MDG Technologies

The following information is provided to support implementations where technologies have been previously imported via the Resources window.

The Resources window (View | More Project Tools | Project Resources) displays a tree structure containing nodes such as imported MDG Technologies, Templates, Documents, Stylesheets, Matrix profiles and UML Profiles.

MDG Technologies can bundle the functionality provided by UML Profiles, UML Patterns, Code Templates and Model Types.

Profiles contained in MDG Technologies are applied to:

  • Elements such as Classes and Interfaces, which are dragged directly from the Toolbox or the Resources window to the current diagram
  • Attributes, which are dragged over a host element (such as a Class) to be automatically added to the element feature list
  • Operations which, like Attributes, are dragged over a host element to add the operation
  • Connectors such as Association, Generalization, and Dependency, which are added by selecting them in the Toolbox or Resources window, then clicking on the source element in a diagram and dragging to the target element (in the same way as adding normal connectors); the connector is added with the new stereotype and Tagged Value information
  • Association Ends, which are added by dragging the connector end element over the end of an Association in the diagram

Patterns contained in MDG Technologies are used to:

  • Enable reuse in a model
  • Build in robustness

Code Templates are used to:

  • Specify the transformation from UML elements into various parts of a given programming language

Model Types are used to:

  • Define the data types for the model


Manage MDG Technologies [Enterprise Architect User Guide]

Manage MDG Technologies

You use the MDG Technologies dialog to manage the MDG Technologies available and accessible to Enterprise Architect users.

Access: Settings | MDG Technologies

Topic

Detail

See Also

MDG Technologies Dialog

The MDG Technologies dialog lists the technologies held in the APPDATA folder (marked by the text Location: Technology.xml) and Enterprise Architect Install directory, in alphabetical order

Import MDG Technologies

Enable and Disable MDG Technologies

All MDG Technologies listed can be made available (enabled) or removed from use (disabled); to enable or disable a Technology, click on its Enabled checkbox

When an MDG Technology is enabled, three things happen:

  • The MDG Technology is added to the list of available options in the profile field of the Default Tools toolbar, so that you can apply the interface profiles of the MDG Technology
  • At least one set of Toolbox pages for the MDG Technology is automatically added to the Toolbox; you can access the added Toolbox pages through the More Tools menu
  • Any MDG Technology-specific diagram templates are added to the New Diagram dialog for selection; when selected, these display the diagram-specific Toolbox pages

You can quickly enable or disable all the listed MDG Technologies by clicking on the All or None buttons; however, if you click on the None button, you should scroll to the top of the list and select the Basic UML 2 Technology and Core Extensions checkboxes to re-enable the UML and Extended Toolbox pages and diagram types

Set as Default

You can make an MDG Technology the default interface to Enterprise Architect. Depending on the MDG Technology selected, this can change the way Enterprise Architect windows are displayed and override the Toolbox pages with pages specific to that Technology.

To set an MDG Technology as the default interface, click on it in the Technology panel and click on the Set Active button.

This displays an asterisk against the MDG Technology name in the Technology panel, and selects the MDG Technology in the profile field of the Default Tools toolbar. If the MDG Technology has not been enabled, this also enables it.

Basic UML 2 Technology

You can also enable one or more of the MDG Technologies (and likely make one of them the default) and then deselect the Basic UML 2 Technology checkbox (and, if necessary, the Core Extensions checkbox), to work exclusively in the selected technologies. The UML Toolbox pages, diagram types and quicklinks are excluded from the Toolbox, More tools menu, diagrams and New Diagram dialog in the user interface.

MDG Technologies Outside Enterprise Architect

The MDG Technologies dialog lists technologies that have been loaded into the APPDATA folder and Enterprise Architect install directory. You can also add MDG Technologies in folders and websites remote from Enterprise Architect. To do this, click on the Advanced button.

Access Remote MDG Technologies


Access Remote MDG Technologies [Enterprise Architect User Guide]

Access Remote MDG Technologies

You can access MDG Technologies in folders and websites remote from Enterprise Architect.

If you have not already identified the location of the MDG Technology, you must first do this.

Later, if you have no further use for the MDG Technology, you can remove it from the list of identified MDG Technologies.

If you add or remove remote MDG Technologies, you must restart Enterprise Architect to show them on or remove them from the list on the MDG Technologies dialog, and to use them.

Access: Settings | MDG Technologies

How to:

To specify the location of a remote MDG technology, follow the steps below:

Step

Action

See Also

1

Select the MDG Technologies menu option

The MDG Technologies dialog displays

Manage MDG Technologies

2

Click on the Advanced button

The MDG Technologies - Advanced dialog displays

3

Click on the Add button

A short context menu displays, offering the options:

  • Add Path
  • Add URL

4

To specify an MDG Technology in a directory folder, select the Add Path option

The Browse for Folder dialog displays

Browse for the MDG Technology folder, click on it, and click on the OK button; go to step 6

5

To specify an MDG Technology on a web site, select the Add URL option

The Input dialog displays

In the Enter Value field, type or copy-and-paste the MDG Technology URL and click on the OK button

6

The folder path or URL for the MDG Technology displays in the Path panel

To remove an MDG Technology listed in the MDG Technologies - Advanced dialog, click on the folder path or URL and click on the Remove button; the path or URL is deleted


Import MDG Technologies to APPDATA [Enterprise Architect User Guide]

Import MDG Technologies to APPDATA

The preferred method of making an MDG Technology available to your project team members is to import the technology into the %APPDATA%\Sparx Systems\EA\MDGTechnologies folder. To import an MDG Technology you must have a suitable MDG Technology XML file. If the MDG Technology includes references to any metafiles, they should be in the same directory as the MDG Technology XML file.

On startup, Enterprise Architect scans the APPDATA folder (as well as the Enterprise Architect Install directory MDGTechnologies subfolder) for technology files, to make them available through the MDG Technologies dialog. Technologies imported to the APPDATA folder are indicated by the text Location: Technology.xml.

Access: Tools | MDG Technology Import

How to:

To import a technology, follow the steps below:

Step

Action

1

Select the MDG Technology Import menu option

The Copy Technology to Application Data dialog displays

2

In the Filename field, type the path and filename of the MDG Technology file to import, or browse for it using the ( ... ) button

When you enter the filename, the MDG Technology name and version display in the Technology and Version fields

3

Click on the OK button

  • If the APPDATA folder does not yet exist, Enterprise Architect creates it
  • If the MDG Technology already exists, Enterprise Architect displays a prompt to overwrite the existing version and import the new one

Once the import is complete, you must restart Enterprise Architect; the MDG Technology is then listed in the MDG Technologies dialog

Notes:

  • This feature is not available in the Desktop edition of Enterprise Architect

Learn More:

  • Manage MDG Technologies


Extensions - MDG Technologies [Enterprise Architect User Guide]

Extensions - MDG Technologies

Enterprise Architect is the core for a range of Model Driven Generation (MDG) extensions to its modeling capabilities, using more specialized, niche frameworks and profiles.

Topic

See Also

A number of technologies are already integrated with the Enterprise Architect installer

ArchiMate

BPEL

BPMN

Data Flow Diagrams

Eriksson-Penker Extensions

ICONIX

Mind Mapping

SoaML

SOMF

Strategic Modeling

Systems Modeling Language (SysML)

Enterprise Architect provides support for:

  • Downloading MDG Technologies from external system files or websites, or
  • Creating your own easily with the Enterprise Architect MDG Technology Wizard

Access Remote MDG Technologies

MDG Technology SDK

Sparx Systems also market a number of MDG products, as follows:

  • MDG Technology For:
  • Zachman Framework
  • The Open Group Architecture Framework (TOGAF)
  • Unified Profile for DoDAF and MODAF (UPDM)
  • Data Distribution Service (DDS)
  • Python (for Enterprise Architect versions 4.5 to 5.0, integrated in later versions) (* free product! *)
  • CORBA (* free product! *)
  • Java Beans (* free product! *)
  • Testing (* free product! *)
  • MDG Integration For:
  • Eclipse 3.3
  • Visual Studio 2005 and 2008
  • Siemens PLM Teamcenter Systems Engineering (TcSE)
  • MDG Link For
  • Eclipse
  • Visual Studio.NET
  • Microsoft Visio (* free product! *)
  • Telelogic DOORS

Over time, this list is being extended to include further products

Sparx Systems provide different editions of Enterprise Architect tailored for systems engineering and business engineering, or both together

These editions incorporate several of the above MDG Technologies and other Add-Ins

Enterprise Architect Editions

Product Information: For the latest list of available Add-Ins and an introduction to each product, including details of pricing, purchasing and download options, see the Sparx Systems website

When you purchase one of the Add-Ins, you receive one or more license keys and instructions on obtaining, installing and registering the product

The information page for most products provides a link to download the product User Guide in .pdf format

The product User Guide can also be displayed as a .chm file online within the product itself; to access this online help in Enterprise Architect, select the Add-Ins | <productname> | Help menu option

Products Page on the Sparx Systems website

Learn More:

  • Access Remote MDG Technologies
  • Creating MDG Technologies


Define a Modeling Language [Enterprise Architect User Guide]

Define a Modeling Language

Enterprise Architect enables you to create models using UML. However, it also enables you to go much further, extending the scope both of your modeling and of the UML components you use, as outlined below.

Topic | Description | See Also
UML Stereotypes | Stereotypes are an inbuilt mechanism for logically extending or altering the meaning, display and syntax of a model element. Different model elements have different standard stereotypes associated with them. You can also define your own stereotypes. | UML Stereotypes
UML Profiles | UML Profiles are a means of extending UML, which enables you to build models in particular domains. A Profile is a collection of additional stereotypes and Tagged Values applied to elements, attributes, methods and connectors, which together describe some particular modeling problem and facilitate modeling constructs in that domain. | UML Profiles
UML Patterns | Patterns are groups of collaborating Objects/Classes that can be abstracted from a general set of modeling scenarios (that is, parameterized collaborations). They generally describe how to solve an abstract problem, and are an excellent means of achieving re-use and building in robustness. | UML Patterns
MDG Technologies | The Model Driven Generation (MDG) Technologies enable you to access and use the resources of a specific technology within Enterprise Architect. Interfaces to some technologies, such as BPMN and ICONIX, are integrated with Enterprise Architect, whilst interfaces to others such as Eclipse and Visual Studio can be added separately. You can also link to technologies that you have created yourself. | MDG Technologies


MDG Technology SDK [Enterprise Architect User Guide]

MDG Technology SDK

Introduction:

In describing aspects of developing technologies to use in conjunction with Enterprise Architect, it is expected that you are familiar with the concepts introduced in the main body of the Enterprise Architect User Guide. Wherever appropriate, cross-references to these concepts are provided in the text.

Contents:

  • Developing Profiles (incorporating Custom Stereotypes)
  • MDG Technologies
  • Shape Scripts
  • Tagged Value Types
  • Code Template Framework


Developing Profiles [Enterprise Architect User Guide]

Developing Profiles

Introduction:

Profiles provide a means of extending the UML, which enables you to build models in particular domains. They are based on additional stereotypes and Tagged Values that are applied to UML elements, connectors and their components. A Profile is a collection of such extensions that together describe some particular modeling problem and facilitate modeling constructs in that domain. UML Profiles for Enterprise Architect are specified in XML files, with a specific format. These XML files can be imported into Enterprise Architect through the Resources window.

The imported Profile also automatically generates a page of elements and relationships in the Toolbox.

The Resources window contains a tree structure with entries for items such as MDG Technologies, Documents, Stylesheets, Matrix profiles and UML Profiles. The UML Profiles node initially contains no entries; to be able to use Profiles you must import them into Enterprise Architect from supplied XML files.

Items in the Profile represent stereotypes. UML supports a large number of stereotypes, which are an inbuilt mechanism for logically extending or altering the meaning, display, appearance and syntax of a model element. Different model elements have different stereotypes associated with them.

Learn More:

  • Custom Stereotypes
  • Create Profiles
  • Quick Linker
  • Customize Toolbox Profiles
  • Create Diagram Profiles
  • Create Learning Center Profiles
  • Tagged Value Types
  • UML Profiles (for more information on the use of Profiles in Enterprise Architect)


Custom Stereotypes [Enterprise Architect User Guide]

Custom Stereotypes

UML supports a large number of stereotypes, which are an inbuilt mechanism for logically extending or altering the meaning, physical appearance and syntax of a model element. Different model elements have different stereotypes associated with them.

In Enterprise Architect you can create new stereotypes with their own custom appearance. The stereotypes can be altered to make use of metafiles (image files) and customized colors, or you can make use of an Enterprise Architect Shape Script to make new element shapes to determine the shape and dimensions of the element.

Access: Settings | UML Types > Stereotypes

How to:

To add your own custom stereotypes, follow the steps below:

Step | Action
1 | On the Stereotypes tab, type or select a Stereotype name
2 | Select a Base Class from the drop-down list
3 | Associate a Metafile with this stereotype - click on the Metafile radio button and the Assign button, and locate the required .emf or .wmf file
4 | Enter optional Notes and select Default Colors for this stereotype
5 | Click on the Save button to save the stereotype

The table below describes the functions of the Stereotypes tab.

Field | Usage | See also
Stereotype | Specify the name of the stereotype |
Group name | Enable grouping of stereotype features by a plural name, for attributes and operations, which is shown on diagrams in the attribute and operations compartments |
Base Class | Enable the stereotyped element to inherit the base characteristics from a pre-existing element type |
Notes | Type any notes concerning the stereotype (not the elements to which the stereotype is to be applied) |
Override Appearance |  |
None | Switch to the default element appearance |
Metafile | Enable an image file to be used for the appearance of the stereotype |
Shape Script | Specify custom shapes for the stereotype using the Enterprise Architect Shape Scripting language | Shape Scripts
Assign | Add the associated metafile or Shape Script from the stereotyped element |
Remove | Remove the associated metafile or Shape Script from the stereotyped element |
Default Colors |  |
Fill | Set the default background color of the element |
Border | Control the border color |
Font | Control the color of the stereotype font |
Reset | Reset the appearance of the element to the default element appearance |

Notes:

  • You can transport custom stereotype definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • UML Stereotypes
  • Export Reference Data
  • Import Reference Data


Create Profiles [Enterprise Architect User Guide]

Create Profiles

This topic describes how to create profiles and profile items. These creation tasks include creating the profile stereotypes, defining the metaclasses they apply to, and defining Tagged Values and constraints. The topic also describes how to export a profile for use in modeling.

How to:

To create a Profile, follow the steps below:

Step | Description | See Also
1 | Create a Profile package | Create Profile
2 | Add stereotypes and metaclasses to the profile | Add Stereotypes and Metaclasses
3 | Define Tagged Values for the stereotypes | Define Stereotype Tags
4 | Define constraints for the stereotypes | Define Stereotype Constraints
5 | Add enumeration elements to define values for the Tagged Values for the stereotypes | Add Enumeration Elements
6 | Add shape scripts for the stereotypes | Add Shape Scripts
7 | Set the default appearance for the stereotypes | Set Default Appearance
8 | Export the profile | Export Profile


Create a Profile Package [Enterprise Architect User Guide]

Create a Profile Package

In Enterprise Architect, you must create a Profile in a Package that has the stereotype «profile».

How to:

To create a Profile Package, follow the steps below:

Step | Description | See
1 | Open or create a Package diagram |
2 | Open the Profile page of the Toolbox (More tools | Profile) | Profile Group
3 | Drag the Profile item onto the Class diagram The New Model Package dialog displays |
4 | In the Package Name field, type a name for the Profile |
5 | Select the Automatically add new diagram checkbox |
6 | Click on the OK button The New Diagram dialog displays | New Diagram Dialog
7 | Provide the required diagram name, and select the diagram group UML Structural and diagram type Class |
8 | Click on the OK button Enterprise Architect creates a package with the stereotype «profile> and with a child Class diagram |
9 | In the Project Browser, double-click on the Profile Package on the diagram to open the child diagram You now use this child diagram to add stereotypes to the Profile |

Learn More:

  • Add Stereotypes and Metaclasses


Add Stereotypes and Metaclasses [Enterprise Architect User Guide]

Add Stereotypes and Metaclasses

How to:

To add metaclasses and stereotypes to a Profile, for as many stereotypes and metaclasses as you require, follow the steps below:

Step | Description | See Also
1 | Open the child diagram of the Profile Package |
2 | Drag the Metaclass element from the Profile page of the Toolbox onto the diagram The Create New Metaclass dialog displays, in which you can tick multiple metaclasses for dropping onto the diagram |
3 | Scroll down the Element list and select the checkbox for Class |
4 | Click on the OK button The Class Properties dialog displays |
5 | In the Name field type a name for the element Click on the OK button |
6 | Drag a Stereotype element from the Toolbox onto the diagram If the Properties dialog does not display, double-click on the element on the diagram |
7 | In the Name field, type a name for the stereotype |
8 | Click on the OK button |
9 | Click on the Extension relationship in the Toolbox and drag the connection from the stereotype element to the metaclass element |
10 | Your diagram should now resemble the one below: |

Notes:

  • If you want to have a stereotype extending more than one metaclass, do not create two stereotype Classes with the same name

    You cannot have two stereotypes with the same name in the same profile, one is discarded when you save the profile; therefore, create one stereotype Class with an Extension connector to each of several Metaclass elements, as shown below.

    needline

    You can now add stereotype Tags, Constraints, Enumerations, and/or Shape Scripts to your Profile, and define the default appearance of the elements or connectors as required

Learn More:

  • Define Stereotype Tags
  • Define Stereotype Constraints
  • Adding Enumeration Elements
  • Adding Shape Scripts to UML Profiles
  • Setting Default Appearance in UML Profiles


Define Stereotype Tagged Values [Enterprise Architect User Guide]

Define Stereotype Tagged Values

Stereotypes within a UML Profile can have one or more associated Tagged Values. When creating a UML Profile, you define these Tagged Values as attributes of the stereotyped Class.

How to:

To define Tagged Values for a stereotype, follow the steps below:

Step | Description | See Also
1 | Open the Attributes dialog for the stereotyped element |
2 | Click on the New button to create a new attribute |
3 | In the Name field, type the name of the stereotype tag |
4 | In the Type field, click on the drop-down arrow and select the attribute type |
5 | In the Initial field, type the initial value of the tag | Add Enumeration Elements (for creating enumerated types for Tagged Values)
6 | In the Notes field, type a description of the tag |
7 | Click on the Save button and Close button |

Learn More:

  • Define Stereotype Tags with Predefined Tag Types
  • Define Stereotype Tags with Supported Attributes
  • Use the Tagged Value Connector


With Predefined Tag Types [Enterprise Architect User Guide]

With Predefined Tag Types

Define Predefined Tag Types:

To define a stereotype tag with a predefined Tagged Value Type, you must first create the predefined Tagged Value Type. For full instructions on how to do this, see the Create Structured Tagged Values topic.

Assign Predefined Tag Types to Stereotypes:

To assign a predefined tag type to a stereotype, just create an attribute with the same name. For example, to make the Tagged Value Handicap appear in a stereotype, create an attribute named Handicap. You can set the default value for the Tagged Value by giving the attribute an Initial value.

Learn More:

  • Create Structured Tagged Values


With Supported Attributes [Enterprise Architect User Guide]

With Supported Attributes

Supported stereotype attribute tags are special tags that set the default behavior of stereotyped elements, such as the initial size of the element and the default location of any image files associated with the stereotype.

How to:

To define tags for a stereotype with supported attributes, follow the steps below:

Step | Description | See Also
1 | Open the Attributes dialog for the stereotyped element |
2 | In the Name field, type the name of the stereotype tag |
3 | In the Initial field, type the initial value of the tag |
4 | For supported attributes you set only the Name (which must match the attributes listed in the supported attributes section) and the Initial value; do not set the other values Click on the Save button and Close button |

Learn More:

  • Supported Attributes


Use the Tagged Value Connector [Enterprise Architect User Guide]

Use the Tagged Value Connector

In a Profile, you can use the Tagged Value connector to define a Tagged Value that has as its value the name of an element containing the stereotype pointed to. You select the Tagged Value connector from the Profile pages of the Toolbox.

The following diagram demonstrates how you might use the connector. It shows a (saved and imported) profile that defines two stereotypes: «Collection» and «Node». The «Collection» stereotype has a Tagged Value connector with the target role named rootNode, pointing to the «Node» stereotype.

In the Tagged Values window for the connector, against rootNode, you click on the selection button (( ... )). This displays the Select <Item> dialog, through which you locate the elements in the current model with the «Node» stereotype. You can then select one of these elements as the value of the tag.


Define Stereotype Constraints [Enterprise Architect User Guide]

Define Stereotype Constraints

Defining constraints for stereotypes uses the same procedure as defining constraints for any Class.

How to:

To define constraints for a stereotype, follow the steps below:

Step | Description | See Also
1 | Open the Class Properties dialog of the stereotype element in a diagram |
2 | Click on the Constraints tab and click on the New button to create a new constraint |
3 | In the Constraint field, type the value of the constraint |
4 | In the Type field, click on the drop-down arrow and select the appropriate type |
5 | In the Status field, click on the drop-down arrow and select the appropriate status |
6 | In the Notes field, type any additional information required |
7 | Click on the Save button, and on the OK button to close the dialog |


Add Enumeration Elements [Enterprise Architect User Guide]

Add Enumeration Elements

Enumerations can be used to restrict the values available to stereotype tags.

How to:

To add an Enumeration element, follow the steps below:

Step | Description | See Also
1 | Open your Profile Package child Class diagram |
2 | In the Toolbox, select More tools | Profile The contents of the Profile page of the Toolbox display |
3 | Drag an Enumeration item from the toolbox onto the diagram If the Properties dialog does not display, double-click on the element on the diagram |
4 | In the Name field, type the name of the new Enumeration |
5 | Click on the Details tab and on the Attributes button The Attributes Properties dialog displays |
6 | In the Name field, type the name of the Enumeration attribute |
7 | In the Type field, click on the drop-down arrow and select the appropriate type |
8 | In the Initial field, type the initial value of the attribute |
9 | Click on the Save button, and repeat steps 6 to 9 for additional attributes |
10 | When you are finished, click on the Close button |
11 | Right-click on the Stereotype element and select the Attributes context menu option The Attribute Properties dialog displays for the stereotype |
12 | In the Name field type a name for the attribute |
13 | In the Type field click on the ( ... ) button and select the name of the enumeration element from the Select <Item> dialog |
14 | In the Initial field type the name of the required enumeration attribute as the default value |
15 | Click on the Save and Close buttons You have now generated a drop-down list for setting the value of the tag in the Tagged Values window |


Add Shape Scripts [Enterprise Architect User Guide]

Add Shape Scripts

How to:

To add a Shape Script to a stereotype in a UML Profile (such as an MDG Technology Stereotype Profile), follow the steps below:

Step | Description | See Also
1 | On the Profile Package child diagram, select a Stereotype element |
2 | Right-click on the element and select the Attributes context menu option |
3 | In the Attributes Properties dialog, in the Name field, type _image |
4 | Click on the ( ... ) button next to the Initial field The Shape Editor dialog displays | Shape Editor
5 | Enter the Shape Script in the Shape Editor dialog Click on the OK and Close buttons |

In some cases, particularly MDG Technology Stereotype Profiles, your Shape Script might include externally-defined images. In this case the Shape Script would include the image method, specifying the image file name prefixed with the technology name.

The Stereotype element now resembles the example below:

Notes:

  • If you are creating a Shape Script for an Association Class, be aware that the Shape Script is applied to both the Class part and the Association part; therefore, you might have to include logic in the shape main that tests the type of the element so that you can give separate drawing instructions for Class and for Association

    Such logic is not necessary in the:
  • shape source or shape target, which are ignored by Classes, or the
  • decoration shapes which are ignored by Associations

Learn More:

  • MDG Technology Stereotype Profiles
  • Shape Scripts
  • Drawing Methods


Set Default Appearance [Enterprise Architect User Guide]

Set Default Appearance

You can define the appearance of stereotyped elements and connectors as you create or edit the stereotypes, using the Override Appearance and Default Colors panels of the UML Types dialog. However, an easier way is to review your completed profile diagram and set the default appearance of the elements and connectors in place.

Simply click on the required element or connector and press ( F4 ) , then define the background, font and border colors and border thickness as appropriate, on the Default Appearance dialog.

When you save the profile containing the stereotyped elements and connectors, make sure that you select the Color and Appearance checkbox on the Save UML Profile dialog.

Learn More:

  • Creating Custom Stereotypes
  • Configure Default Appearance
  • Saving Profiles


Export a Profile [Enterprise Architect User Guide]

Export a Profile

Once you have created a Profile and defined the elements and metaclasses, you can save (export) the Profile to disk for future models.

How to:

To save a Profile, follow the steps below:

Step

Description

See Also

1

If your profile is:

  • a single profile spread over multiple diagrams within the same Profile package, find the Profile package in the Project Browser window, right-click on it and select the Save Package as UML Profile context menu option
  • one of multiple profiles within the same Profile package, right-click anywhere in the background of the Profile diagram and select the Save as Profile context menu option
  • a single diagram within the Profile package, choose either the Save Package as UML Profile context menu option or the Save as Profile context menu option

The Save UML Profile dialog displays

Save Profile Options

2

Click on the ( ... ) (Browse) button, and select the export destination for the XML Profile file

If necessary, edit the profile filename, but do not delete the .xml extension

3

In the Profile Type field, use the default value EA (UML)2.X (or, if necessary, click on the drop-down arrow and select this value)

4

Set the required export options for all stereotypes defined in the profile:

  • Element Size - select the checkbox to export the element size attributes
  • Color and Appearance - select the checkbox to export the color (background, border and font) and appearance (border thickness) attributes
  • Alternate Image - select the checkbox to export the metafile images
  • Code Templates - select the checkbox to export the code templates, if they exist

Color and Appearance

5

Click on the Save button to save the profile to disk

Learn More:

  • For information on importing and using the profile in modeling, see the UML Profiles topic.


Save Profile Options [Enterprise Architect User Guide]

Save Profile Options

When you save a UML Profile, you can save it either from the package or from the diagram, depending on whether the Profile is:

  • a single profile spread over multiple diagrams within the same Profile package (find the Profile package in the Project Browser, right-click on it and select the Save Package as UML Profile context menu option), which is typically the case for a stereotypes profile
  • one of multiple profiles within the same Profile package (right-click anywhere in the background of the Profile diagram and select the Save as Profile context menu option); for example, when creating multiple toolbox profiles
  • a single diagram within the Profile Package (choose either the Save Package as UML Profile context menu option or the Save as Profile context menu option).

The two context menu options produce slightly different results. You should take these into consideration, especially in the third instance where you could choose either option.

Save From Diagram | Save From Package | Notes
The profile takes the diagram name | The profile takes the package name | Package and diagram names are not necessarily the same, although you can save a lot of confusion if you make them the same or very similar For example: package GL with diagrams GL1, GL2, GL3
The profile takes the diagram's notes | The profile takes the package's notes |
You can take the default size and appearance (including alternate image) from the diagram object | You cannot take the default size and appearance from the diagram object You can use the _sizeX, _sizeY and _image properties, but there is no equivalent for default colors |
Can be much faster | Can be much slower | The difference arises because diagram objects are kept in memory and Project Browser elements aren't This is only likely to be an issue if the profile is a large one and you are using a slow network connection to a remote repository


Supported Attributes [Enterprise Architect User Guide]

Supported Attributes

Supported Stereotype Attributes:

The following attributes can be applied to stereotypes in UML Profiles:

Attribute | Meaning | See Also
icon | Contains the path to a bitmap file to be used as the Project Browser icon for all elements other than Package, with the given stereotype The bitmap must be 16x16 pixels For a transparent background, use light grey - RGB(192,192,192) For this attribute to work correctly, the _metatype attribute must also be used (see below) |
_image | Shape script definition |
_instanceMode | Used for defining behavior on creating an instance | Defining Behavior on Creating an Instance
_instanceOwner
_instanceType
_metatype | Used for defining stereotypes as metatypes | Define a Stereotype as a Metatype
_sizeY | Initial height of the element, in pixels at 100% zoom |
_sizeX | Initial width of the element, in pixels at 100% zoom |
_strictness | Used for restricting application of multiple stereotypes | Restricting Application of Multiple Stereotypes

Supported Metaclass Attributes:

The following attributes can be applied to metaclass Classes in UML Profiles, and refer to the stereotypes that extend them:

Attribute

Meaning

See Also

_attInh

If set to 1, switches on the Inherited Features: Show Attributes setting

_attPkg

If set to 1, switches on the Attribute Visibility: Package setting

_attPri

If set to 1, switches on the Attribute Visibility: Private setting

_attPro

If set to 1, switches on the Attribute Visibility: Protected setting

_attPub

If set to 1, switches on the Attribute Visibility: Public setting

_conInh

If set to 1, switches on the Show Element Compartments: Inherited Constraints setting

_constraint

If set to 1, switches on the Show Element Compartments: Constraints setting

_defaultDiagramType

Used for defining child diagram types

Define Child Diagram Types

_hideStype

If set to a comma-separated list of stereotypes, sets the Hide Stereotyped Features filter

_isVertical

If set to True for an ActivityPartition stereotype, creates a vertical ActivityPartition by default

_lineStyle

Sets the line style of a connector; the value of the attribute can be one of:

  • direct
  • auto
  • custom
  • bezier
  • treeH (horizontal)
  • treeV (vertical)
  • treeLH (lateral horizontal)
  • treeLV (lateral vertical)
  • orthogonalS (orthogonal, square corners)
  • orthogonalR (orthogonal, rounded corners)

_makeComposite

Used for creating composite elements

Create Composite Elements

_opInh

If set to 1, switches on the Inherited Features: Show Operations setting

_opPkg

If set to 1, switches on the Operation Visibility: Package setting

_opPri

If set to 1, switches on the Operation Visibility: Private setting

_opPro

If set to 1, switches on the Operation Visibility: Protected setting

_opPub

If set to 1, switches on the Operation Visibility: Public setting

_pType

If set to 1, switches on the Show element type (Port or Part only) setting

_resInh

If set to 1, switches on the Show Element Compartments: Inherited Responsibilities setting

_responsibility

If set to 1, switches on the Show Element Compartments: Responsibilities setting

_runstate

If set to 1, switches on the Hide Object Runstate in current diagram setting

_sourceAggregation

Used to set the aggregation type at the end of a connector; do not set both _sourceAggregation and _targetAggregation

Set to 1 for shared, 2 for composite

_sourceMultiplicity

Used to set the multiplicity of the source element, such as 1..* or 0..1

_sourceNavigability

If the connector is non-navigable, set this attribute to Non-Navigable; for other values, set the Direction attribute

Connector Class

_subtypeProperty

Used to specify the fully qualified name of a Tagged Value that acts as a subtype for the element, and that must be set when created

This Tagged Value must be created on the stereotype using an Association to an Enumeration element

_tag

If set to 1, switches on the Show Element Compartments: Tags setting

_tagGroupings

Maps the Tagged Values into the _tagGroups (below) displayed in the Tagged Values window, in the form:

tagName1=groupName1;tagName2=groupName2;

_tagGroups

A comma-separated list of required groups in the order in which they are to be displayed in the Tagged Values window; for example:

groupName1,groupName2

_tagGroupStates

Maps _tagGroups displayed in the Tagged Values window to the state of open or closed, in the form:

groupName1=open;groupName2=closed;

_tagInh

If set to 1, switches on the Show Element Compartments: Inherited Tags setting

_targetAggregation

Used to set the aggregation type at the end of a connector; do not set both _sourceAggregation and _targetAggregation

Set to 1 for shared, 2 for composite

_targetMultiplicity

Used to set the multiplicity of the target element, such as 1..* or 0..1

_targetNavigability

If the connector is non-navigable, set this attribute to Non-Navigable; for other values, set the Direction attribute

Connector Class


Define a Stereotype as a Metatype [Enterprise Architect User Guide]

Define a Stereotype as a Metatype

The _metatype attribute is applied to a stereotype element. This is used where users want to hide the identity of an element as a stereotyped UML element. It is also a method of getting custom types to appear in contexts where only Enterprise Architect's inbuilt types would normally appear; for example in the lists of element types in the Relationship Matrix.

The Strict UML Syntax check is not performed for stereotyped elements that have had the _metatype attribute set.

In the following example from SysML, block is defined as a stereotype that extends a UML Class.

However, a SysML user isn't interested in UML Classes, only in SysML Blocks. An element created from a stereotype defined this way, while behaving like a stereotyped Class in most contexts:

  • Shows Block Properties rather than Class Properties as the title of its Properties dialog
  • Is auto-numbered as Block1 not Class1 on creation, and
  • Appears as Block not Class in many other contexts throughout Enterprise Architect

Learn more:

  • Diagram (Strict UML Syntax Check)


Define Multiple-Stereotype Level [Enterprise Architect User Guide]

Define Multiple-Stereotype Level

The _strictness attribute is applied to a stereotype element. It defines to what level multiple stereotypes can be applied to an element. The type of the attribute is StereotypeStrictnessKind and it can have one of four values:

  • profile, which states that an element of this type cannot be given more than one different stereotype from the same profile
  • technology, which states that an element of this type cannot be given more than one different stereotype from the same technology
  • all, which states that an element of this type cannot have multiple stereotypes at all, or
  • none, which is the default Enterprise Architect behaviour and states that there are no restrictions on the use of multiple stereotypes

The following example is from SysML and shows that a «flowPort» cannot have any other stereotype applied to it.


Define Creation of Instance [Enterprise Architect User Guide]

Define Creation of Instance

Reference:

Attribute

Meaning

See Also

_instanceType

Applied to a stereotype element, defining what kind of element is created as an instance of this element type

The value corresponds to the metatype given to a stereotype using the _metatype attribute

It is shown on the Paste Element dialog and is translated if it matches an Enterprise Architect element type

_instanceMode

Applied to a stereotype element, controlling the text in the Paste Element dialog after being translated

Valid values are instance and property, with the default being instance

_instanceOwner

Applied to a stereotype element, controlling the text in the Paste Element dialog

It is translated if it matches an Enterprise Architect element type; the default value is Element

The following example from SysML shows that when an instance of a Block is created, it is created as a BlockProperty element.

Learn More:

  • Paste Element from the Project Browser


Create Composite Elements [Enterprise Architect User Guide]

Create Composite Elements

The _makeComposite attribute is applied to a metaclass element, not a stereotype element. It defines whether an element is always made composite when created.

Unless you also use the _defaultDiagramType attribute to define the child diagram type, the child diagram created is the usual default diagram type for the metaclass.

A stereotyped package is not by default created with a child diagram, so you should use the _makeComposite attribute to ensure the child diagram is created.

The following example from BPMN shows that a BusinessProcess element is always created as a Composite element with a BPMN custom child diagram.

Learn More:

  • Defining Child Diagram Types


Define Child Diagram Types [Enterprise Architect User Guide]

Define Child Diagram Types

The _defaultDiagramType attribute is applied to a metaclass element, not a stereotype element. It defines the type of diagram created when an element is made composite.

This attribute can take as its name any of the inbuilt diagram types of Enterprise Architect as listed below.

Alternatively, if a custom diagram type is required, it should be prefixed with the diagram profile name and '::'. The diagram profile name is the name given to the profile when you save it, which by default is the name of the profile package or profile diagram. If you follow the recommendation in Create Diagram Profiles, the diagram profile name is based on the technology name, but be aware that the attribute prefix is not a direct reference to the technology name.

The following examples show a «BusinessProcess»Activity that, when made a composite element, automatically creates an Analysis diagram, and a «block» stereotype that creates a SysML InternalBlock custom diagram.

You can also use the _defaultDiagramType attribute for packages, extending the Package metaclass.

Initial Values:

The following initial values for _defaultDiagramType should be used to refer to Enterprise Architect's inbuilt diagram types:

  • UML Behavioral::Use Case
  • UML Behavioral::Activity
  • UML Behavioral::State Machine
  • UML Behavioral::Communication
  • UML Behavioral::Sequence
  • UML Behavioral::Timing
  • UML Behavioral::Interaction Overview
  • UML Structural::Package
  • UML Structural::Class
  • UML Structural::Object
  • UML Structural::Composite Structure
  • UML Structural::Component
  • UML Structural::Deployment
  • Extended::Custom
  • Extended::Requirements
  • Extended::Maintenance
  • Extended::Analysis
  • Extended::User Interface
  • Extended::Data Modeling
  • Extended::ModelDocument.

Learn More:

  • Creating Composite Elements
  • Custom Diagram Types


Stereotype Profiles [Enterprise Architect User Guide]

Stereotype Profiles

Customized stereotypes should be contained in one or more profiles. The stereotypes within each profile use the profile name as the namespace. You then add the profiles into an MDG Technology.

Create one or more packages with the «profile» stereotype, each package name being the namespace. Within each package create profile diagrams defining all the stereotypes in the namespace. You can use multiple diagrams to do this, but do not use nested packages.

Give the «profile» package a description in the Notes field, such as MDG Technology for BPMN. When all of the stereotypes are defined (make sure that every stereotype extends at least one Metaclass) right-click on the profile package in the Project Browser and select the Save Package as UML Profile context menu option, then proceed as usual.

To define an MDG technology's Toolbox pages, you create a separate profile.

Learn More:

  • Save Package as a UML Profile
  • Add Profile to an MDG Technology
  • Toolbox Profiles


Quick Linker [Enterprise Architect User Guide]

Quick Linker

Topics:

Topic

Discussion

See Also

Introduction

The Quick Linker provides a fast and simple way to create new elements and connectors on a diagram

When an element is selected in a diagram, the Quick Linker arrow is displayed in the upper right corner of a element; simply clicking and dragging the arrow enables you to create new connectors and elements

The philosophy behind the built-in Quick Linker definitions is to provide, not a complete list of valid or legal connections, but a short and convenient list of the commonest connections for the given context

As part of a UML Profile, you can add to or replace the built-in Quick Linker definitions

Quick Linker Definition Format

Quick Linker Example

Hide Default Quick Linker Settings

Quick Linker Object Names.

Customized Quick Linker Settings

A Quick Linker definition is a Comma Separated Value (CSV) format file; it is best manipulated in a spreadsheet, which should be set up to save the CSV file as comma-separated text without quotation marks around text fields

To add a Quick Linker definition file to a profile or technology, simply place a DocumentArtifact element onto the Profile diagram, give it the name QuickLink, then double-click on it

Open your CSV file in a text editor such as Notepad and copy and paste the contents into the DocumentArtifact element; the definitions are saved with the profile and are processed and applied when the profile is imported

The same applies if a profile is included within a technology, with the proviso that the QuickLink element must be in the same profile as the link stereotype definitions; this means that a technology could have a set of Quick Link definitions for each profile


Quick Linker Definition Format [Enterprise Architect User Guide]

Quick Linker Definition Format

A Quick Linker definition is a text file consisting of records terminated by new-line characters. Each record must consist of 23 comma-separated fields, as defined by the table below. The values of each field must not be in quotes (" ").

A Quick Linker definition can include comments: all lines that begin with // are ignored by Enterprise Architect.

Each record of the Quick Linker definition represents a single entry on the Quick Linker menu. Some fields define the menu command; some fields can be thought of as filters, with the entry being ignored if the filter condition isn't met.

A Quick Linker definition has the following fields.

Column

Field

Description

A

Source Element Type

The row is ignored unless a connector is being dragged away from this type of element

B

Source Stereotype Filter

If set, the row is ignored unless a connector is being dragged away from an element with this stereotype

C

Target Element Type

If set, the row is ignored unless a connector is being dragged onto this type of element

If blank, the row is ignored unless a connector is being dragged onto an empty piece of diagram

D

Target Stereotype Filter

If set and Target Element Type is also set, the row is ignored unless a connector is being dragged onto an element with this stereotype

E

Diagram Filter

Contains either an inclusive or exclusive list of built-in diagrams, which limits the diagrams the given kind of connector can be included on

Each diagram name is terminated by a semi-colon; excluded diagram names are preceded by an exclamation mark

Example of an inclusive list: Collaboration;Object;Custom;

Example of an Exclusive list: !Sequence;

F

New Element Type

If set and Create Element is also set, results in the creation of an element of this type

G

New Element Stereotype

If set and Create Element is also set, results in the creation of an element with this stereotype

H

New Link Type

If set and Create Link is also set, results in the creation of a connector of this type

I

New Link Stereotype

If set and Create Link is also set, results in the creation of a connector with this stereotype

J

New Link Direction

Can be:

  • directed (always creates an association from source to target)
  • from (always creates an association from target to source)
  • undirected (always creates an association with unspecified direction)
  • bidirectional (always creates a bi-directional association), or
  • to (creates either a directed or undirected association, depending on the value of the Association Direction option)

Not all of these work with all connector types; for example, you cannot create a bi-directional Generalization

K

New Link Caption

If a new connector is being created but not a new element, then this is the text that appears on the context menu

L

New Link & Element Caption

If a new connector AND a new element are being created, then this is the text that appears on the context menu

M

Create Link

If set to TRUE, results in creation of a new connector; otherwise should be left blank

N

Create Element

If set to TRUE the row is ignored unless a connector is being dragged onto an empty piece of diagram and results in creation of a new element; otherwise should be left blank

This overrides the values of Target Element Type and Target Stereotype Filter

O

Disallow Self connector

Should be set to TRUE if self connectors are invalid for this kind of connector; otherwise should be left blank

P

Exclusive to ST Filter +
No inherit from Metatype

If set to TRUE, indicates that elements of type Source Element Type with the stereotype Source Stereotype Filter do not display the Quick Linker definitions of the equivalent unstereotyped element

Q

Menu Group

If set, indicates the name of a sub-menu in which a menu item is created

R

Complexity Level

Not implemented, always set to 0

S

Target Must Be Parent

If set to TRUE this menu item only appears when dragging from a child element to its parent; for example from a port to its containing Class

T

Embed element

If set to TRUE the element being created is embedded in the target element; otherwise should be left blank

U

Precedes Separator LEAF

If set to TRUE results in a menu separator being added to the Quick Linker menu; otherwise should be left blank

V

Precedes Separator GROUP

If set to TRUE results in a menu separator being added to the Quick Linker sub-menu; otherwise should be left blank

W

Dummy Column

Depending on which spreadsheet application you use, this column might require a value in every cell to force CSV export to work correctly with trailing blank values


Quick Linker Example [Enterprise Architect User Guide]

Quick Linker Example

This example uses a Class element with the stereotype «quick». The example scenario is this: when you drag a connector away from one of these elements, you want to create a Dependency either to or from a component element. When you drag a connector onto an existing Port or component element, you want a Dependency either to or from the component or, in the case of a component, you want to be able to create an embedded Port element.

This results in 8 records in the Quick Linker definition file.

  1. Dependency to new Component
  2. Dependency from new Component
  3. Dependency to existing Component
  4. Dependency from existing Component
  5. Dependency to existing Port
  6. Dependency from existing Port
  7. Dependency to existing Component, create new Port
  8. Dependency from existing Component, create new Port

In the spreadsheet, this is implemented by the following values:

This saves to the following CSV:

Class,quick,,,,Component,,Dependency,,to,,Dependency to,TRUE,TRUE,TRUE,TRUE,Component,0,,,,,

Class,quick,,,,Component,,Dependency,,from,,Dependency from,TRUE,TRUE,TRUE,TRUE,Component,0,,,TRUE,,

Class,quick,Component,,,,,Dependency,,to,Dependency to,,TRUE,,TRUE,TRUE,,0,,,,,

Class,quick,Component,,,,,Dependency,,from,Dependency from,,TRUE,,TRUE,TRUE,,0,,,TRUE,,

Class,quick,Port,,,,,Dependency,,to,Dependency to,,TRUE,,TRUE,TRUE,,0,,,,,

Class,quick,Port,,,,,Dependency,,from,Dependency from,,TRUE,,TRUE,TRUE,,0,,,TRUE,,

Class,quick,Component,,,Port,,Dependency,,to,,Dependency to,TRUE,TRUE,TRUE,TRUE,Port,0,,TRUE,,,

Class,quick,Component,,,Port,,Dependency,,from,,Dependency from,TRUE,TRUE,TRUE,TRUE,Port,0,,TRUE,TRUE,,

You can create the following profile and cut and paste the CSV data into the document artifact to test the effect.


Hide Default Quick Linker Settings [Enterprise Architect User Guide]

Hide Default Quick Linker Settings

If you have a Quick Linker definition with the Exclusive to stereotype flag (column P) set to TRUE, then the default Quick Linker definitions between the given source and target are overridden. However, you might want to override the defaults without actually having a Quick Linker definition. For example, if you don't define any Quick Links for a «quick» Class to another «quick» Class, Enterprise Architect displays the default Quick Links for a Class to another Class. To override this behaviour, create a Quick Linker definition that has the source element type, source stereotype filter, target element type and target stereotype filter fields (columns A, B, C and D) all set, with the Exclusive to stereotype flag (column P) set to TRUE, and with the new link type field (column H) set to <none>.

For example, add this line to the example in Quick Linker Example:

Class,quick,Interface,,,,,<none>,,,,,,,,TRUE,,0,,,,,

This overrides the default Class-to-Interface Quick Links when a Quick Link is dragged from a «quick» Class to an Interface element.

This technique does not affect the automatic appearance of Dependency, Trace, Information Flow and Help items on the Quick Linker menu.


Quick Linker Object Names [Enterprise Architect User Guide]

Quick Linker Object Names

List of Element Types:

The following element names can be used in Quick Linker definitions:

Action

ActionPin

Activity

ActivityParameter

ActivityPartition

Actor

Artifact

Boundary

CentralBufferNode

Change

ChoiceState

Class

Collaboration

Component

DataType

Decision

DeepHistoryState

Deployment Specification

Device

DiagramGate

EntryPoint

EntryState

ExecutionEnvironment

ExitPoint

ExitState

ExpansionNode

ExpansionRegion

Feature

GUIElement

HistoryState

InformationItem

InitialActivity

InitialState

InteractionOccurrence

Interface

Issue

InterruptableActivityRegion

JunctionState

MergeNode

MessageEndpoint

n-ary Association

Node

Object

ObjectNode

Package

Part

Port

PrimitiveType

ProvidedInterface

Receive

RequiredInterface

Requirement

Screen

Send

Sequence

Signal

State

StateLifeline

StateMachine

Synchronization_H

Synchronization_V

SynchState

UMLDiagram

UseCase

ValueLifeline

List of Connector Types:

The following connector names can be used in Quick Linker definitions:

Aggregation

Association

AssociationClass

CommunicationPath

Composition

ConnectorLink

ControlFlow

DelegateLink

Dependency

Deployment

Extension

Generalization

InformationFlow

InterfaceLink

Manifest

Nesting

ObjectFlow

PackageImport

PackageMerge

Realization

Redefinition

Sequence

StateFlow

TemplateBinding

UCExtends

UCIncludes

UseCase


MDG Technologies - Creating [Enterprise Architect User Guide]

MDG Technologies - Creating

The Model Driven Generation (MDG) Technologies enable Enterprise Architect users to access and use resources pertaining to a specific technology in Enterprise Architect. There are various options for an administrator or individual user to bring MDG Technologies into use with Enterprise Architect. You should read the first two MDG Technology topics (below) to understand how MDG Technologies are accessed and used within Enterprise Architect.

A further option is that Technology Developers can develop new MDG Technologies and deploy them to the project team as appropriate, as described in the remaining topics listed below.

Learn More:

  • MDG Technologies
  • Manage MDG Technologies
  • Create MDG Technologies
  • Working With MTS Files
  • Customize Toolbox Profiles
  • Create Diagram Profiles
  • Create Learning Center Profiles
  • Define Validation Configuration
  • Incorporate Model Templates
  • Deploy an MDG Technology

An example of creating an MDG Technology for an Enterprise Architecture framework is provided in: Enterprise Architecture Framework Design with Sparx Systems Enterprise Architect.

Set Up Technology Element Images describes the process of ensuring that a technology element is represented by a specific image on a diagram, when the technology is deployed in a model.


Create MDG Technologies [Enterprise Architect User Guide]

Create MDG Technologies

Using the MDG Technology Wizard, you can create MDG Technology files that can include UML Profiles, code modules, Patterns, images, Tagged Value Types, RTF report templates, linked document templates, Toolbox pages and Learning Center pages.

This facility is not available in the Enterprise Architect Desktop edition.

Access: Tools | Generate MDG Technology File

How To:

To create an MDG Technology file, follow the steps below:

Step

Description

See Also

1

Select the Generate MDG Technology File menu option

The MDG Technology Creation Wizard screen displays

2

Click on the Next button

The MDG Technology Wizard prompts you to either:

  • Create an MDG Technology File by creating a new MDG Technology Selection (MTS) file
  • Create an MDG Technology File using an existing MTS file, or
  • Not use any MTS file

(An MTS file stores the selected options that you define during the creation of an MDG Technology File; if you use an MTS file, you can later modify it to add or remove specific items in the MDG Technology File, which is the recommended process)

3

Select the appropriate MTS file option

Click on the Next button

If you selected an MTS file, the MDG Technology Wizard prompts you to save the changes in the existing MTS file or into a new MTS file; this enables you to create a modification based on the existing MTS file, while preserving the original file

4

If necessary, type in or browse for the required file path and name

Click on the Next button

The MDG Technology Wizard - Create screen displays

5

Complete the fields on this screen as follows:

Option | Action
Technology | Type the name of the MDG Technology
Filename | Type or select the path and filename of the MDG Technology File The file extension for this file is .xml
ID | Type a reference for the MDG Technology File, up to 12 characters long
Version | Type the version number of the MDG Technology File
Icon | (Optional) Type or select the path and file name of the graphics file containing the technology icon The icon is a 16x16 bitmap image that is shown in the list of technologies on the left of the MDG Technologies dialog
Logo | (Optional) Type or select the path and file name of the graphics file containing the technology logo The logo is a 64x64 bitmap image that is shown in the display pane on the top-right corner of the MDG Technologies dialog
URL | (Optional) If you have any website product information that might be helpful for users of this Technology, type or paste the URL in this field
Support | (Optional) If you have any web-based or other support facility that might be helpful for users of this Technology, type or paste the contact address in this field
Notes | Type a short explanation of the functionality of the MDG Technology

6

Click on the Next button

The MDG Technology Wizard - Contents screen displays

7

Select the checkbox for each item to be included in the MDG Technology file

Each selection runs specific dialogs to enable definition of the specific items to be included in the MDG Technology, as described in the following topics:

  • Add a Profile
  • Add a Pattern
  • Add a Diagram Profile
  • Add a Toolbox Profile
  • Add Learning Center Pages
  • Add Tagged Value Types
  • Add Code Modules
  • Add MDA Transformations
  • RTF Report Templates
  • Linked Document Templates
  • Add Images
  • Add Scripts (Corporate and 'Suite' editions).

8

Work through the dialogs displayed in response to your choices, and when all are complete, click on the Next button

The MDG Technology Wizard - Finish screen displays, providing information on the items included in the MDG Technology File

9

If you have used an MTS file and want to update it, select the Save to MTS checkbox

10

If you are satisfied with the selection of items, click on the Finish button

You can now edit the MTS file, if required, to add further items such as:

  • Model Search definitions
  • Model Views
  • Model Validation configurations
  • Model Templates

To make the MDG Technology File accessible to an Enterprise Architect model, you must add the technology file path to the MDG Technologies - Advanced dialog

Working with MTS Files

Access Remote MDG Technologies


Add a Profile [Enterprise Architect User Guide]

Add a Profile

When creating an MDG Technology file, you can include UML 2.3-compliant profiles that you have defined.

To use the Profiles section of the MDG Technology Wizard, follow the steps below:

Step

Description

See Also

1

Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Profiles checkbox

The MDG Technology Wizard - Profile files selection dialog displays

Creating MDG Technologies, Step 6

2

In the Directory field, navigate to the directory containing the required Profile or Profiles

The Profile files are automatically listed in the Available Files panel

3

To select each required Profile individually, highlight the Profile in the Available Files list and click on the --> button

The file name displays in the Selected Files list

Alternatively:

To select all available Profiles, click on the -->> button

  • DO NOT select diagram profiles or toolbox profiles on this dialog; this would generate conflicting commands in the .MTS file
  • Make sure you do include your stereotype profile

Stereotype Profile

4

Click on the Next button to proceed

Learn More:

  • Working With Profiles


Add a Pattern [Enterprise Architect User Guide]

Add a Pattern

When creating an MDG Technology file, you can include patterns.

To use the Patterns section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Patterns checkbox. The MDG Technology Wizard - Pattern files selection dialog displays. | Creating MDG Technologies, Step 6
2 | In the Directory field, navigate to the directory containing the required pattern or patterns. The pattern files are automatically listed in the Available Files panel. |
3 | To select each required pattern individually, highlight the pattern in the Available Files list and click on the --> button. The file name displays in the Selected Files list. Alternatively, to select all available patterns, click on the -->> button. |
4 | Click on the Next button to proceed. |

Learn More:

  • Creating Patterns


Add a Diagram Profile [Enterprise Architect User Guide]

Add a Diagram Profile

When creating an MDG Technology file, you can include a diagram profile that you have defined.

To use the diagram profiles section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Diagram Types checkbox. The MDG Technology Wizard - Diagram Types dialog displays. | Creating MDG Technologies, Step 6
2 | In the Directory field, navigate to the directory containing the required diagram profiles. The profiles in the directory are automatically listed in the Available Files panel. |
3 | To select each required diagram profile individually, highlight the file name in the Available Files list and click on the --> button. The file name displays in the Selected Files list. Alternatively, to select all available profiles (assuming they are all diagram profiles), click on the -->> button. |
4 | Click on the Next button to proceed. |

Learn More:

  • Custom Diagram Types


Add a Toolbox Profile [Enterprise Architect User Guide]

Add a Toolbox Profile

When creating an MDG Technology file, you can include Enterprise Architect Toolbox page definitions that you have created.

To use the Toolboxes section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Toolboxes checkbox. The MDG Technology Wizard - Toolboxes dialog displays. | Creating MDG Technologies, Step 6
2 | In the Directory field, navigate to the directory containing the required toolbox profiles. The profile files are automatically listed in the Available Files panel. |
3 | To select each required toolbox profile individually, highlight the file name in the Available Files list and click on the --> button. The file name displays in the Selected Files list. Alternatively, to select all available profiles (assuming they are all toolbox profiles), click on the -->> button. |
4 | Click on the Next button to proceed. |

Learn More:

  • Custom Toolboxes


Add Learning Center Pages [Enterprise Architect User Guide]

Add Learning Center Pages

When creating an MDG Technology file, you can include Enterprise Architect Learning Center profiles that you have created.

How to:

To use the Taskpages section of the MDG Technology Wizard, follow the steps below:

Step

Description

See Also

1

Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Taskpages checkbox

The MDG Technology Wizard - Learning Center dialog displays

Creating MDG Technologies, Step 6

2

In the Directory field, navigate to the directory containing the required taskpage profiles

The profile files are automatically listed in the Available Files panel

3

To select each required Learning Center profile individually, highlight the file name in the Available Files list and click on the --> button

The file name displays in the Selected Files list

Alternatively, to select all available profiles (assuming they are all Learning Center profiles), click on the -->> button

4

Click on the Next button to proceed

Learn More:

  • Custom Learning Center


Add Tagged Value Types [Enterprise Architect User Guide]

Add Tagged Value Types

When creating an MDG Technology file, you can include Tagged Value Types.

To use the Tagged Value Types section of the MDG Technology Types Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Tagged Value Types checkbox. The MDG Technology Wizard - Tagged Value Types dialog displays. | Creating MDG Technologies, Step 6
2 | To select each required Tagged Value Type individually, highlight the file name in the Available Files list and click on the --> button. The file name displays in the Selected Files list. Alternatively, to select all available Tagged Value Types, click on the -->> button. |
3 | Click on the Next button to proceed. |

Learn More:

  • Tagged Value Types.


Add Code Modules [Enterprise Architect User Guide]

Add Code Modules

When creating an MDG Technology file, you can include code modules.

To use the code modules section of the MDG Technology Types Wizard, follow the steps below:

Step

Description

See Also

1

Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Code Modules checkbox. The MDG Technology Wizard - Code Modules dialog displays.

Creating MDG Technologies, Step 6

2

Click on the checkboxes (Product, Data Types, and Code Templates) for each of the required Code Modules.

The code modules listed are those defined in your current project. These could be the Enterprise Architect default languages, or those you have defined yourself using code templates and the Code Template Editor. Before you can set up a code template for the new language in the editor, you must define at least one data type for the language. Once the MDG Technology file is created it can be loaded into your current model and into other models.

Code Templates Overview

Code Template Editor

Data Types

3

To select any code options for a module, click on the ( ... ) button in the Code Options column for that module. This enables you to select an XML document that provides additional settings for the language that are not covered by the data types or code templates.

The root node of the XML document should be CodeOptions. The child nodes should be called CodeOption and should contain a name attribute. The supported code options are as follows:

Code Option | Description
ConstructorName | The name of a function used as a constructor. Used by the classHasConstructor code template macro.
CopyConstructorName | The name of a function used as a copy constructor. Used by the classHasCopyConstructor code template macro.
DefaultExtension | The default extension when generating code.
DefaultSourceDirectory | The default path to which Enterprise Architect generates new files.
DestructorName | The name of a function used as a destructor. Used by the classHasDestructor code template macro.
Editor | The external editor used for editing source of this language.
ImplementationExtension | The extension used by Enterprise Architect to generate an implementation file.
ImplementationPath | The relative path from the source file to generate the implementation file.
PackagePathSeparator | The delimiter used to separate package names when using the packagePath macro from the code templates.

An example of a valid code options file is shown below.

<CodeOptions>

<CodeOption name="DefaultExtension">.ext</CodeOption>

<CodeOption name="Editor">C:\Windows\notepad.exe</CodeOption>

</CodeOptions>

Field Substitution Macros

4

Click on the Next button to proceed.

You can edit the code option values for source code engineering and for each required language using the appropriate Language Options page of the Options dialog.

Code Engineering Settings

Language Options


Add MDA Transforms [Enterprise Architect User Guide]

Add MDA Transformations in MDG Technology Wizard

When creating an MDG Technology file, you can include the MDA Transformations that have been modified in the model.

To use the Transform Modules section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the MDA Transforms checkbox. The MDG Technology Wizard - Transform Modules dialog displays. | Creating MDG Technologies, Step 6
2 | Click the checkbox against the template name of each required template that is present in the current model. |
3 | Click on the Next button to proceed. |


Add Images [Enterprise Architect User Guide]

Add Images

When creating an MDG Technology file, you incorporate images to be used in all models in which the technology is deployed. These images must already be available in the model in which the technology is being developed; you can import the images into this model using the Add New button on the Image Manager.

How to:

To use the Image Selection section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Images checkbox The MDG Technology Wizard - Image Selection dialog displays | Creating MDG Technologies, Step 6
2 | For each required model image available in the current model, select the checkbox next to the image name A preview of each image displays on the right of the dialog as you select the checkbox |
3 | Click on the Next button to proceed |

Learn More:

  • Image Manager


Add Scripts [Enterprise Architect User Guide]

Add Scripts

When creating an MDG Technology file, you can include scripts that you have created in the model.

To use the Script Selection section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Scripts checkbox The MDG Technology Wizard - Scripts dialog displays | Creating MDG Technologies, Step 6
2 | For each required script available in the current model, select the checkbox next to the script name |
3 | Click on the Next button to proceed |

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect

Learn More:

  • The Scripter Window


Add RTF Report Templates [Enterprise Architect User Guide]

Add RTF Report Templates

When creating an MDG Technology file, you can include user-defined RTF Report templates.

To use the report templates section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the RTF Templates checkbox The MDG Technology Wizard - RTF Report Templates dialog displays | Creating MDG Technologies, Step 6
2 | For each required user-defined report template available in the current model, select the checkbox next to the template name |
3 | Click on the Next button to proceed |


Add Linked Document Templates [Enterprise Architect User Guide]

Add Linked Document Templates

When creating an MDG Technology file, you can include Linked Document templates.

To use the Linked Document templates section of the MDG Technology Wizard, follow the steps below:

Step | Description | See Also
1 | Follow the steps in the Create MDG Technologies topic up to and including Step 6, where you select the Linked Document Templates checkbox. The MDG Technology Wizard - Linked Document Templates dialog displays. | Creating MDG Technologies, Step 6
2 | For each required document template available in the current model, select the checkbox next to the template name. |
3 | Click on the Next button to proceed. |


Working with MTS Files [Enterprise Architect User Guide]

Working with MTS Files

An MDG Technology Selection (.MTS) file stores the selected options that you define when creating an MDG Technology File using the MDG Technology Wizard. If you use a .MTS file, you can edit it to change the features selected when you generated the file, and to add or remove the advanced features described in this topic.

Action

Description

See also

Create an .MTS File

To create a .MTS file, select the Tools | Generate MDG Technology File menu option to launch the MDG Technology Wizard, and work through the screens as described in the Create MDG Technologiestopic. On the second page, select the Create a new MTS file option.

Create MDG Technologies

Advanced Options For Your .MTS File

Once you have created the .MTS file, you can add:

  • Model Search definitions. If you use a custom SQL search, the SQL must include ea_guid AS CLASSGUID and the object type.
  • Model Views. Technology views do not store Favorite packages, only Views. If your exported views run searches that you have defined you must also include those searches in your MDG Technology.
  • Model Validation configurations
  • Model Templates.

Open the .MTS file in a text editor. To make it easier for you, you can copy the following lines and paste them into the file before the last line of the file (that is, just before the </MDG.Selections> lines:

<ModelSearches file=""/>

<ModelViews file=""/>

(The code for the model validation configurations and model templates is provided in the corresponding sections, accessed via the links in the list above.)

You can, if necessary, have more than one line for each inclusion; for example, more than one ModelSearch. For each inserted line:

  • In the file attribute, enter the filename of the Model Search XML file or Model View XML file.

Save the .MTS file.

Model Search Definitions

Model Views

Model Validation Configurations

Model Templates

Update the MDG Technology

Again select the Tools | Generate MDG Technology File menu option, but this time on the second page select Open an Existing MTS file and specify the file path of the .MTS file you have updated. Click on <Next> until the wizard is finished. Your MDG Technology file is updated.


Customize Toolbox Profiles [Enterprise Architect User Guide]

Customize Toolbox Profiles

The following is a road map of how to create a set of custom toolboxes for Enterprise Architect.

Step

Action

See also

1

Create a set of Toolbox Profiles that contain the definitions that Enterprise Architect requires to create the toolboxes

Toolbox Profiles

2

Create a .MTS file containing instructions on how to build your MDG Technology; use this .MTS file to build your MDG Technology

Creating MDG Technologies

3

Add some finishing touches:

  • Create hidden sub-menus
  • Override Enterprise Architect's default toolboxes
  • Change the default icons for toolbox items

Hidden Sub-menus

Overriding Default Toolboxes

Icons for Toolbox Items


Create Toolbox Profiles [Enterprise Architect User Guide]

Create Toolbox Profiles

You can create multiple toolbox profiles within an MDG Technology. Each toolbox profile contains definitions that determine what appears in the Toolbox when a specific Toolbox page is open, either by selecting from the More tools... option in the Toolbox window, or by opening or creating a diagram of the type that is linked to the toolbox profile.

To create a toolbox profile, follow the steps below

Step

Action

See also

1

Create a diagram in a profile package, and give it a name by which you can refer to it later, such as MyClassDiagram

In the Notes field, give the diagram an alias and a description in the following format:

Alias=MyClass;Notes=Structural elements for class diagrams;

2

On the diagram, create a Class, name it ToolboxPage and give it the «metaclass» stereotype

3

Create a «stereotype» element for each of the toolbox pages to create within your toolbox, such as MyClassElements and MyClassRelationships

Set their Alias to the text to display in the title bar of each toolbox page, such as My Class Elements and My Class Relationships respectively

Use the Notes field to define the tool-tip for each toolbox page; that is, Elements for Class Diagrams and Relationships for Class Diagrams

Use the «extends» connector to set the stereotype elements to extend ToolboxPage

Toolbox Page Attributes

4

In the «stereotype» elements, create an attribute for each toolbox item

The name of the attribute should be the name of the element or connector to be dropped, including namespace; for example, UML::Package, UML::Class and UML::Interface

The toolbox items display in the same order as the attributes in the Class, so make use of the attribute ordering buttons to define the order of your toolbox

To name an attribute for an item from your own technology, precede it with your profile name as the namespace, and then follow it in brackets with the element or connector type that you are extending (so that Enterprise Architect knows what object to create); for example, a SysML block element would appear as SysML::Block(UML::Class)

Click on the links on the right for a complete list of elements and connectors that can be extended

To define a toolbox item that allows a pattern to be dropped onto a diagram, name the attribute My Technology::MyPattern(UMLPattern) where MyTechnology is the ID of the technology and MyPattern is the name of the pattern to drop; for example, BusFramework::Builder(UMLPattern)

You can replace (UMLPattern) with (UMLPatternSilent) to avoid displaying the Add Pattern dialog

To define a model-based pattern in a custom toolbox (such as the GoF patterns) create an attribute with a name of the format PatternCategory::PatternName(UML Pattern); for example: GoF Behavioral Patterns:: Mediator(UML Pattern)

You might not want to use names such as UML::Package or UML::Class in your toolbox, so give the attributes an Initial Value of, for example, Package or Class

Elements Used in Toolboxes

Connectors Used in Toolboxes

5

To save the toolbox profile, right-click on the diagram and select the Save as Profile context menu option

Notes:

  • Each profile element incorporated into an MDG Toolbox page enables synchronization of the Tagged Values and Constraints of all elements created from them

Learn More:

  • Synchronize Tags and Constraints


Toolbox Page Attributes [Enterprise Architect User Guide]

Toolbox Page Attributes

The following attributes can be added to a stereotype Class that extends the ToolboxPage metaclass:

  • ImagesOnly: if you give a toolbox page an attribute named imagesOnly with Initial Value set to true, the toolbox page displays without the text labels next to the icons
  • isCommon: if you give a toolbox page an attribute named IsCommon with Initial Value set to true, the toolbox page is common to all defined toolboxes while your technology is active; the page is initially displayed as collapsed
  • isCollapsed: if you give a toolbox page an attribute named IsCollapsed with Initial Value set to true, the toolbox page is initially minimized.
  • Icon: see Assign Icons for Toolbox Items
  • isHidden: see Create Hidden Sub-Menus.


Create Hidden Sub-Menus [Enterprise Architect User Guide]

Create Hidden Sub-Menus

To create a sub-menu, create an additional «stereotype» element in the same toolbox profile and give it an attribute named isHidden with Initial Value of true. Define the toolbox item attributes as before. In the parent «stereotype» element, create an attribute with the identical name to the sub-menu element. The sub-menu element can have an alias.

This technique is very useful for 'disambiguating' stereotypes that can be applied to multiple metaclasses. In the example below, the «MyStereo» stereotype can be applied to either a Class or an Interface. On dragging and dropping one from the toolbox, a hidden menu displays giving the choice of Class or Interface, then the appropriate element is dropped:


Override Default Toolboxes [Enterprise Architect User Guide]

Override Default Toolboxes

Enterprise Architect has many default Toolbox Profiles, one for each of its inbuilt diagram types. These define the Toolbox pages that are displayed, by default, every time a diagram of a specific type is opened or brought into view.

To replace one of Enterprise Architect's default toolboxes with one of your own (for example, if you have your own version of the UML::Class toolbox that you want to be opened every time a Class diagram is opened - as long as your technology is active) then include a RedefinedToolbox clause in the Notes field for the diagram properties of your Toolbox Profile diagram. For example, the profile diagram's Notes field could resemble the following:

RedefinedToolbox=UML::Class;Alias=Class;Notes=Structural elements for Class diagrams;

This states that the toolbox defined by this profile replaces the Enterprise Architect toolbox UML::Class as the default toolbox for all UML Class diagrams. For a list of inbuilt toolboxes, see the List of Enterprise Architect Toolboxes topic.


Assign Icons To Toolbox Items [Enterprise Architect User Guide]

Assign Icons To Toolbox Items

To assign an icon to a toolbox item, follow the steps below

Step

Action

See also

1

Create a new «stereotype» element in the same toolbox profile as the toolbox item.

2

Give the «stereotype» element the same name as the attribute that it is assigning an image to (for example, MyTech::MyStereo(UML::Class) in the diagram below)

3

Give the «stereotype» element an attribute named Icon with Initial Value set to the full path and file name of the image to be used.

The icon image is a 16x16 pixel bitmap file; for a transparent background, use light grey - RGB(192,192,192).

4

Create an Extends association from the «stereotype» element to a «metaclass» element named ToolboxItemImage.


List of Enterprise Architect Toolboxes [Enterprise Architect User Guide]

List of Enterprise Architect Toolboxes

The following is a list of the Toolbox pages that can be overridden:

  • UML::Activity
  • Extended::Analysis
  • UML::Class
  • Extended::Custom
  • UML::Communication
  • Extended::DataModeling
  • UML::Component
  • Extended::Maintenance
  • UML::Composite
  • Extended::Requirements
  • UML::Deployment
  • Extended::UserInterface
  • UML::Interaction
  • Extended::WSDL
  • UML::Metamodel
  • Extended::XMLSchema
  • UML::Object

  • UML::Profile

  • UML::State

  • UML::Timing

  • UML::UseCase


Elements Used in Toolboxes [Enterprise Architect User Guide]

Elements Used in Toolboxes

The following elements (all preceded with the namespace UML::) can be extended or redefined in Enterprise Architect Toolbox pages. The text in red indicates the label name displayed in the default Enterprise Architect Toolbox pages, where this differs in any way from the UML:: statement text.

When these profile elements are incorporated into an MDG Toolbox page, they enable synchronization of the Tagged Values and Constraints of all elements created from them.

You can also extend connectors.

  • Action
  • Activity
  • ActivityFinal (Final)
  • ActivityInitial (Initial)
  • ActivityParameter
  • ActivityPartition (Partition)
  • ActivityRegion (Region)
  • Actor
  • Artifact
  • AssociationElement (Association)
  • Boundary (for Use Cases)
  • CentralBufferNode (Central Buffer Node)
  • Change
  • Choice
  • Class
  • Collaboration
  • CollaborationOccurrence (Collaboration Use)
  • Comment (Note)
  • Component
  • Constraint
  • Datastore
  • Decision
  • DeploymentSpecification (Deployment Specification)
  • Device
  • DiagramLegend (Diagram Legend)
  • DiagramNotes (Diagram Notes)
  • DocumentArtifact (Document Artifact or Document)
  • Entity (Information)
  • EntityObject (Entity)
  • EntryState (Entry)
  • Enumeration
  • ExceptionHandler (Exception)
  • ExecutionEnvironment (Execution Environment)
  • ExitState (Exit)
  • Feature
  • FinalState (Final)
  • FlowFinalNode (Flow Final)
  • ForkJoinH (Fork/Join - Horizontal)
  • ForkJoinV (Fork/Join - Vertical)
  • Gate (Diagram Gate)
  • GUIElement (UI Control)
  • HistoryState (History)
  • Hyperlink
  • InformationItem (Information Item)
  • InitialState (Initial)
  • InteractionFragment (Fragment)
  • InteractionState (State/Continuation)
  • Interface
  • Issue
  • Junction
  • Lifeline
  • MergeNode (Merge)
  • MessageEndPoint (Endpoint or Message Endpoint)
  • MessageLabel (Message Label)
  • Metaclass
  • Node
  • Object
  • ObjectBoundary (Boundary)
  • ObjectControl (Control)
  • ObjectEntity (Entity)
  • Package
  • PackagingComponent
  • Part
  • Port
  • Primitive
  • Process
  • Profile
  • ProvidedInterface (Expose Interface)
  • ReceiveEvent (Receive)
  • Requirement
  • RobustBoundary (Boundary)
  • RobustControl (Control)
  • RobustEntity (Entity)
  • Screen
  • SendEvent (Send)
  • SequenceBoundary (Boundary)
  • SequenceControl (Control)
  • SequenceEntity (Entity)
  • Signal
  • State
  • StateMachine (State Machine)
  • StateTimeLine (State Lifeline)
  • Stereotype
  • StructuredActivity (Structured Activity)
  • SynchState (Synch)
  • Table
  • Terminate
  • TestCase (Test Case)
  • Text
  • UseCase (Use Case)
  • UMLBoundary (Boundary)
  • ValueTimeLine (Value Lifeline)


Connectors Used In Toolboxes [Enterprise Architect User Guide]

Connectors Used In Toolboxes

The following connectors (all preceded with the namespace UML::) can be extended or redefined in Enterprise Architect toolboxes. The text in red indicates the label name displayed in the default Enterprise Architect Toolbox pages, where this differs in any way from the UML:: statement text.

You can also extend elements.

  • Aggregation (Aggregate)
  • Assembly
  • Association (Associate)
  • AssociationClass (Association Class)
  • CallFromRecursion (Call)
  • CommunicationPath (Communication Path)
  • Composition (Compose)
  • Connector
  • ControlFlow (Control Flow)
  • Delegate
  • Dependency
  • Deployment
  • Extension
  • Generalization (Generalize or Inheritance)
  • InformationFlow (Information Flow)
  • InterruptFlow (Interrupt Flow)
  • Invokes
  • Manifest
  • Message
  • Nesting
  • NoteLink (Note Link)
  • ObjectFlow (Object Flow)
  • Occurrence
  • PackageImport (Package Import)
  • PackageMerge (Package Merge)
  • Precedes
  • ProfileApplication (Application)
  • Realization (Realize or Implements)
  • Recursion
  • Redefinition
  • Representation
  • Represents
  • RoleBinding (Role Binding)
  • SelfMessage (Self-Message)
  • TagValAssociation (Tagged Value)
  • TemplateBinding (Template Binding)
  • TraceLink (Trace)
  • Transition
  • UCExtend (Extend)
  • UCInclude (Include)
  • UseCaseLink (Use)


Create Custom Diagram Profiles [Enterprise Architect User Guide]

Create Custom Diagram Profiles

You can create extended diagram types in Enterprise Architect and include them in MDG Technologies. To create extended diagram types, follow the steps below:

Step

Action

See also

1

Create a profile with the same name as the MDG Technology in which it is to be included; for example, SysML. (However, check the Note in Define Child Diagram Types.)

Defining Child Diagram Types

2

Create a «stereotype» Class element that is named as the custom diagram, for example, BlockDefinition.

3

Create a Class element and name it as one of the Built-In Diagram Types prefixed with Diagram_, for example Diagram_Logical for Class diagrams or Diagram_Use Case for Use Case diagrams.

Built-In Diagram Types

4

Give the Diagram_x Class the «metaclass» stereotype and draw an «extends» connector from the stereotype to the metaclass.

5

In the Notes field, give the stereotype Class a brief description of what the diagram is used for. This description displays in the bottom right-hand corner of the New Diagram dialog.

6

Give the Diagram_x Class the following attributes as required:

  • alias: string = Type (where Type appears before the word 'Diagram' on the diagram title bar)
  • diagramID: string = abc (where abc is the diagram type that appears in the diagram frame label)
  • toolbox: string = ToolboxName (where ToolboxName is the name of the toolbox profile for the toolbox that opens automatically each time a diagram is opened)
  • frameString: string = FrameFormatString (where FrameFormatString is a string containing substitution macros for defining the frame title, with or without additional delimiters such as ( ) ; macros that can be used are:
  • #DGMSTEREO#
  • #DGMID#
  • #DGMTYPE#
  • #DGMALIAS#
  • #DGMOWNERNAME#
  • #DGMOWNERNAMEFULL#
  • #DGMNAME#
  • #DGMNAMEFULL#
  • swimlanes: string = Lanes=2;Orientation=Horizontal;Lane1=Title1;Lane2=Title2; (where Lanes can be any value, but the number of Lane<n> values must equal the value of Lanes; Orientation can be omitted, in which case the swimlanes default to vertical)
  • StyleEx: string = one or more of a range of values; see Attribute Values - StyleEx & pdata
  • pdata: string = one or more of a range of values; see Attribute Values - StyleEx & pdata.

Diagram Frame

Attribute Values - StyleEx & pdata

7

Save the diagram as a profile in the usual manner.

8

Add the diagram profile to the .MTS file used in the MDG Technology.

Add Diagram Types

The following example shows the DFD diagram profile which defines a DFD diagram as an extension of the Enterprise Architect Analysis diagram.


Built-In Diagram Types [Enterprise Architect User Guide]

Built-In Diagram Types

The following is a full list of built-in diagram types provided by Enterprise Architect.

  • Activity
  • Analysis
  • Collaboration
  • Component
  • CompositeStructure
  • Custom
  • Deployment
  • InteractionOverview
  • Logical
  • Object
  • Package
  • Sequence
  • Statechart
  • Timing
  • Use Case

Note the use of Logical for Class diagrams and also notice the space in the middle of Use Case. These names are used in Defining Child Diagram Types, or prefixed by Diagram_ in creating Diagram Profiles.


Attribute Values - StyleEx & pdata [Enterprise Architect User Guide]

Attribute Values - StyleEx & pdata

When creating a diagram profile, you can use the pdata and StyleEx attributes to define a range of characteristics of the diagrams created with the profile. If the attribute is defining several characteristics at once, put the values in a single string separated by semicolons. For example:

StyleEx: string = HideQuals=0;AdvanceElementProps=1;ShowNotes=1;

StyleEx: string =

  • AdvancedConnectorProps=1; (to show connector property strings)
  • AdvancedElementProps=1; (to show the element property string)
  • AdvancedFeatureProps=1; (to show the feature property string)
  • AttPkg=1; (to show package visible Class members)
  • DefaultLang=Language; (to set the default language for the diagram; Language can be one of Enterprise Architect's built-in languages such as C++ or Java, or it can be a custom language)
  • HandDrawn=1; (to apply hand drawn mode)
  • HideQuals=0; (to show qualifiers and visibility indicators)
  • SeqTopMargin=50; (to set the height of the top margin on sequence diagrams)
  • ShowAsList=1; (to make the diagram open directly into the Diagram List)
  • ShowMaint=1; (to show the element Maintenance compartment)
  • ShowNotes=1; (to show the element Notes compartment)
  • ShowOpRetType=1; (to show the operation return type)
  • ShowTests=1; (to show the element Testing compartment)
  • SuppConnectorLabels=1; (to suppress all connector labels)
  • SuppressBrackets=1; (to suppress brackets on operations without parameters)
  • TConnectorNotation=Option; (where Option is one of UML 2.1, IDEF1X, or Information Engineering)
  • TExplicitNavigability=1; (to show non-navigable connector ends)
  • VisibleAttributeDetail=1; (to show attribute details on the diagram)
  • Whiteboard=1; (to apply whiteboard mode)

pdata: string =

  • HideAtts=0; (to show the element Attributes compartment)
  • HideEStereo=0; (to show element stereotypes in the diagram)
  • HideOps=0; (to show the element Operations compartment)
  • HideParents=0; (to show additional parents of elements in the diagram)
  • HideProps=0; (to show property methods)
  • HideRel=0; (to show relationships)
  • HideStereo=0; (to show attribute and operation stereotypes)
  • OpParams=3; (to show operation parameters)
  • ShowCons=1; (to show the element Constraints compartment)
  • ShowIcons=1; (to use stereotype icons)
  • ShowReqs=1; (to show the element Requirements compartment)
  • ShowSN=1; (to show sequence notes)
  • ShowTags=1; (to show the element Tagged values compartment)
  • SuppCN=0;(to show collaboration numbers)
  • UseAlias=1; (to use the aliases or elements in the diagram, if available).


Create Learning Center Profiles [Enterprise Architect User Guide]

Create Learning Center Profiles

Defining Learning Center profiles is a two-part process:

Step | Action | See also
1 | Define toolboxes; create any number of stereotype elements that each define a Learning Center Toolbox page | Define Learning Center Toolboxes
2 | Create the profile and incorporate it into your Technology | Save Learning Center Profile Add Learning Center Pages


Define Learning Center Toolboxes [Enterprise Architect User Guide]

Define Learning Center Toolboxes

A Learning Center toolbox is defined by a «stereotype» Class that extends a «metaclass»ToolboxPage element. These elements must be owned by a «profile» package. Each «stereotype» Class represents the contents of a Learning Center topic and each attribute of the «stereotype» Class defines a command button in the Learning Center. The following diagram shows an example of a Learning Center toolbox.

Example Of TaskPane Toolbox Diagram

The title bar of the Learning Center toolbox is defined by the Alias of the «stereotype» Class; in the above diagram, Debugging Profile.

The content of the Learning Center page is defined by the following standard attribute types:

  • EASystem::ShowDoc(folder\filename.rtf) - these entries provide access to RTF documents (or any other text/document files), where folder is relative to the install folder and filename is the name of the (RTF) text file; this is a very significant attribute in creating Learning Center topics
  • EASystem::MenuCmd. - these entries name an Enterprise Architect main menu command inside round brackets - see the complete list of built-in Learning Center commands; type the text to appear in the Learning Center into the Initial Value field
  • EASystem::ShowHelp - these entries name a page from the Enterprise Architect User Guide inside round brackets - to find out the names of pages in the Enterprise Architect User Guide, right-click on the page and select the Properties context menu option; type the text to appear in the Learning Center into the Initial Value field
  • EASystem::ShowMovie - these entries give the URL of a movie inside round brackets - type the text to appear in the Learning Center into the Initial Value field
  • EASystem::ShowView(command) - these entries open an Enterprise Architect window, where command is one of the View commands from the second list of built-in Learning Center commands
  • EASystem::ShowURL - this entry gives the URL of a web page inside round brackets; type the text to appear in the Learning Center into the Initial Value field
  • isCommon: - a boolean attribute with Initial Value set to True, defines a Learning Center toolbox as common
  • SEPARATOR - this entry indicates that a separator should be placed in the Learning Center toolbox; if it is necessary to place multiple separators in a single toolbox, note that Enterprise Architect does not allow identically named attributes for a Class: simply change the case of one or more letters to get around the problem

You can also run Add-In functions from the Learning Center

Next Step:

The next step is to save the Learning Center Profile.

Learn more:

  • Define Links To Documents
  • Built-In Learning Center Commands
  • Run Add-In Functions
  • Save a Learning Center Profile


Define Links To Documents [Enterprise Architect User Guide]

Define Links To Documents

The primary purpose of the Learning Center is to provide information on specific topics, processes and actions, and the easiest way to present this information is in the form of one or more structured documents.

Therefore, within your Learning Center profile, you would probably have «stereotype» Classes containing several instances of the ShowDoc attribute; that is:

  • EASystem::ShowDoc(folder\filename.rtf)

These attributes identify buttons that provide access to text or document files, where folder is relative to the install folder and filename is the name of the (RTF) text file containing your structured document. For example:


Built-In Learning Center Commands [Enterprise Architect User Guide]

Built-In Learning Center Commands

The following Enterprise Architect commands can all be used in user-defined Learning Center profiles.

Learning Center pages that call functions have attributes named in the form EASystem::MenuCmd(<CommandName>) where <CommandName> is the name chosen from the following list:

  • AddDiagram
  • AddElement
  • AddPackage
  • AutoRecordThread
  • AddModelFromPattern
  • Build
  • BuildScripts
  • ConfigureCSV
  • ConfigureValidation
  • CreateBaseLine
  • CreateSequenceDiagram
  • DebugPause
  • DebugRun
  • DebugStop
  • Deploy
  • DiagramsOnlyReport
  • ElementUsage
  • ExportXMI
  • FileNew
  • FileOpen
  • GenerateDDL
  • GenerateWSDL
  • GenerateXMLSchema
  • ImplementationDetails
  • ImportBinary
  • ImportExportCSV
  • ImportSchema
  • ImportSourceDirectory
  • ImportWSDL
  • ImportXMI
  • ImportXMLSchema
  • Run
  • RunHTMLReport
  • RunRTFReport
  • SetClassifier
  • ShowHideExecution
  • StartDebugRecording
  • StepInto
  • StepOut
  • StepOver
  • StopDebugRecording
  • Test
  • TestingReport
  • ToggleLevelNumbering
  • TransformPackage
  • TransformSelectedElements
  • ValidateModel

Learning Center pages that call Enterprise Architect windows have attributes named in the form EASystem::ShowView(<Command) where <Command> is the name chosen from the following list:

  • ViewAuditing
  • ViewBreakpoints
  • ViewCallstack
  • ViewDebug
  • ViewDiagramAsList
  • ViewDiagramLayout
  • ViewDiagramToolBox
  • ViewElementList
  • ViewFileSearch
  • ViewForum
  • ViewGapAnalysis
  • ViewHierarchy
  • ViewLocals
  • ViewMaintenance
  • ViewMemory
  • ViewModelViews
  • ViewModules
  • ViewNotes
  • ViewOutput
  • ViewPackageScripts
  • ViewPanAndZoom
  • ViewProfiler
  • ViewProjectBrowser
  • ViewProjectCalendar
  • ViewProjectInfo
  • ViewProjectManagement
  • ViewPropertiesWindow
  • ViewRecording
  • ViewRelationships
  • ViewRelMatrix
  • ViewRequirementTypes
  • ViewResources
  • ViewRules
  • ViewScripting
  • ViewSearch
  • ViewSourceCode
  • ViewTaggedValues
  • ViewTaskAllocations
  • ViewTesting
  • ViewTestingDetails
  • ViewTestpoints
  • ViewTransformationTemplates
  • ViewWatches
  • ViewWebBrowser
  • ViewWorkbench


Run Add-In Functions [Enterprise Architect User Guide]

Run Add-In Functions

To run Add-In functions from the Learning Center, you create an attribute in the Learning Center «stereotype» Class with the following format:

"Assembly::FunctionName()"

where Assembly is the name of the Add-In and FunctionName is the name of a public function in the Add-In. Give the attribute an initial value of the text that is to appear in the Learning Center. The function receives two parameters and returns a success status, as in the following VB.Net example:

Public Function ShowMyDiagram(ByRef Repository As EA.Repository, ByVal args As Object) As String

Dim ret As String

ret = Repository.SQLQuery("select ea_guid from t_diagram where diagram_type='Custom' and StyleEx like
'*;MDGDgm=MyDiagrams::MyCustomDiagram;*'")

If ret Is Nothing Then

ShowMyDiagram = False

Exit Function

End If

Dim oXML As MSXML2.DOMDocument = New MSXML2.DOMDocument

oXML.loadXML(ret)

Dim NodeList As MSXML2.IXMLDOMNodeList = oXML.selectNodes("//ea_guid")

If NodeList.length = 0 Then

ShowMyDiagram = False

Exit Function

End If

Dim Node As MSXML2.IXMLDOMNode

Dim diag As EA.Diagram

If NodeList.length >= 1 Then

Node = NodeList.item(0)

diag = Repository.GetDiagramByGuid(Node.text)

Repository.OpenDiagram(diag.DiagramID)

Repository.ShowInProjectView(diag)

End If

ShowMyDiagram = True

End Function


Save a Learning Center Profile [Enterprise Architect User Guide]

Save a Learning Center Profile

The best organization structure for the model in which you are creating your Learning Center Profile is:

  • A single «profile» package
  • Three diagrams within the «profile» package named Toolboxes, Contexts and Context Allocations
  • Each toolbox page «stereotype» element is owned by the «profile» package and appears on the Toolboxes diagram
  • Each «metaclass» element is owned by the «profile» package and appears on the Toolboxes diagram.

From this structure, creating a Learning Center Profile is as simple as right-clicking on the «profile» package in the Project Browser and selecting the Save Package as UML Profile context menu option.


Define Validation Configuration [Enterprise Architect User Guide]

Define Validation Configuration

The Model Validation Configuration dialog can be opened using the Project | Model Validation | Configure... menu option. Using this dialog, you can choose which sets of validation rules are and are not executed when a user performs a validation. Rather than perform this configuration manually and potentially have to change the settings every time Enterprise Architect is started and a different technology is set active, you can define the configuration settings within the MTS file.

To specify a set of rules as a white-list (that is, anything added to this list is turned ON), open your MTS file in a text editor and copy and paste the following <ModelValidation> block at the top level inside the <MDG.Selections> block:

<ModelValidation>

<RuleSet name="BPMNRules"/> <!-- ruleset ID defined in the Project.DefineRuleCategory call -->

<RuleSet name="MVR7F0001"/> <!-- notice you can turn on/off system rules as well! -->

</ModelValidation>

Ensure that the ruleset IDs do not contain any spaces.

To specify a set of rules as a black-list (that is, anything added to this list is turned OFF), open your MTS file in a text editor and copy and paste the following <ModelValidation> block at the top level inside the <MDG.Selections> block:

<ModelValidation isBlackList="true">

<RuleSet name="BPMNRules"/>

<RuleSet name="MVR7F0001"/>

</ModelValidation>

In the examples above, "BPMNRules" is the rule-set ID defined in the Project.DefineRuleCategory call - see Project Interface for details. "MVR7F0001" is one of Enterprise Architect's built-in rule-sets. These validation options are applied when you activate the appropriate technology. The global (default) technology has all rules turned on.


Incorporate Model Templates [Enterprise Architect User Guide]

Incorporate Model Templates

Model Templates can be added into a model, either on creation of the model, or at any time by right-clicking on a package in the Project Browser and selecting the Add | Add a New Model using Wizard... context menu option. To include your own model templates in this dialog, add them to your MDG Technology as described in the following table:

Step

Action

See also

1

Create a package that contains all sub-packages, diagrams, elements, notes and information links that you want to provide in the model template

See the Model Templates section and the EAExample.eap model for illustrations of what you might include, or create a model from a standard template and see what is generated

Your model template package must be self contained and not contain any dependencies or other links to elements outside the package

Model Templates

Model Wizard

2

Export your package to XMI

Export to XMI

3

Create a reference to the XMI file in the MTS file; open your MTS file in a text editor and copy and paste the following <ModelTemplates> block at the top level inside the <MDG.Selections> block:

<ModelTemplates>

<Model name="Template Name"

description="This is the description."

location="MyTemplatePackage.xml"

default="yes"

icon = "34"

filter= "Filter Name"/>

</ModelTemplates>

Working with MTS Files

You can include as many <ModelTemplates> blocks in your MTS file as you have model templates. The attributes have the following meanings:

  • Model name: The name of the model template to show in the Select model(s) dialog, which displays when you create a new model or when you execute the Add a New Model using Wizard menu option
  • description: The text to display in the Select model(s) dialog when the name is selected
  • location: The path of the XML file that contains the XMI export of the model template package, relative to the location of the MDG Technology file; if the XMI file is in the same folder as the technology file then this just contains the file name
  • default: Contains either yes to indicate that the model template is checked by default, or no to indicate that the model template is un-checked by default
  • icon: Contains an index to Enterprise Architect's base icons list; to show the appropriate view icon, use one of the following values: 29 = Use Case, 30 = Dynamic; 31 = Class; 32 = Component; 33 = Deployment; 34 = Simple
  • filter: If you have a large number of model templates, you can group them on the Select model(s) dialog by giving all the model templates in the same group the same filter name; the filter name given appears in the Select from: list box in the Select model(s) dialog


Set Up Technology Element Images [Enterprise Architect User Guide]

Set Up Technology Element Images

This topic outlines how to capture images to represent MDG Technology elements, so that the images are displayed on a diagram a user creates through the technology when it is deployed in the user's model. Note that you would probably work backwards and forwards through the steps many times, adding objects as you identify the requirement for them.

To capture images to represent MDG Technology elements, follow the steps below

Step | Action | See also
1 | Import suitable images into the MDG Technology development model from various sources, using the Add New button on the Image Manager. | Image Manager
2 | Design and create a Stereotype (UML) Profile containing (if appropriate) a stereotype definition for each element or connector to be owned by the technology. These stereotype definitions can contain Shape Scripts that in turn incorporate the imported images. | Stereotype (UML) Profile Shape Scripts Drawing Methods
3 | Design and create a Toolbox Profile with stereotype elements that contain an attribute for each element or connector that can be dropped onto a diagram from the toolbox. These attributes identify the name of the technology element or connector, any modifying stereotype (which might incorporate the required image) and the UML or Extended element or connector on which the technology object is based. For example: SysML:: Block(UML::Class), where SysML is the Technology Profile, UML::Class is the UML element used as the base, and Block is the stereotype that modifies the Class to turn it into a SysML Block element. | Toolbox Profiles
4 | Design and create a Diagram Profile that identifies the Toolbox Profile. When a diagram of the type defined in the Diagram Profile is opened, it in turn opens a set of toolbox pages as defined by the Toolbox Profile. | Diagram Profiles
5 | Create or update the technology as required, adding the Stereotype Profile, Diagram Profile, Toolbox Profile and Image files to the technology from the development model. | Creating MDG Technologies Adding Stereotype Profile Adding Diagram Profile Adding Toolbox Profile Adding Image Files
6 | Deploy the technology as appropriate. When a user applies the technology to their own model, and creates a diagram under that technology, the elements they create on the diagram should be represented by the images you assigned to those elements when you created the technology. | Deploying MDG Technologies


Deploy An MDG Technology [Enterprise Architect User Guide]

Deploy An MDG Technology

An MDG Technology can be deployed in one of two ways: as a file or from an Add-In.

Deploy From a File

To deploy your technology as a file, you have a number of choices:

  • Import it into the %APPDATA% folder. See the Import MDG Technologies topic.
  • Copy it to a folder named MDGTechnologies, which you must create under your Enterprise Architect installation directory (by default this is C:\Program Files\Sparx Systems\EA. When you restart Enterprise Architect, your MDG Technology is deployed.
  • Copy it to any folder in your file system, including network drives: use the Enterprise Architect Settings | MDG Technologies... menu option, press the Advanced button and add the folder to the Technologies path. This deployment method enables you to quickly and easily deploy a technology to all Enterprise Architect users on a LAN.
  • Upload it to an internet or intranet location: use the Enterprise Architect Settings | MDG Technologies... menu option, press the Advanced button and add the URL to the Technologies path. This deployment method enables you to quickly and easily deploy a technology to an even wider group of Enterprise Architect users.

Deploy From an Add-in

To deploy your technology from an Add-In, you must write an EA_OnInitializeTechnologies function. The following example is written in VB.Net:

Public Function EA_OnInitializeTechnologies(ByVal Repository As EA.Repository) As Object

EA_OnInitializeTechnologies = My.Resources.MyTechnology

End Function


Shape Scripts [Enterprise Architect User Guide]

Shape Scripts

Introduction:

Enterprise Architect Shape Scripts enable you to specify custom shapes via a scripting language. These custom shapes are drawn instead of the standard UML notation. Each script is associated with a particular stereotype, and is drawn for every element of that stereotype.

The following topics describe how to create and apply Shape Scripts:

  • Getting Started with Shape Scripts
  • Shape Editor
  • Shape Script Overview
  • Write Scripts
  • Example Scripts
  • Add Shape Scripts to UML Profiles

Learning Center topics:

  • (Alt+F1) | Modeling Languages | Defining Scripts


Getting Started With Shape Scripts [Enterprise Architect User Guide]

Getting Started With Shape Scripts

Shape Scripts are associated with stereotypes and are defined via the Stereotypes tab of the UML Types dialog. Each stereotype defined can have a Shape Script.

Access: Settings | UML Types > Stereotypes: Shape Script

Step | Action | See also
1 | You can create a Shape Script for an existing stereotype by selecting the stereotype from the list Alternatively, you can create new stereotypes by clicking on the New button and giving the stereotype a name - select a base Class and click on the Save button Once the stereotype is saved, it displays in the list |
2 | To override the appearance, select the Shape Script radio button and then click on the Assign button The Shape Script Editor displays | Shape Script Overview Shape Script Editor
3 | Type the Shape Scripts in the Edit window Click on the Refresh button in order to view the shape in the preview window | Writing Scripts
4 | If you define a composite Shape Script (such as the connector at the end of the Example Scripts topic), click on the Next Shape button to page through the components of the shape | Example Scripts
5 | Once you have finished writing your Shape Script, click on the OK button To save the Shape Script you must click on the Save button on the Stereotypes tab |
6 | Once you have created your Shape Script for a particular stereotype, you can assign that stereotype to an element or connector; the appearance reflects the Shape Script you created To do this, drag and drop the appropriate element or connector into your diagram |
7 | Right-click on the element or connector and select the Properties context menu option Click on the Stereotype field drop-down arrow, select the stereotype you created and click on the OK button The object's shape now reflects the Shape Script you created |

Notes:

  • If an element's appearance is modified by a Shape Script, many of the options on the Advanced context menu for that element are disabled


Shape Editor [Enterprise Architect User Guide]

Shape Editor

The Shape Editor enables you to create Shape Scripts. It provides the facilities of the Common Code Editor, including intellisense for Shape Script attributes and functions.

You create the Shape Script on a stereotype that you type in or select on the Stereotype field on the UML Types dialog.

Access: Settings | UML Types > Stereotypes (specify stereotype): Shape Script, Assign

Reference:

Field | Usage | See also
Format | Select the Shape Script version |
Import | Import a Shape Script from a text file |
Export | Export a Shape Script to a text file |
OK | Exit from the Shape Editor, don't forget to save your script on the Stereotypes tab | Getting Started With Shape Scripts
Next Shape | Rotate though the multiple shape definitions |
Refresh | Parse your script and display the result in the Preview window |

Learn More

  • Code Editors, for more information on intellisense and the Common Code Editor


Shape Script Overview [Enterprise Architect User Guide]

Shape Script Overview

Using Shape Scripts you can define a model image for elements and connectors.

Topics:

Topic

Description

See Also

Abstract

Shape Scripts contain a number of sections for defining different aspects of the image produced; for an element these include:

  • Main object
  • Label
  • Decoration (e.g. a Document element might contain an icon depicting a document)

For a connector these include:

  • Main object
  • Shape Source
  • Shape Target
  • Labels

Shape Scripts work on the basis that a default pattern is maintained unless a script contains an alternative definition; for example:

  • If you have a Shape Script with just a decoration, this decoration is added on top of the normally-drawn object
  • If you have an empty shape routine, it overrides the default; so, a blank 'shape label' prevents the creation of the floating text label for elements that have them

Scripting is NOT case-sensitive: 'Shape' is the same as 'shape'

Block Layout: Element Example

Below is a simple block example of a script for an element:

shape main

{

// draw the object

}

shape label

{

// draw a floating text label

}

decoration <identifier>

{

// draw a 16x16 decoration inside the object

}

The <identifier> string is an alphanumeric word

Block Layout: Connector Example

For a connector the example is:

shape main

{

// draw the line

}

shape target

{

// draw the shape at the target end

}

shape source

{

// draw the shape at the source end

}

label <positionLabel>

{

// define the text for the label

}

The <positionLabel> string can be any of:

  • lefttoplabel
  • leftbottomlabel
  • middletoplabel
  • middlebottomlabel
  • righttoplabel
  • rightbottomlabel

Order of declaration

Shapes can consist of Attribute declarations, Command calls and Sub Shape definitions, which must appear in that order; that is, Attribute declarations must appear before all Command calls and Sub Shape definitions must appear last

Shape Attributes

Sub-Shapes

Sub Shapes

A shape can have Sub Shapes

Sub Shapes must be declared after the main Shape Script, but called from the Method commands

The following is an example of the ordering for declarations:

shape main

{

//Initialisation Attributes - these must be before drawing commands

noshadow = "true";

h_align = "center";

//drawing commands (Methods)

rectangle(0,0,100,100);

println("foo bar");

// call the sub-shape

addsubshape("red", 20, 70);

// definition of a sub-shape

shape red

{

setfillcolor(200, 50, 100);

rectangle(50,50,100,100);

}

}

//definition of a label

shape label

{

setOrigin("SW",0,0);

println("Object: #NAME#");

}

//definition of a Decoration

decoration triangle

{

// Draw a triangle for the decoration

startpath();

moveto(0,30);

lineto(50,100);

lineto(100,0);

endpath();

setfillcolor(153,204,255);

fillandstrokepath();

}

Drawing Methods

Learn more:

  • Write Scripts
  • Example Scripts


Write Scripts [Enterprise Architect User Guide]

Write Scripts

This topic is a detailed reference for writing Shape Scripts. For an introduction to writing Shape Scripts, see the Getting Started With Shape Scripts and Example Scripts topics.

See the following reference topics for more detailed information on shape scripting:

  • Shape Attributes
  • Drawing Methods
  • Color Queries
  • Conditional Branching
  • Query Methods
  • Display Element/Connector Properties
  • Sub-shapes
  • Reserved Names
  • Miscellaneous
  • Syntax Grammar

Learn More:

  • Getting Started With Shape Scripts
  • Example Scripts


Shape Attributes [Enterprise Architect User Guide]

Shape Attributes

Syntax:

attribute "=" value ";"

Example:

shape main

{

//Initialisation attributes - must be before drawing commands

noshadow = "true";

h_align = "center";

//drawing commands

rectangle(0,0,100,100);

println("foo bar");

}

Attributes:

Attribute Name | Type | Description | See also
bottomAnchorOffset | (int,int) | When creating a Shape Script for an embedded element (such as a Port), use this attribute to offset the shape from the bottom edge of its parent. For example: bottomAnchorOffset=(0,-10); move embedded element up 10 pixels from the bottom edge |
dockable | string | Makes the shape default to dockable, so that it can be aligned with and joined to other elements (both other Shape Scripts and standard elements) on a diagram. You cannot reverse the dockable status with the Appearance menu option; to change the status, you must edit the Shape Script. Valid values: standard or off | Appearance Menu Section
editableField | string | Defines a shape as an editable region of the element. This field impacts element shapes only, line glyphs are not supported. Valid Values: alias, name, note, stereotype |
endPointY, endPointX | integer | Only used for the reserved target and source shapes for connectors; this point determines where the main connector line connects to the end shapes. Default: 0 and 0 |
fixedAspectRatio | string | Set to true to fix the aspect ratio. Do not use if you do not want to fix the aspect ratio. |
h_Align | string | Affects horizontal placement of printed text and subshapes depending on the layoutType attribute. Valid values: left, center, or right |
layoutType | string | Determines how subshapes are sized and positioned. See Subshape Layout for further details. Valid values: leftright, topdown, border | Subshape Layout
leftAnchorOffset | (int,int) | When creating a Shape Script for an embedded element (such as a Port), use this attribute to offset the shape from the left edge of its parent. For example: leftAnchorOffset=(10,0); move embedded element right 10 pixels from the left edge |
noShadow | string | Set to true to suppress the shapes shadow from being rendered. Valid values: true or false (default= false) |
orientation | string | Applies to decoration shapes only. Determines where the decoration is positioned within the containing element glyph. Valid values: NW, N, NE, E, SE, S, SW, W |
preferredHeight |  | Used by border layoutType - north and south Used in drawing the source and target shapes for connectors to determine how wide the line is. |
preferredWidth |  | Used by border layoutType - east and west. Used by leftright layoutType, shapes where scalable is false to determine how much space they occupy for layout purposes. |
rightAnchorOffset | (int,int) | When creating a Shape Script for an embedded element (such as a Port), use this attribute to offset the shape from the right edge of its parent. For example: rightAnchorOffset=(-10,0); move embedded element left 10 pixels from the right edge |
rotatable | string | Set to false to prevent rotation of the shape. This attribute is only applicable to the source and target shapes for lines glyphs. Valid values: true or false (default = true) |
scalable | string | Set to false to stop the shape from being relatively sized to the associated diagram glyph. Valid values: true or false (default= true) |
topAnchorOffset | (int,int) | When creating a Shape Script for an embedded element (such as a Port), use this attribute to offset the shape from the top edge of its parent. For example: topAnchorOffset=(0,10); move embedded element down 10 pixels from the top edge |
v_Align | string | Affects vertical placement of printed text and subshapes depending on the layoutType attribute. Valid values: top, center, or bottom |


Drawing Methods [Enterprise Architect User Guide]

Drawing Methods

Syntax:

<MethodName> "(" <ParameterList> ")";";

Example:

shape main

{

//Initialisation Attributes - these must be before drawing commands

noshadow = "true";

h_align = "center";

//drawing commands (Methods)

rectangle(0,0,100,100);

println("foo bar");

}

Methods:

Method Name

Description

See also

addsubshape(
string shapename( ,
int width,
int height ) )

Adds a sub-shape with the name shapename that must be defined within the current shape definition

arc(
int left,
int top,
int right,
int bottom,
int startingpointx,
int startingpointy,
int endingpointx,
int endingpointy)

Draws an elliptical anticlockwise arc with the ellipse having extents at left, top, right and bottom

The start point of the arc is defined by the intersection of the ellipse and the line from the center of the ellipse to the point (startingpointx, startingpointy)

The end of the arc is similarly defined by the intersection of the ellipse and the line from the center of the ellipse to the point (endingpointx, endingpointy)

For example:

Arc(0, 0, 100, 100, 95, 0, 5, 0);

arcto(
int left,
int top,
int right,
int bottom,
int startingpointx,
int startingpointy,
int endingpointx,
int endingpointy)

As for the arc method, except that a line is drawn from the current position to the starting point of the arc, and then the current position is updated to the end point of the arc

bezierto(
int controlpoint1x,
int controlpoint1y,
int controlpoint2x,
int controlpoint2y,
int endpointx,
int endpointy)

Draws a bezier curve and updates the pen position

defSize(int width, int height)

Sets the default size of the element

This can appear in IF and ELSE clauses with different values in each, and causes the element to be resized automatically each time the values change; for example:

if(HasTag("horizontal","true")) {
defSize(100,20);
rectangle(0,0,100,100);
}
else {
defSize(20,100);
rectangle(0,0,100,100);
}

The above example sets the shape to the specified default size each time the Tagged Value horizontal is changed

When this is set, (Alt+Z) also resizes the shape to the defined dimensions

The minimum value for both int width and int height is 10

drawnativeshape()

Causes Enterprise Architect to render the shape using its usual, non-Shapescript notation; subsequent drawing commands are super-imposed over the native notation

This method is only enabled for element Shape Scripts; line Shape Scripts are not supported

ellipse(
int left,
int top,
int right,
int bottom)

Draws an ellipse with extents defined by left, top, right and bottom

endpath()

Ends the sequence of drawing commands that define a path

fillandstrokepath()

Fills the previously defined path with the current fill color, then draws its outline with the current pen

fillpath()

Fills the previously defined path with the current fill color

hidelabel(
string labelname)

Hides the label specified by labelname, where labelname is one of the following values:

  • middletoplabel
  • middlebottomlabel
  • lefttoplabel
  • leftbottomlabel
  • righttoplabel
  • rightbottomlabel

image(
string imageId,
int left,
int top,
int right,
int bottom)

Draws the image that has the name imageId in the Image Manager

The image must exist within the model in which the stereotype is used; if it does not already exist in the model, you must import it as reference data or select it from within a technology file

If the image is in a technology file, it should have a filename of the format <technology ID>::<imagename>.<extension>

Reference data

Adding images in MDG technology

lineto(
int x,
int y)

Draws a line from the current cursor position to a point specified by x and y, and then updates the pen cursor to that position

moveto(
int x,
int y)

Moves the pen cursor to the point specified by x and y

polygon(
int centerx,
int centery,
int numberofsides,
int radius,
float rotation)

Draws a regular polygon with center at the point (centerx, centery), and numberofsides number of sides

print(
string text)

Prints the specified text string

You cannot change the font size, type or color of this text

printifdefined(
string propertyname,
string truepart( ,
string falsepart ) )

Prints the truepart if the given property exists and has a non-empty value, otherwise prints the optional falsepart

You cannot change the font size, type or color of this text

println(
string text)

Appends a line of text to the shape and a line break

You cannot change the font size, type or color of this text

printwrapped(
string text)

Prints the specified text string, wrapped over multiple lines if the text is wider than its containing shape

You cannot change the font size, type or color of this text

rectangle(
int left,
int top,
int right,
int bottom)

Draws a rectangle with extents at left, top, right, bottom. Values are percentages

roundrect(
int left,
int top,
int right,
int bottom,
int abs_cornerwidth,
int abs_cornerheight)

Draws a rectangle with rounded corners, with extents defined by left, top, right and bottom

The size for the corners is defined by abs_cornerwidth and abs_cornerheight; these values do not scale with the shape

setdefaultcolors()

Returns the brush and pen color to the default settings, or to the user-defined colors if available

Color Queries

setfillcolor(
int red,
int green,
int blue)

setfillcolor(
Color newColor)

Sets the fill color

You can specify the required color by defining RGB values or using a color value returned by any of the Color Queries such as:

GetUserFillColor()

Color Queries

setfixedregion(
int xStart,
int yStart,
int xEnd,
int yEnd)

Fixes a region in a connector into which a subshape can be drawn, so that the subshape is not rescaled with the length or orientation of the connector line

For an example, see the end of the table in the Example Scripts topic

Example Scripts

setlinestyle(
string linestyle)

Changes the stroke pattern for commands that use the pen

string linestyle: has the following valid styles:

  • solid
  • dash
  • dot
  • dashdot
  • dashdotdot

setorigin(
string relativeTo,
int xOffset,
int yOffset)

Positions floating text labels relative to the main shape

relativeTo is one of N, NE, E, SE, S, SW, W, NW, CENTER

xOffset and yOffset are in pixels, not percentage values, and can be negative

setpen(
int red,
int green,
int blue( ,
int penwidth ) )

Sets the pen to the defined color and optionally sets the pen width

This method is only for line-drawing commands. It does not affect any text commands

setpencolor(
int red,
int green,
int blue)

setpencolor(
Color newColor)

Sets the pen color

You can specify the required color by defining RGB values or using a color value returned by any of the Color Queries; for example:

GetUserFillColor()

This method is only for line-drawing commands. It does not affect any text commands

Color Queries

setpenwidth(
int penwidth)

Sets the width of the pen. Pen width should be between 1 and 5

This method is only for line-drawing commands. It does not affect any text commands

showlabel(
string labelname)

Reveals the hidden label specified by labelname, where labelname is one of the following values:

  • middletoplabel
  • middlebottomlabel
  • lefttoplabel
  • leftbottomlabel
  • righttoplabel
  • rightbottomlabel

startcloudpath(
puffWidth,
puffHeight,
noise)

Similar to StartPath, except that it draws the path with cloud-like curved segments (puffs)

Parameters:

  • float puffWidth (default = 30), the horizontal distance between puffs
  • float puffHeight (default = 15), the vertical distance between puffs
  • float noise (default = 1.0), the randomization of the puffs' positions

startpath()

Starts the sequence of drawing commands that define a path

strokepath()

Draws the outline of the previously defined path with the current pen


Color Queries [Enterprise Architect User Guide]

Color Queries

Color queries can only be used to retrieve arguments for the SetPenColor and SetFillColor commands. These queries can be used in place of the arguments.

getUserFillColor()
getUserBorderColor()
getUserFontColor()
getUserPenSize()

shape main

{

setfillcolor(getuserbordercolor());

setpencolor(getuserfillcolor());

rectangle(0,0,100,100);

}


Conditional Branching [Enterprise Architect User Guide]

Conditional Branching

Shape Scripts provide condition branching with the if else statement, and query methods that evaluate to either True or False. See:

  • Syntax Grammar for IF statement syntax
  • Query Methods for methods that can be used as the conditional expression for IF statements
  • Example Scripts for an example.


Query Methods [Enterprise Architect User Guide]

Query Methods

Two query methods are available for seeing if the associated element has certain tags or properties; these methods can be used as the conditional expression for an if else statement.

Method | Description | See also
boolean HasTag( string tagname, ( string tagvalue ) ) | Returns true if the associated element has a tag value with the name tagname If the second parameter tagvalue is provided, the tag tagname must be present, and the value of the tag has to be equal to tagvalue for the method to return true |
boolean HasProperty( string propertyname, ( string propertyvalue ) ) | Returns true if the associated element has a property with the name propertyname If the second parameter propertyvalue is provided, the property must be present, and the value of the property has to be equal to propertyvalue for the method to return true | Display Element/Connector Properties


Display Element/Connector Properties [Enterprise Architect User Guide]

Display Element/Connector Properties

The commands print, println, and printwrapped all take a string parameter representing the text to be printed. Element and connector properties can be added to the text using the substitution macro #propertyname#.

For example: println("name: #NAME#");

In addition to the properties listed below, Tagged Values can also be displayed by prefixing the Tagged Value name with TAG:.

For example: print("#TAG:condition#");

You can also test against and display an element's custom properties in the same way as you do the named properties.

For example: if(hasproperty("Name","Value"))
...

and: print("#Name#");

There are further examples of Shape Scripts and commands in the Example Scripts topic.

Properties for Element Shape Scripts

  • addin (value returned from an Add-In)
  • alias
  • author
  • cardinality
  • classifier
  • classifier.alias
  • classifier.metatype
  • classifier.stereotype
  • classifier.type
  • complexity
  • concurrency
  • datecreated
  • datemodified
  • diagram.handdrawn
  • diagram.mdgtype
  • diagram.name
  • diagram.stereotype
  • diagram.type
  • haslinkeddocument
  • isabstract
  • isactive
  • iscomposite
  • isembedded
  • isinparent
  • isleaf
  • islocked
  • isroot
  • isspec
  • istagged
  • keywords
  • language
  • metatype
  • multiplicity
  • name
  • notes
  • packagename
  • parentedge ("right", "left", "top", "bottom")
  • parent.metatype
  • persistence
  • phase
  • propertytype
  • propertytype.alias
  • propertytype.metatype
  • propertytype.name
  • propertytype.stereotype
  • scope
  • status
  • stereotype
  • type
  • version
  • visibility

Properties for Connector Shape Scripts

  • addin (value returned from an Add-In)
  • alias
  • diagram.connectornotation
  • diagram.handdrawn
  • diagram.mdgtype
  • diagram.name
  • diagram.stereotype
  • diagram.type
  • direction
  • effect
  • guard
  • isroot
  • isleaf
  • name
  • notes
  • rotationdirection ("up", "down", "left", "right")
  • source.aggregation
  • source.alias
  • source.changeable
  • source.constraints
  • source.element.name
  • source.element.stereotype
  • source.metatype
  • source.multiplicity
  • source.multiplicityisordered
  • source.name
  • source.qualifiers
  • source.stereotype
  • source.targetscope
  • stereotype
  • subtype
  • target.aggregation
  • target.alias
  • target.changeable
  • target.constraints
  • target.element.name
  • target.element.stereotype
  • target.metatype
  • target.multiplicity
  • target.multiplicityisordered
  • target.name
  • target.qualifiers
  • target.stereotype
  • target.targetscope
  • type
  • weight


Sub-Shapes [Enterprise Architect User Guide]

Sub-Shapes

Shapes can contain - and be composed of - other shapes.

Subshape Layout:

To set the layout type, the layoutType attribute must be set in the initialization attributes section of the script; in other words, before any of the methods are called. Valid values for this attribute are:

  • LeftRight - Shapes with leftright layout position subshapes side by side, with the first added on the left, and subsequent subshapes to the right
  • TopDown - TopDown places subshapes in a vertical arrangement, with the first shape added to the top and subsequent shapes added below
  • Border - Border layout requires an additional argument to the addsubshape method to specify which region of the containing shape the subshape is to occupy: N, E, S, W or CENTER; each region can only be occupied by one subshape

    A subshape that is assigned to the E or W region must have its preferredwidth attribute specified in its declaration and, similarly, subshapes added to N or S must have their preferredheight attribute set; in this case, the values for these attributes are treated as static lengths and do not scale glyphs

For example:

shape main

{

layouttype="topdown";

setfillcolor(0,0,255);

rectangle(0,0,100,100);

addsubshape("sub",50,100,20,0);

addsubshape("sub",50,100,30,-100);

addsubshape("sub",50,100,40,-200);

addsubshape("sub",50,100,50,-300);

shape sub

{

setfillcolor(0,255,0);

ellipse(0,0,100,100);

}

}

The above script provides the following shape:


Reserved Names [Enterprise Architect User Guide]

Reserved Names

Elements

Elements (such as Class, State or Event) have the following reserved names for parts of the shape.

Name | Description
shape main | The main shape is the whole shape.
shape label | The shape label gives the shape a detached label.
decoration <identifier> | Decoration gives the shape a decoration as defined by the name in <identifier>.

Connectors

Connectors (such as Association, Dependency or Generalization) have the following reserved names for parts of the shape.

Name

Description

shape main

The main shape is the whole shape.

shape source

The source shape is an extra shape at the source end of the connector.

shape target

The target shape is an extra shape at the target end of the connector.

shape <labelID>

The <labelID> gives the connector a detached label, where <labelID> is one of the following:

  • LeftTopLabel
  • MiddleTopLabel
  • RightTopLabel
  • LeftBottomLabel
  • MiddleBottomLabel
  • RightBottomLabel


Miscellaneous [Enterprise Architect User Guide]

Miscellaneous

Return Command

Execution of the script can be terminated by using the return command. Please see Example Scripts for an example.

Looping

The Shape Script feature does not support looping constructs.

Comments

C-style comments are supported. For example:

// C Style Single Line comment

/* Multi Line

comment supported */

String Manipulation

Not Supported.

Arithmetical Operations

Not Supported.

Variables Declaration

Not Supported.

Change ShapeScript Fonts

Not possible.

Can I apply a Shapescript without using Stereotypes?

No.


Syntax Grammar [Enterprise Architect User Guide]

Syntax Grammar

Grammar symbols:

  • * = zero or more
  • + = one or more
  • | = or
  • ; = terminator
ShapeScript | ::= | <Shape>*;
Shape | ::= | <ShapeDeclaration> <ShapeBody>;
ShapeDeclaration | ::= | <ShapeType> <ShapeName>;
ShapeType | ::= | "shape" | "decoration";
ShapeName | ::= | <ReservedShapeName> | <stringliteral>;
ReservedShapeName | ::= | See Reserved Names for full reserved shape listing
ShapeBody | ::= | "{" <InitialisationAttributeAssignment>* <DrawingStatement>* <SubShape>* "}";
InitialisationAttributeAssignment | ::= | <Attribute> "=" <Value> ";";
Attribute | ::= | See Shape Attributes for full listing of attribute names
DrawingStatement | ::= | <IfElseSection> | <Method>;
IfElseSection | ::= | "if" "(" <QueryExpression> ")" <TrueSection> ( <ElseSection> ) ;
QueryExpression | ::= | <QueryName> "(" <ParameterList> ")";
QueryName | ::= | See Query Methods for a full listing of Query names
TrueSection | ::= | "{" <DrawingStatement>* "}"
ElseSection | ::= | "else" "{" <DrawingStatement>* "}"
Method | ::= | <MethodName> "(" <ParameterList> ")" ";";
MethodName | ::= | See Drawing Methods for a full listing of method names


Example Scripts [Enterprise Architect User Guide]

Example Scripts

Below is a selection of example Shape Scripts.

Code | Result
// BASIC SHAPES shape main { setfillcolor(255,0,0); // (R,G,B) rectangle(0,0,90,30); // (x1,y1,x2,y2) setfillcolor(0,255,0); // (R,G,B) ellipse(0,30,90,60); // (x1,y1,x2,y2) setfillcolor(0,0,255); // (R,G,B) rectangle(0,60,90,90); // (x1,y1,x2,y2) } |
// SINGLE CONDITIONAL SHAPE shape main { if (HasTag("Trigger","Link")) {// Only draw if the object has a Tagged Value // Trigger=Link // Set the fill color for the path setfillcolor(0,0,0); startpath(); // Start to trace out a path moveto(23,40); lineto(23,60); lineto(50,60); lineto(50,76); lineto(76,50); lineto(50,23); lineto(50,40); endpath(); // End tracing out a path // Fill the traced path with the fill color fillandstrokepath(); return; } } |
// MULTI CONDITIONAL SHAPE shape main { startpath(); ellipse(0,0,100,100); endpath(); fillandstrokepath(); ellipse(3,3,27,27); if (HasTag("Trigger","None")) { return; } if (HasTag("Trigger","Error")) { setfillcolor(0,0,0); startpath(); moveto(23,77); lineto(37,40); lineto(60,47); lineto(77,23); lineto(63,60); lineto(40,53); lineto(23,77); endpath(); fillandstrokepath(); return; } if (HasTag("Trigger","Message")) { rectangle(22,22,78,78); moveto(22,22); lineto(50,50); lineto(78,22); return; } } |
// SUB SHAPES shape main { rectangle(0,0,100,100); addsubshape("red", 10, 20); addsubshape("blue", 30, 40); addsubshape("green", 50, 20); addsubshape("red", 100, 20); shape red { setfillcolor(200, 50, 100); rectangle(0,0,100,100); } shape blue { setfillcolor(100, 50, 200); rectangle(0,0,100,100); } shape green { setfillcolor(50, 200, 100); rectangle(0,0,100,100); } } | SubShapes
// EDITABLE FIELD SHAPE shape main { rectangle(0,0,100,100); addsubshape("namecompartment", 100, 20); addsubshape("stereotypecompartment", 100, 40); shape namecompartment { h_align = "center"; editablefield = "name"; rectangle(0,0,100,100); println("name: #name#"); } shape stereotypecompartment { h_align = "center"; editablefield = "stereotype"; rectangle(0,0,100,100); println("stereotype: #stereotype#"); } } | Editable Field Shape
// RETURN STATEMENT SHAPE shape main { if(hasTag("alternatenotation", "false")) { //draw ea's inbuild glyph drawnativeshape(); //exit script with the return statement return; } //alternate notation commands //... rectangle(0,0,100,100); } |
//EMBEDDED ELEMENT SHAPE POSITION ON PARENT EDGE shape main { defsize(60,60); startpath(); if(hasproperty("parentedge","top")) { moveto(0,100); lineto(50,0); lineto(100,100); } if(hasproperty("parentedge","bottom")) { moveto(0,0); lineto(50,100); lineto(100,0); } if(hasproperty("parentedge","left")) { moveto(100,0); lineto(0,50); lineto(100,100); } if(hasproperty("parentedge","right")) { moveto(0,0); lineto(100,50); lineto(0,100); } endpath(); setfillcolor(153,204,255); fillandstrokepath(); } |
// CLOUD PATH EXAMPLE SHAPE shape main { StartCloudPath(); Rectangle(0,0,100,100); EndPath(); FillAndStrokePath(); } | CloudPathExample
// CONNECTOR SHAPE shape main { // draw a dashed line noshadow=true; setlinestyle("DASH"); moveto(0,0); lineto(100,0); } shape source { // draw a circle at the source end rotatable = true; startpath(); ellipse(0,6,12,-6); endpath(); fillandstrokepath(); } shape target { // draw an arrowhead at the target end rotatable = true; startpath(); moveto(0,0); lineto(16,6); lineto(16,-6); endpath(); fillandstrokepath(); } | NewConnector
// DOUBLE LINE shape main { setlinestyle("DOUBLE"); moveto(0,0); lineto(100,0); } | DoubleLineConn
// ROTATION DIRECTION shape main { moveto(0,0); lineto(100,0); setfixedregion(40,-10,60,10); rectangle(40,-10,60,10); if(hasproperty("rotationdirection","up")) moveto(60,-10); lineto(50,0); lineto(60,10); } if(hasproperty("rotationdirection","down")) { moveto(40,-10); lineto(50,0); lineto(40,10); } if(hasproperty("rotationdirection","left")) { moveto(40,-10); lineto(50,0); lineto(60,-10); } if(hasproperty("rotationdirection","right")) { moveto(40,10); lineto(50,0); lineto(60,10); } } |


Tagged Value Types [Enterprise Architect User Guide]

Tagged Value Types

Enterprise Architect provides a number of predefined Tagged Value Types that enable you to create your own:

  • Tagged Values that are structured with a specific format, with or without tag filters, or
  • Tagged Values that return values from the various reference data tables.

You can also use a masking parameter to create your own customized masked Tagged Value Type.

Notes:

  • You can transport Tagged Value Type definitions between models, using the Export Reference Data and Import Reference Data options; Tagged Value Types are exported as Property Types

Learn More:

  • Predefined Tagged Value Types
  • Predefined Tagged Value Type Filters
  • Custom Tagged Value Type
  • Reference Data
  • Export Reference Data
  • Import Reference Data


Predefined Structured Types [Enterprise Architect User Guide]

Predefined Structured Types

This table details the predefined structured Tagged Value types, along with the syntax used to create the initial values for their use. You use these to create your own structured Tagged Values.

Tagged Value Type and Format entries are case-sensitive.

Tagged Value Type

Format

Description

See also

AddinBroadcast

Type=AddinBroadcast:
Values=YourAddinName;

Allows an AddIn to respond to an attempt to edit this Tagged Value by showing a dialog in which the value and notes can be edited

Boolean

Type=Boolean;
Default=Val;

Enables input of True or False, either of which can be the default value

Classifier

Type=Classifier;
Values=Type1,Type2;
Stereotypes=Stereotype1;

Deprecated - use RefGUID and RefGUIDList

Returns the name of a user-selected element from the model, where Type1 and Type2 specify one or more allowed element types and Stereotype1 represents an allowed stereotype

Color

Type=Color;
Default=Val;

Enables input of a color value from a color chooser menu, where the value is the decimal integer translation of the color's Hex RGB value

For example, the RGB for Red is FF, and the decimal value is 255

Const

Type=Const;
Default=Val;

Enables creation of a read-only constant value

Custom

Type= Custom;

Enables you to create your own template for predefined types; more information is provided in the Create Custom Tagged Value Type topic.

Create Custom Tagged Value Type

DateTime

Type=DateTime;

Enables input of the date and time for the Tagged Value from a calendar menu.

Directory

Type=Directory;
Default=Val;

Enables entry of a directory path from a browser.

You can set a default directory path as a string value.

Enum

Type=Enum;
Values=Val1,Val2,Val3;
Default=Val2;

Enables definition of a comma-separated list, where Val1, Val2 and Val3 represent values in the list and Default represents the default value of the list.

File

Type=File;
Default=Val;

Enables input of a filename from a file browser dialog. The named file can be launched in its default application

You can set a default file as a string containing the file path and file name

Float, Decimal, Double

Type=Float;
Type=Decimal;
Type=Double;
Default=Val;

Enable entry of a Float, Decimal or Double value. These types all map to the same type of data.

You can set a default for any or all of these.

Integer

Type=Integer;
Default=Val;

Enables entry of an Integer value, and a default.

Memo

Type=Memo;

Enables input of large and complex Tagged Values.

RefGUID

Type=RefGUID;
Values=Type1,Type2;
Stereotypes=Stereotype1;

Enables the Tagged Value to reference an element from the model by specifying the element's GUID, where Type1 and Type2 specify one or more allowed diagram objects (such as Class, Component, Attribute or Operation) and Stereotype1 represents an allowed stereotype.

Set the classifier, attribute or operation for a Tagged Value of this type by clicking on the ( ... ) button against the Tagged Value in the Tagged Value window.

Classifier, Attribute or Operation

RefGUIDList

Type=RefGUIDList;
Values=Type1,Type2;
Stereotypes=Stereotype1;

Enables the Tagged Value to reference a list of elements from the model by specifying each element's GUID, where Type1 and Type2 specify one or more allowed diagram objects (such as Class or Component) and Stereotype1 represents an allowed stereotype.

Set the classifier, attribute or operation for a Tagged Value of this type by clicking on the ( ... ) button against the Tagged Value in the Tagged Value window.

Classifier, Attribute or Operation

Spin

Type=Spin;
LowerBound=x;
UpperBound=x;
Default=Val;

Enables creation of a spin control with the value of LowerBound being the lowest value and UpperBound being the highest value.

You can also set a default within that range.

String

Type=String;
Default=Val;

Enables entry of a string value, up to 255 characters in length, and a default text string.

For longer texts, use Type=Memo.

Type= Memo

URL

Type=URL;
Default=Val;

Enables entry of a web URL. The URL should start with:

  • 'http://'
  • 'https://' or
  • 'www.'.

You can set a default URL as a string value.

Tag Filters:

The following table details filters that can be used to restrict where a Tagged Value can be applied.

Filter

Format

Description

See also

AppliesTo

AppliesTo=Type1,Type2;

Restricts the element types this filter can be applied to, where Type1 and Type2 are the valid types.

Possible values are:

  • all element types
  • all connector types
  • Attribute
  • Operation and
  • OperationParameter.

BaseStereotype

BaseStereotype=S1,S2;

Restricts the stereotypes that this tag belongs to, where S1 and S2 are the allowed stereotypes.

Learn More:

  • Create Your Own Structured Tagged Values


Create Structured Tagged Values [Enterprise Architect User Guide]

Create Structured Tagged Values

To create your own Tagged Value based on a predefined structured Tagged Value Type, follow the steps below:

Step | Description | See Also
1 | Select the Settings | UML Types menu option The UML Types dialog displays; select the Tagged Value Types tab |
2 | Click on the New button |
3 | In the Tag Name field type an appropriate Tagged Value name |
4 | In the Description field type the purpose of the Tagged Value, if required |
5 | In the Detail field copy-and-paste or type the syntax of the predefined structured Tagged Value Type |
6 | Click on the Save button The Tagged Value type displays in the Defined Tag Types list |

Learn More:

  • Predefined Tagged Value Types


Predefined Reference Data Types [Enterprise Architect User Guide]

Predefined Reference Data Types

This table details the predefined Reference Data Tagged Value types that are used to return the values held in a relevant table in Enterprise Architect, along with the syntax required for their use. You use these to create your own Reference Data Tagged Values.

Tagged Value Type

Format

Drop-Down List Returned

See also

Authors

Type=Enum;
List=Authors;

Authors that have been defined for the Enterprise Architect model.

Cardinality

Type=Enum;
List=Cardinality;

Cardinality types that have been defined for the Enterprise Architect model.

Clients

Type=Enum;
List=Clients;

Clients that have been defined for the Enterprise Architect model.

ComplexityTypes

Type=Enum;
List=ComplexityTypes;

Complexity types that have been defined for the Enterprise Architect model.

Whilst complexity types can be exported and imported as project reference data, they cannot be updated and so are effectively standard across all projects.

Reference data

ConstraintTypes

Type=Enum;
List=ConstraintTypes;

Constraint types that have been defined for the Enterprise Architect model.

EffortTypes

Type=Enum;
List=EffortTypes;

Effort types that have been defined for the Enterprise Architect model.

MaintenanceTypes

Type=Enum;
List=MaintenanceTypes;

Maintenance types that have been defined for the Enterprise Architect model.

ObjectTypes

Type=Enum;
List=ObjectTypes;

Object types that have been defined for the Enterprise Architect model.

Phases

Type=Enum;
List=Phases;

Phases that have been defined for the Enterprise Architect model.

ProblemTypes

Type=Enum;
List=ProblemTypes;

Problem types that have been defined for the Enterprise Architect model.

RoleTypes

Type=Enum;
List=RoleTypes;

Role types that have been defined for the Enterprise Architect model.

RequirementTypes

Type=Enum;
List=RequirementTypes;

Requirement types that have been defined for the Enterprise Architect model.

Resources

Type=Enum;
List=Resources;

Resources that have been defined for the Enterprise Architect model.

RiskTypes

Type=Enum;
List=RiskTypes;

Risk types that have been defined for the Enterprise Architect model.

RTFTemplates

Type=Enum;
List=RTFTemplates;

RTF Templates that have been defined for the Enterprise Architect model.

ScenarioTypes

Type=Enum;
List=ScenarioTypes;

Scenario types that have been defined for the Enterprise Architect model.

TestTypes

Type=Enum;
List=TestTypes;

Test types that have been defined for the Enterprise Architect model.

Learn More

  • Create Your Own Reference Data Tagged Values


Create Reference Data Tagged Values [Enterprise Architect User Guide]

Create Reference Data Tagged Values

To create your own Tagged Value based on a predefined Reference Data Tagged Value Type, follow the steps below:

Step | Description | See Also
1 | Select the Settings | UML Types menu option The UML Types dialog displays; select the Tagged Value Types tab |
2 | In the Tag field type an appropriate Tagged Value name |
3 | In the Description field type a description of the purpose of the Tagged Value, if required |
4 | In the Detail field copy-and-paste or type the syntax of the predefined Reference Data Tagged Value Type This enables you to assign any of the previously defined Authors to a model feature | Model Elements and Features with Tagged Values

Notes:

  • If the values in the reference data are changed after the Tagged Value Type is created, Enterprise Architect must be reloaded in order to reflect the changes in the Tagged Value Type

Learn More:

  • Predefined Reference Data


Create Custom Tagged Value Type [Enterprise Architect User Guide]

Create a Custom Tagged Value Type

Custom masked Tagged Values give you great flexibility in designing model components that accept data entries.

How to:

To create a masked Tagged Value follow the steps below:

Step | Action | See Also
1 | Select the Settings | UML Types menu option The UML Types dialog displays; select the Tagged Value Types tab |
2 | In the Tag field type an appropriate name for the Tagged Value |
3 | In the Description field type the purpose of the Tagged Value, if required |
4 | In the Detail field type Type=Custom; |

The type Custom enables you to set up the appropriate mask, using the following characters to define the format of the mask:

Mask | Description
D | Enables the Tagged Value to display digits only.
d | Enables the Tagged Value to display digits or spaces.
+ | Enables the use of +, - or spaces.
C | Enables the use of alpha characters only.
c | Enables the Tagged Value to be an alpha character or a space.
A | Enables the use of alphanumeric characters.
a | Enables the Tagged Value to use alphanumeric values or a space.

In the diagram below the Mask configuration option shows syntax that first defines seven blank spaces, which are occupied by characters determined by the template option. The first two visible characters in the Mask option are represented by a lower case c indicating that the enableable information can entered as either an alpha character or as a space. The following blank spaces again indicate space defined by the template option and the remaining characters are defined by the d character, which represents the enableable characters as digits or spaces. The hyphen is present in the final output, splitting up the digits.

With the Template configuration option, the syntax defines the template of the masked option by occupying the blank spaces that are present in the Mask option. The template is used to ensure that this information is present with every use of this custom Tagged Value. The underscored values indicate the area that is to be occupied by data input by the user as defined in the Mask option.


Code Template Framework [Enterprise Architect User Guide]

Code Template Framework

The Code Template Framework (CTF) is used during forward engineering of UML models. This section discusses how you customize the way in which Enterprise Architect generates source code, using the Code Template Editor.

Enterprise Architect's code templates specify the transformation from UML elements to the various parts of a given programming language. The templates are written as plain text with a syntax that shares some aspects of both mark-up languages and scripting languages. The Base Templates provided in Enterprise Architect are described in the Base Templates topic.


Code Template Syntax [Enterprise Architect User Guide]

Code Template Syntax

Code Templates are written as plain text, using Enterprise Architect's code template editor (see The Code Template Editor). The template syntax centers on three basic constructs:

  • Literal Text
  • Macros
  • Variables

Templates can contain any or all of these constructs.


Literal Text [Enterprise Architect User Guide]

Literal Text

All text within a given template that is not part of a macro or a variable definition/reference, is considered literal text. With the exception of blank lines, which are ignored, literal text is directly substituted from the template into the generated code.

Consider the following excerpt from the Java Class Declaration template:

%PI=" "%

%CONVERT_SCOPE(classScope)%

%classStereotype=="static" ? "static": ""%

%classStereotype=="final" ? "final": ""%

%classStereotype=="static final" ? "static final": ""%

%classAbstract=="T" ? "abstract": ""%

%PI=""%

class %className%$bases

On the final line, the word class, including the subsequent space, would be treated as literal text and thus reproduced in the output. The blank line following the CONVERT_SCOPE macro, however, would have no effect on the output.

The %, $ and " characters have special meaning in the template syntax and cannot always be used as literal text. If these characters must be generated from within the templates, they can be safely reproduced using the following direct substitution macros:

Macro | Action
%dl% | Produce a literal $ character.
%pc% | Produce a literal % character.
%qt% | Produce a literal " character.


Macros [Enterprise Architect User Guide]

Macros

Macros provide access to element fields within the UML model and are also used to structure the generated output. All macros are enclosed within percent (%) signs. The CTF contains six basic types of macros:

  • Template substitution macros
  • Field substitution macros
  • Tagged Value substitution macros
  • Control macros
  • Function macros
  • EASL code generation macros

In general, macros (including the % delimiters) are substituted with literal text in the output. For example consider the following item from the Class Declaration template:

... class %className% ...

The field substitution macro, %className%, would result in the current Class name being substituted in the output. So if the Class being generated was named Foo, the output would be:

... class Foo ...


Template Substitution Macros [Enterprise Architect User Guide]

Template Substitution Macros

Template substitution macros correspond to Base templates. These macros result in the execution of the named template. By convention, template macros are named according to Pascal casing.

Structure: %<TemplateName>%

where <TemplateName> can be one of the templates listed below.

When a template is referenced from within another template, it is generated with respect to the elements currently in scope. The specific template is selected based on the stereotypes of the elements in scope.

As noted previously, there is an implicit hierarchy among the various templates. Some care should be taken in order to preserve a sensible hierarchy of template references. For example, it does not make sense to use the %ClassInherits% macro within any of the attribute or operation templates. Conversely, the Operation and Attribute templates are designed for use within the ClassBody template.

The CTF contains the following template substitution macros:

  • AttributeDeclaration
  • ClassParameter
  • NamespaceBody
  • AttributeNotes
  • File
  • NamespaceDeclaration
  • Attribute
  • FileImpl
  • NamespaceImpl
  • Class
  • ImportSection
  • Operation
  • ClassImpl
  • ImportSectionImpl
  • OperationBody
  • ClassBase
  • InnerClass
  • OperationBodyImpl
  • ClassBody
  • InnerClassImpl
  • OperationDeclaration
  • ClassBodyImpl
  • LinkedAttribute
  • OperationDeclarationImpl
  • ClassDeclaration
  • LinkedAttributeNotes
  • OperationImpl
  • ClassDeclarationImpl
  • LinkedAttributeDeclaration
  • OperationNotes
  • ClassInherits
  • LinkedClassBase
  • Parameter
  • ClassInterface
  • LinkedClassInterface
  • ClassNotes
  • Namespace


Field Substitution Macros [Enterprise Architect User Guide]

Field Substitution Macros

The field substitution macros provide access to data in the model. In particular, they are used to access data fields from:

  • Packages
  • Classes
  • Attributes
  • Operations
  • Parameters.

Field substitution macros are named according to Camel casing. By convention, the macro is prefixed with an abbreviated form of the corresponding model element. For example, attribute-related macros begin with att, as in the %attName% macro, to access the name of the attribute in scope.

Macros that represent checkboxes return a value of T if the box is selected. Otherwise the value is empty.

The following table lists each of the field substitution macros with a description of the result.

Macro Name | Description
attAlias | Attributes dialog: Alias.
attAllowDuplicates | Attributes Detail dialog: Allow Duplicates checkbox.
attClassifierGUID | The unique GUID for the classifier of the current attribute.
attCollection | Attributes Detail dialog: Attribute is a Collection checkbox.
attConst | Attributes dialog: Const checkbox.
attContainerType | Attributes Detail dialog: Container Type.
attContainment | Attributes dialog: Containment.
attDerived | Attributes dialog: Derived checkbox.
attGUID | The unique GUID for the current attribute.
attInitial | Attributes dialog: Initial.
attIsEnumLiteral | Attributes dialog: Is Literal checkbox.
attLength | Column dialog: Length.
attLowerBound | Attributes Detail dialog: Lower Bound.
attName | Attributes dialog: Name.
attNotes | Attributes dialog: Notes.
attOrderedMultiplicity | Attributes Detail dialog: Ordered Multiplicity checkbox.
attProperty | Attributes dialog: Property checkbox.
attQualType | The attribute type qualified by the namespace path (if generating namespaces) and the classifier path (dot delimited). If the attribute classifier has not been set, is equivalent to the attType macro.
attScope | Attributes dialog: Scope.
attStatic | Attributes dialog: Static checkbox.
attStereotype | Attributes dialog: Stereotype.
attType | Attributes dialog: Type.
attUpperBound | Attributes Detail dialog: Upper Bound.
attVolatile | Attributes Detail dialog: Transient checkbox.
classAbstract | Class dialog: Abstract checkbox.
classAlias | Class dialog: Alias.
classArguments | Class Detail dialog: C++ Templates: Arguments.
classAuthor | Class dialog: Author.
classBaseName | Type Hierarchy dialog: Class Name (for use where no connector exists between child and base Classes).
classBaseScope | The scope of the inheritance as reverse engineered. (For use where no connector exists between child and base Classes.)
classBaseVirtual | The virtual property of the inheritance as reverse engineered. (For use where no connector exists between child and base Classes.)
classComplexity | Class dialog: Complexity.
classCreated | The date and time the Class was created.
classGUID | The unique GUID for the current Class.
classHasConstructor | Looks at the list of methods in the current object and, depending on the conventions of the current language, returns T if one is a default constructor. Typically used with the genOptGenConstructor macro.
classHasCopyConstructor | Looks at the list of methods in the current object and, depending on the conventions of the current language, returns T if one is a copy constructor. Typically used with the genOptGenCopyConstructor macro.
classHasDestructor | Looks at the list of methods in the current object and, depending on the conventions of the current language, returns T if one is a destructor. Typically used with the genOptGenDestructor macro.
classHasParent | True, if the Class in scope has one or more base Classes.
classImports | Code Gen dialog: Imports.
classIsActive | Class Advanced dialog: Is Active checkbox.
classIsInstantiated | True, if the Class is an instantiated template Class.
classIsLeaf | Class Advanced dialog: Is Leaf checkbox.
classIsRoot | Class Advanced dialog: Is Root checkbox.
classIsSpecification | Class Advanced dialog: Is Specification checkbox.
classKeywords | Class dialog: Keywords.
classLanguage | Class dialog: Language.
classMacros | A space separated list of macros defined for the Class.
classModified | The date and time the Class was last modified.
classMultiplicity | Class Advanced dialog: Multiplicity.
className | Class dialog: Name.
classNotes | Class dialog: Note.
classParamDefault | Class Detail dialog.
classParamName | Class Detail dialog.
classParamType | Class Detail dialog.
classPersistence | Class dialog: Persistence.
classPhase | Class dialog: Phase.
classQualName | The Class name prefixed by its outer Classes. Class names are separated by double colons (::).
classScope | Class dialog: Scope.
classStereotype | Class dialog: Stereotype.
classStatus | Class dialog: Status.
classVersion | Class dialog: Version.
connectorAlias | Connector Properties dialog: Alias.
connectorDestAccess | Connector Properties dialog, Target Role tab: Access.
connectorDestAggregation | Connector Properties dialog, Target Role tab: Aggregation.
connectorDestAlias | Connector Properties dialog, Target Role tab: Alias.
connectorDestAllowDuplicates | Connector Properties dialog, Target Role tab: Allow Duplicates checkbox.
connectorDestChangeable | Connector Properties dialog, Target Role tab: Changeable.
connectorDestConstraint | Connector Properties dialog, Target Role tab: Constraint(s).
connectorDestContainment | Connector Properties dialog, Target Role tab: Containment.
connectorDestDerived | Connector Properties dialog, Target Role tab: Derived checkbox.
connectorDestDerivedUnion | Connector Properties dialog, Target Role tab: DerivedUnion checkbox.
connectorDestElem* | A set of macros that access a property of the element at the target end of a connector. The * (asterisk) is a wildcard that corresponds to any class substitution macro in this list; for example: connectorDestElemAlias (classAlias), connectorDestElemAuthor (classAuthor).
connectorDestElemType | The element type of the connector destination element. (Separate from the connectorDestElem* macros because there is no classType substitution macro.)
connectorDestMemberType | Connector Properties dialog, Target Role tab: Member Type.
connectorDestMultiplicity | Connector Properties dialog, Target Role tab: Multiplicity.
connectorDestNavigability | Connector Properties dialog, Target Role tab: Navigability.
connectorDestNotes | Connector Properties dialog, Target Role tab: Role Notes.
connectorDestOrdered | Connector Properties dialog, Target Role tab: Ordered checkbox.
connectorDestOwned | Connector Properties dialog, Target Role tab: Owned checkbox.
connectorDestQualifier | Connector Properties dialog, Target Role tab: Qualifier(s).
connectorDestRole | Connector Properties dialog, Target Role tab: Role.
connectorDestScope | Connector Properties dialog, Target Role tab: Target Scope.
connectorDestStereotype | Connector Properties dialog, Target Role tab: Stereotype.
connectorDirection | Connector Properties: Direction.
connectorEffect | Transition Constraints dialog: Effect.
connectorGuard | Object Flow and Transition Constraints dialog: Guard.
connectorGUID | The unique GUID for the current connector.
connectorName | Connector Properties: Name.
connectorNotes | Connector Properties: Notes.
connectorSourceAccess | Connector Properties dialog, Source Role tab: Access.
connectorSourceAggregation | Connector Properties dialog, Source Role tab: Aggregation.
connectorSourceAlias | Connector Properties dialog, Source Role tab: Alias.
connectorSourceAllowDuplicates | Connector Properties dialog, Source Role tab: Allow Duplicates checkbox.
connectorSourceChangeable | Connector Properties dialog, Source Role tab: Changeable.
connectorSourceConstraint | Connector Properties dialog, Source Role tab: Constraint(s).
connectorSourceContainment | Connector Properties dialog, Source Role tab: Containment.
connectorSourceDerived | Connector Properties dialog, Source Role tab: Derived checkbox.
connectorSourceDerivedUnion | Connector Properties dialog, Source Role tab: DerivedUnion checkbox.
connectorSourceElem* | A set of macros that access a property of the element at the source end of a connector. The * (asterisk) is a wildcard that corresponds to any class substitution macro in this list; for example: connectorSourceElemAlias (classAlias), connectorSourceElemAuthor (classAuthor).
connectorSourceElemType | The element type of the connector source element. (Separate from the connectorSourceElem* macros because there is no classType substitution macro.)
connectorSourceMemberType | Connector Properties dialog, Source Role tab: Member Type.
connectorSourceMultiplicity | Connector Properties dialog, Source Role tab: Multiplicity.
connectorSourceNavigability | Connector Properties dialog, Source Role tab: Navigability.
connectorSourceNotes | Connector Properties dialog, Source Role tab: Role Notes.
connectorSourceOrdered | Connector Properties dialog, Source Role tab: Ordered checkbox.
connectorSourceOwned | Connector Properties dialog, Source Role tab: Owned checkbox.
connectorSourceQualifier | Connector Properties dialog, Source Role tab: Qualifier(s).
connectorSourceRole | Connector Properties dialog, Source Role tab: Role.
connectorSourceScope | Connector Properties dialog, Source Role tab: Target Scope.
connectorSourceStereotype | Connector Properties dialog, Source Role tab: Stereotype.
connectorStereotype | Connector Properties dialog: Stereotype.
connectorTrigger | Transition Constraints dialog: Trigger.
connectorType | The connector type; for example, Association or Generalization.
connectorWeight | Object Flow Constraints dialog: Weight.
constraintName | Class dialog, Constraints tab: Name.
constraintNotes | Class dialog, Constraints tab: Notes.
constraintStatus | Class dialog, Constraints tab: Status.
constraintType | Class dialog, Constraints tab: Type.
constraintWeight | Class dialog, Constraints tab: ordering (hand up/down) keys.
eaDateTime | The current time with format: DD-MMM-YYYY HH:MM:SS AM/PM.
eaGUID | A unique GUID for this generation.
eaVersion | Program Version (Located in an Enterprise Architect dialog by selecting Help | About EA.).
effortName | Project Management window: Effort.
effortNotes | Project Management window: Notes (unlabelled).
effortTime | Project Management window: Time.
effortType | Project Management window: Type.
elemType | The element type: Interface or Class.
fileExtension | The file type extension of the file being generated.
fileName | The name of the file being generated.
fileNameImpl | The filename of the implementation file for this generation, if applicable.
fileHeaders | Code Gen dialog: Headers.
fileImports | Code Gen dialog: Imports. For supported languages this also includes dependencies derived from associations.
filePath | The full path of the file being generated.
filePathImpl | The full path of the implementation file for this generation, if applicable.
genOptActionScriptVersion | ActionScript Specifications dialog: Default Version.
genOptCDefaultAttributeType | C Specifications dialog: Default Attribute Type.
genOptCGenMethodNotesInBody | C Specifications dialog: Method Notes In Implementation.
genOptCGenMethodNotesInHeader | C Specifications dialog: Method Notes In Header.
genOptCSynchNotes | C Specifications dialog: Synchronize Notes in Generation.
genOptCSynchCFile | C Specifications dialog: Synchronise Implementation file in Generation.
genOptCDefaultSourceDirectory | C Specifications dialog: Default Source Directory.
genOptCNamespaceDelimiter | C Specifications dialog: Namespace Delimiter.
genOptCOperationRefParam | C Specifications dialog: Reference as Operation Parameter.
genOptCOperationRefParamStyle | C Specifications dialog: Reference Parameter Style.
genOptCOperationRefParamName | C Specifications dialog: Reference Parameter Name.
genOptCConstructorName | C Specifications dialog: Default Constructor Name.
genOptCDestructorName | C Specifications dialog: Default Destructor Name.
genOptCPPCommentStyle | C++ Specifications dialog: Comment Style.
genOptCPPDefaultAttributeType | C++ Specifications dialog: Default Attribute Type.
genOptCPPDefaultReferenceType | C++ Specifications dialog: Default Reference Type.
genOptCPPDefaultSourceDirectory | C++ Specifications dialog: Default Source Directory.
genOptCPPGenMethodNotesInHeader | C++ Specifications dialog: Method Notes In Header checkbox.
genOptCPPGenMethodNotesInBody | C++ Specifications dialog: Method Notes In Body checkbox.
genOptCPPGetPrefix | C++ Specifications dialog: Get Prefix.
genOptCPPHeaderExtension | C++ Specifications dialog: Header Extension.
genOptCPPSetPrefix | C++ Specifications dialog: Set Prefix.
genOptCPPSourceExtension | C++ Specifications dialog: Source Extension.
genOptCPPSynchCPPFile | C++ Specifications dialog: Synchronize Notes.
genOptCPPSynchNotes | C++ Specifications dialog: Synchronize CPP File.
genOptCSDefaultAttributeType | C# Specifications dialog: Default Attribute Type.
genOptCSSourceExtension | C# Specifications dialog: Default file extension.
genOptCSGenDispose | C# Specifications dialog: Generate Dispose.
genOptCSGenFinalizer | C# Specifications dialog: Generate Finalizer.
genOptCSGenNamespace | C# Specifications dialog: Generate Namespace.
genOptCSDefaultSourceDirectory | C# Specifications dialog: Default Source Directory.
genOptDefaultAssocAttName | Attribute Specifications dialog: Default name for associated attrib.
genOptDefaultConstructorScope | Object Lifetimes dialog: Default Constructor Visibility.
genOptDefaultCopyConstructorScope | Object Lifetimes dialog: Default Copy Constructor Visibility.
genOptDefaultDatabase | Code Editors dialog: Default Database.
genOptDefaultDestructorScope | Object Lifetimes dialog: Default Destructor Constructor Visibility.
genOptGenCapitalisedProperties | Source Code Engineering dialog: Capitalize Attribute Names for Properties checkbox.
genOptGenComments | Source Code Engineering dialog: Generate Comments checkbox.
genOptGenConstructor | Object Lifetimes dialog: Generate Constructor checkbox.
genOptGenConstructorInline | Object Lifetimes dialog: Constructor Inline checkbox.
genOptGenCopyConstructor | Object Lifetimes dialog: Generate Copy Constructor checkbox.
genOptGenCopyConstructorInline | Object Lifetimes dialog: Copy Constructor Inline checkbox.
genOptGenDestructor | Object Lifetimes dialog: Generate Destructor checkbox.
genOptGenDestructorInline | Object Lifetimes dialog: Destructor Inline checkbox.
genOptGenDestructorVirtual | Object Lifetimes dialog: Virtual Destructor checkbox.
genOptGenImplementedInterfaceOps | Attribute/Operations Specifications dialog: Generate methods for implemented interfaces checkbox.
genOptGenPrefixBoolProperties | Source Code Engineering dialog: Use is prefix for boolean property Get().
genOptGenRoleNames | Source Code Engineering dialog: Autogenerate role names when creating code.
genOptGenUnspecAssocDir | Source Code Engineering dialog: Do not generate members where Association direction is unspecified checkbox.
genOptJavaDefaultAttributeType | Java Specifications dialog: Default attribute type.
genOptJavaGetPrefix | Java Specifications dialog: Get Prefix.
genOptJavaDefaultSourceDirectory | Java Specifications dialog: Default Source Directory.
genOptJavaSetPrefix | Java Specifications dialog: Set Prefix.
genOptJavaSourceExtension | Java Specifications dialog: Source code extension.
genOptPHPDefaultSourceDirectory | PHP Specifications dialog: Default Source Directory.
genOptPHPGetPrefix | PHP Specifications dialog: Get Prefix.
genOptPHPSetPrefix | PHP Specifications dialog: Set Prefix.
genOptPHPSourceExtension | PHP Specifications dialog: Default file extension.
genOptPHPVersion | PHP Specifications dialog: PHP Version.
genOptPropertyPrefix | Source Code Engineering dialog: Remove prefixes when generating Get/Set properties.
genOptVBMultiUse | VB Specifications dialog: Multiuse checkbox.
genOptVBPersistable | VB Specifications dialog: Persistable checkbox.
genOptVBDataBindingBehavior | VB Specifications dialog: Data binding behavior checkbox.
genOptVBDataSourceBehavior | VB Specifications dialog: Data source behavior checkbox.
genOptVBGlobal | VB Specifications dialog: Global namespace checkbox.
genOptVBCreatable | VB Specifications dialog: Creatable checkbox.
genOptVBExposed | VB Specifications dialog: Exposed checkbox.
genOptVBMTS | VB Specifications dialog: MTS Transaction Mode.
genOptVBNetGenNamespace | VB.Net Specifications dialog: Generate Namespace.
genOptVBVersion | VB Specifications dialog: Default Version.
genOptWrapComment | Source Code Engineering dialog: Wrap length for comment lines.
importClassName | The name of the Class being imported.
importFileName | The filename of the Class being imported.
importFilePath | The full path of the Class being imported.
importFromAggregation | T if the Class has an Aggregation connector to a Class in this file, F otherwise.
importFromAssociation | T if the Class has an Association connector to a Class in this file, F otherwise.
importFromAtt | T if an attribute of a Class in the current file is of the type of this Class, F otherwise.
importFromDependency | T if the Class has a Dependency connector to a Class in this file, F otherwise.
importFromGeneralization | T if the Class has a Generalization connector to a Class in this file, F otherwise.
importFromMeth | T if a method return type of a Class in the current file is the type of this Class, Fotherwise.
importFromParam | T if an method parameter of a Class in the current file is of the type of this Class, Fotherwise.
importFromRealization | T if the Class has a Realization connector to a Class in this file, F otherwise.
importInFile | T if the Class is in the current file, F otherwise.
importPackagePath | The package path with a '.' separator of the Class being imported.
ImportRelativeFilePath | The relative file path of the Class being imported from the file path of the file being generated.
linkAttAccess | Association Properties Target Role dialog: Access.
linkAttCollectionClass | The collection appropriate for the linked attribute in scope.
linkAttContainment | Association Properties Target Role dialog: Containment.
linkAttName | Association Properties dialog: Target.
linkAttNotes | Association Properties Target Role dialog: Role Notes.
linkAttQualName | The Association target qualified by the namespace path (if generating namespaces) and the classifier path (dot delimited).
linkAttRole | Association Properties Target Role dialog: Role.
linkAttStereotype | Association Properties Target Role dialog: Stereotype.
linkAttTargetScope | Association Properties Target Role dialog: Target Scope.
linkCard | Link Properties Target Role dialog: Multiplicity.
linkedFileLastWrite | Class Properties dialog: Last Write.
linkedFileNotes | Class Properties dialog: Notes.
linkedFilePath | Class Properties dialog: File Path.
linkedFileSize | Class Properties dialog: Size.
linkedFileType | Class Properties dialog: Type.
linkGUID | The unique GUID for the current connector.
linkParentName | Generalization Properties dialog: Target.
linkParentQualName | The Generalization target qualified by the namespace path (if generating namespaces) and the classifier path (dot delimited).
linkStereotype | The stereotype of the current connector.
linkVirtualInheritance | Generalization Properties dialog: Virtual Inheritance.
metricName | Project Management dialog, Metrics tab: Metric field.
metricNotes | Project Management dialog, Metrics tab: (Notes) field.
metricType | Project Management dialog, Metrics tab: Type field.
metricWeight | Project Management dialog, Metrics tab: Weight field.
opAbstract | Operation dialog: Virtual checkbox.
opAlias | Operation dialog: Alias.
opBehavior | Operation Behavior dialog: Behavior.
opCode | Operation Behavior dialog: Initial Code.
opConcurrency | Operation dialog: Concurrency.
opConst | Operation dialog: Const checkbox.
opGUID | The unique GUID for the current operation.
opImplMacros | A space-separated list of macros defined in the implementation of this operation.
opIsQuery | Operation dialog: IsQuery checkbox.
opMacros | A space-separated list of macros defined in the declaration for this operation.
opName | Operation dialog: Name.
opNotes | Operation dialog: Notes.
opPure | Operation dialog: Pure checkbox.
opReturnArray | Operation dialog: Return Array checkbox.
opReturnClassifierGUID | The unique GUID for the classifier of the current operation.
opReturnQualType | The operation return type qualified by the namespace path (if generating namespaces) and the classifier path (dot delimited). If the return type classifier has not been set, is equivalent to the opReturnType macro.
opReturnType | Operation dialog: Return Type.
opScope | Operation dialog: Scope.
opStatic | Operation dialog: Static checkbox.
opStereotype | Operation dialog: Stereotype.
opSynchronized | Operation dialog: Synchronized checkbox.
packageAbstract | Package dialog: Abstract.
packageAlias | Package dialog: Alias.
packageAuthor | Package dialog: Author.
packageComplexity | Package dialog: Complexity.
packageGUID | The unique GUID for the current package.
packageKeywords | Package dialog: Keywords.
packageLanguage | Package dialog: Language.
packageName | Package dialog: Name.
packagePath | The string representing the hierarchy of packages, for the Class in scope. Each package name is separated by a dot (.).
packagePhase | Package dialog: Phase.
packageScope | Package dialog: Scope.
packageStatus | Package dialog: Status.
packageStereotype | Package dialog: Stereotype.
packageVersion | Package dialog: Version.
paramClassifierGUID | The unique GUID for the classifier of the current parameter.
paramDefault | Operation Parameters dialog: Default.
paramFixed | Operation Parameters dialog: Fixed checkbox.
paramGUID | The unique GUID for the current parameter.
paramIsEnum | True, if the parameter uses the enum keyword (C++).
paramKind | Operation Parameters dialog: Kind.
paramName | Operation Parameters dialog: Name.
paramNotes | Operation Parameters dialog: Notes.
paramQualType | The parameter type qualified by the namespace path (if generating namespaces) and the classifier path (dot delimited). If the parameter classifier has not been set, is equivalent to the paramType macro.
paramType | Operation Parameters dialog: Type.
problemCompletedBy | Maintenance dialog, Element Issues tab: Completed by.
problemCompletedDate | Maintenance dialog, Element Issues tab: Completed.
problemHistory | Maintenance dialog, Element Issues tab: History.
problemName | Maintenance dialog, Element Issues tab: Name.
problemNotes | Maintenance dialog, Element Issues tab: Description.
problemPriority | Maintenance dialog, Element Issues tab: Priority.
problemRaisedBy | Maintenance dialog, Element Issues tab: Raised by.
problemRaisedDate | Maintenance dialog, Element Issues tab: Raised.
problemStatus | Maintenance dialog, Element Issues tab: Status.
problemVersion | Maintenance dialog, Element Issues tab: Version.
requirementDifficulty | Properties dialog: Require tab: Difficulty.
requirementLastUpdated | Properties dialog: Require tab: Last Update.
requirementName | Properties dialog: Require tab: Short Description.
requirementNotes | Properties dialog: Require tab: Notes.
requirementPriority | Properties dialog: Require tab: Priority.
requirementStatus | Properties dialog: Require tab: Status.
requirementType | Properties dialog: Require tab: Type.
resourceAllocatedTime | Project Management window, Resource Allocation tab: Allocated Time.
resourceEndDate | Project Management window, Resource Allocation tab: End Date.
resourceExpectedTime | Project Management window, Resource Allocation tab: Expected Time.
resourceExpendedTime | Project Management window, Resource Allocation tab: Time Expended.
resourceHistory | Project Management window, Resource Allocation tab: History.
resourceName | Project Management window, Resource Allocation tab: Resource.
resourceNotes | Project Management window, Resource Allocation tab: Description.
resourcePercentCompleted | Project Management window, Resource Allocation tab: Completed(%).
resourceRole | Project Management window, Resource Allocation tab: Role.
resourceStartDate | Project Management window, Resource Allocation tab: Start Date.
riskName | Project Management window, Risks tab: Risk.
riskNotes | Project Management window, Risks tab: (Notes).
riskType | Project Management window, Risks tab: Type.
riskWeight | Project Management window, Risks tab: Weight.
scenarioGUID | The unique ID for a scenario. Identifies the scenario unambiguously within a model.
scenarioName | Properties dialog, Scenario tab: Scenario.
scenarioNotes | Properties dialog, Scenario tab: (Notes).
scenarioType | Properties dialog, Scenario tab: Type.
testAcceptanceCriteria | Testing window: Acceptance Criteria.
testCheckedBy | Testing window: Checked By.
testDateRun | Testing window: Last Run.
testClass | The Testing window tab (the type of test defined): Unit, Integration, System, Acceptance, Scenario.
testInput | Testing window: Input.
testName | Testing window: Test.
testNotes | Testing window: Description.
testResults | Testing window: Results.
testRunBy | Testing window: Run By.
testStatus | Testing window: Status.
testType | Testing window: Type.

Field substitution macros can be used in one of two ways:

Use 1: Direct Substitution

This form directly substitutes the corresponding value of the element in scope into the output.

Structure: %<macroName>%

Where <macroName> can be any of the macros listed above.

Examples:

  • %className%
  • %opName%
  • %attName%

Use 2: Conditional Substitution

This form of the macro enables alternative substitutions to be made depending on the macro's value.

Structure: %<macroName> ( == "<test>" ) ? <subTrue> ( : <subFalse> ) %

Where:

  • ( <text> ) denotes that <text> is optional
  • <test> is a string representing a possible value for the macro
  • <subTrue> and <subFalse> can be a combination of quoted strings and the keyword value; where the value is used, it is replaced with the macro's value in the output.

Examples:

  • %classAbstract=="T" ? "pure" : ""%
  • %opStereotype=="operator" ? "operator" : ""%
  • %paramDefault != "" ? " = " value : ""%

The above three examples output nothing if the condition fails. In this case the false condition can be omitted, resulting in the following usage:.

Examples:

  • %classAbstract=="T" ? "pure"%
  • %opStereotype=="operator" ? "operator"%
  • %paramDefault != "" ? " = " value%

The third example of both blocks shows a comparison checking for a non-empty value or existence. This test can also be omitted.

  • %paramDefault ? " = " value : ""%
  • %paramDefault ? " = " value%

All of the above examples containing paramDefault are equivalent. If the parameter in scope had a default value of 10, the output from each of them would normally be:

= 10

Notes:

  • In a conditional substitution macro, any white space following <macroName> is ignored; if white space is required in the output, it should be included within the quoted substitution strings


Tagged Value Substitution Macros [Enterprise Architect User Guide]

Tagged Value Substitution Macros

Tagged Value macros are a special form of field substitution macros, which provide access to element tags and the corresponding Tagged Values.

Use 1: Direct Substitution

This form of the macro directly substitutes the value of the named tag into the output.

Structure: %<macroName>:"<tagName>"%

<macroName> can be one of:

  • attTag
  • classTag
  • connectorDestElemTag
  • connectorDestTag
  • connectorSourceElemTag
  • connectorSourceTag
  • connectorTag
  • linkAttTag
  • linkTag
  • opTag
  • packageTag
  • paramTag

This corresponds to the tags for attributes, Classes, operations, packages, parameters, connectors with both ends, elements at both ends of connectors and connectors including the attribute end.

<tagName> is a string representing the specific tag name.

Examples:

%opTag:"attribute"%

Use 2: Conditional Substitution

This form of the macro mimics the conditional substitution defined for field substitution macros.

Structure: %<macroName>:"<tagName>" ( == "<test>" ) ? <subTrue> ( : <subFalse> ) %

Where:

  • <macroName> and <tagName> are as defined above
  • ( <text> ) denotes that <text> is optional
  • <test> is a string representing a possible value for the macro
  • <subTrue> and <subFalse> can be a combination of quoted strings and the keyword value. Where the value is used, it gets replaced with the macro's value in the output.

Examples:

%opTag:"opInline" ? "inline" : ""%

%opTag:"opInline" ? "inline"%

%classTag:"unsafe" == "true" ? "unsafe" : ""%

%classTag:"unsafe" == "true" ? "unsafe"%

Tagged Value macros use the same naming convention as field substitution macros.


Function Macros [Enterprise Architect User Guide]

Function Macros

Function macros are a convenient way of manipulating and formatting various element data. Each function macro returns a result string. There are two primary ways to use the results of function macros:

  • Direct substitution of the returned string into the output, such as: %TO_LOWER(attName)%
  • Storing the returned string as part of a variable definition such as: $name = %TO_LOWER(attName)%

Function macros can take parameters, which can be passed to the macros as:

  • String literals, enclosed within double quotation marks
  • Direct substitution macros without the enclosing percent signs
  • Variable references
  • Numeric literals.

Multiple parameters are passed using a comma-separated list.

Function macros are named according to the All-Caps style, as in: %CONVERT_SCOPE(opScope)%

The available function macros are described below. Parameters are denoted by angle brackets, as in: FUNCTION_NAME(<param>).

CONVERT_SCOPE(<umlScope>)

For use with supported languages. Converts <umlScope> to the appropriate scope keyword for the language being generated. The following table shows the conversion of <umlScope> with respect to the given language.

Language | Package | Public | Private | Protected
C++ | public | public | private | protected
C# | internal | public | private | protected
Delphi | protected | public | private | protected
Java |  | public | private | protected
PHP | public | public | private | protected
VB | Protected | Public | Private | Protected
VB .Net | Friend | Public | Private | Protected

COLLECTION_CLASS(<language>)

Gives the appropriate collection Class for the language specified for the current linked attribute.

CSTYLE_COMMENT(<wrap_length>)

Converts the notes for the element currently in scope to plain C-style comments, using /* and */.

DELPHI_PROPERTIES(<scope>, <separator>, <indent>)

Generates a Delphi property.

DELPHI_COMMENT(<wrap_length>)

Converts the notes for the element currently in scope to Delphi comments.

EXEC_ADD_IN(<addin_name>, <function_name>, <prm_1>, ..., <prm_n>)

Invokes an Enterprise Architect Add-In function, which can return a result string. <addin_name> and <function_name> specify the names of the Add-In and function to be invoked. Parameters to the Add-In function can be specified via parameters <prm_1> to <prm_n>. For example:

$result = %EXEC_ADD_IN("MyAddin","ProcessOperation",classGUID, opGUID)%

Any function that is to be called by the EXEC_ADD_IN macro must have two parameters: an EA.Repository object, and a Variant array that contains any additional parameters from the EXEC_ADD_IN call. Return type should be Variant. For example:

Public Function ProcessOperation(Repository As EA.Repository, args As Variant) As Variant

FIND(<src>, <subString>)

Position of the first instance of <subString> in <src>; -1 if none.

GET_ALIGNMENT()

Returns a string where all of the text on the current line of output is converted into spaces and tabs.

JAVADOC_COMMENT(<wrap_length>)

Converts the notes for the element currently in scope to javadoc-style comments.

LEFT(<src>, <count>)

The first <count> characters of <src>.

LENGTH(<src>)

Length of <src>.

MID(<src>, <count>)
MID(<src>, <start>, <count>)

Substring of <src> starting at <start> and including <count> characters. Where <count> is omitted the rest of the string is included.

PI(<option>, <value>, ...)

Sets the PI for the current template to <value>. <option> controls when the new PI takes effect. Valid values are:

  • I, Immediate: the new PI is generated before the next non-empty template line
  • N, Next: the new PI is generated after the next non-empty template line.

Multiple pairs of options are allowed in one call. For more details, see the description of PI.

PROCESS_END_OBJECT(<template_name>)

Enables the Classes that are one Class further away from the base Class, to be transformed into objects (such as attributes, operations, packages, parameters and columns) of the base Class. <template_name> refers to the working template that temporarily stores the data.

REMOVE_DUPLICATES(<source>, <separator>)

Where <source> is a <separator> separated list; this removes any duplicate or empty strings.

REPLACE(<string>, <old>, <new>)

Replaces all occurrences of <old> with <new> in the given string <string>.

RESOLVE_OP_NAME()

Resolves clashes in interface names where two method-from interfaces have the same name.

RESOLVE_QUALIFIED_TYPE()
RESOLVE_QUALIFIED_TYPE(<separator>)
RESOLVE_QUALIFIED_TYPE(<separator>, <default>)

Generates a qualified type for the current attribute, linked attribute, linked parent, operation, or parameter. Enables the specification of a separator other than . and a default value for when some value is required.

RIGHT(<src>, <count>)

The last <count> characters of <src>.

TO_LOWER(<string>)

Converts <string> to lower case.

TO_UPPER(<string>)

Converts <string> to upper case.

TRIM(<string>)
TRIM(<string>, <trimChars>)

Removes trailing and leading white spaces from <string>. If <trimChars> is specified, all leading and trailing characters in the set of <trimChars> are removed.

TRIM_LEFT(<string>)
TRIM_LEFT(<string>, <trimChars>)

Removes the specified leading characters from <string>.

TRIM_RIGHT(<string>)
TRIM_RIGHT(<string>, <trimChars>)

Removes the specified trailing characters from <string>.

VB_COMMENT(<wrap_length>)

Converts the notes for the element currently in scope to Visual Basic style comments.

WRAP_COMMENT(<comment>, <wrap_length>, <indent>, <start_string>)

Wraps the text <comment> at width <wrap_length> putting <indent> and <start_string> at the beginning of each line. For example:

$behavior = %WRAP_COMMENT(opBehavior, "40", " ", "//")%

<wrap_length> must still be passed as a string, even though WRAP_COMMENT treats this parameter as an integer.

WRAP_LINES(<text>, <wrap_length>, <start_string>( , <end_string ) )

Wraps <text> as designated to be <wrap_length>, adding <start_string> to the beginning of every line and <end_string> to the end of the line if it is specified.

XML_COMMENT(<wrap_length>)

Converts the notes for the element currently in scope to XML-style comments.


Control Macros [Enterprise Architect User Guide]

Control Macros

Control macros are used to control the processing and formatting of the templates. The basic types of control macro include:

  • The list macro, for generating multiple element features, such as attributes and operations
  • The branching macros, which form if-then-else constructs to conditionally execute parts of a template
  • The PI macro, which takes effect from the next non-empty line
  • A PI function macro that enables setting PI to a variable and adds the ability to set the PI that is generated before the next line
  • The PI macro for formatting new lines in the output
  • The synchronization macros.

In general, control macros are named according to Camel casing.

List

The list macro is used to generate multiple elements. The basic structure is:

%list=<TemplateName> @separator=<string> @indent=<string> ( <conditions> ) %

where <string> is a double-quoted literal string and <TemplateName> can be one of the following template names:

  • Attribute
  • Class
  • ClassBase
  • ClassImpl
  • ClassInterface
  • Constraint
  • Custom Template (custom templates enable you to define your own templates; for more information see Custom Templates).
  • Effort
  • InnerClass
  • InnerClassImpl
  • LinkedFile
  • Metric
  • Namespace
  • Operation
  • OperationImpl
  • Parameter
  • Problem
  • Requirement
  • Resource
  • Risk
  • Scenario
  • Test

<conditions> is optional and appears the same as the conditions for if and elseIf statements.

Example:

%list="Attribute" @separator="\n" @indent=" "%

The separator attribute, denoted above by @separator, specifies the space that should be used between the list items. This excludes the last item in the list.

The indent attribute, denoted by @indent, specifies the space by which each line in the generated output should be indented.

The above example would output the result of processing the Attribute template, for each attribute element of the Class in scope. The resultant list would separate its items with a single new line and indent them two spaces respectively. If the Class in scope had any stereotyped attributes, they would be generated using the appropriately specialized template.

There are some special cases to consider when using the list macro:

  • If the Attribute template is used as an argument to the list macro, this also generates attributes derived from associations by executing the appropriate LinkedAttribute template
  • If the ClassBase template is used as an argument to the list macro, this also generates Class bases derived from links in the model by executing the appropriate LinkedClassBase template
  • If the ClassInterface template is used as an argument to the list macro, this also generates Class bases derived from links in the model by executing the appropriate LinkedClassInterface template
  • If InnerClass or InnerClassImpl is used as an argument to the list macro, these Classes are generated using the Class and ClassImpl templates respectively. These arguments tell Enterprise Architect that it should process the templates based on the inner Classes of the Class in scope.

Branching (if-then-else Constructs)

The CTF supports a limited form of branching through the following macros:

  • if
  • elseIf
  • endIf
  • endTemplate

The basic structure of the if and elseIf macros is:

%if <test> <operator> <test>%

where <operator> can be one of:

  • ==
  • !=

and <test> can be one of:

  • a string literal, enclosed within double quotation marks
  • a direct substitution macro, without the enclosing percent signs
  • a variable reference.

Branches can be nested, and multiple conditions can be specified using one of:

  • and
  • or.

When specifying multiple conditions, and and or have the same order of precedence, and conditions are processed left to right.

The endif or endTemplate macros must be used to signify the end of a branch. In addition, the endTemplate macro causes the template to return immediately, if the corresponding branch is being executed.

Example:

%if elemType == "Interface"%

;

%else%

%OperationBody%

%endIf%

Example:

$bases=%list="ClassBase" @separator=", "%

$interfaces=%list="ClassInterface" @separator=", "%

%if $bases != "" and $interfaces != ""%

: $bases, $interfaces

%elseIf $bases != ""%

: $bases

%elseIf $interfaces != ""%

: $interfaces

%endIf%

The PI Macro

There are two primary means of generating whitespace from the templates:

  • Explicitly using the newline, space and tab characters (\n, ,\t) as part of Literal Text
  • Using the PI macro to format lines in the template that result in non-empty substitutions in the output.

By default, each template line that generates a non-empty substitution also results in a newline being produced in the output. This behavior can be changed through the PI macro.

To demonstrate the use of the PI macro, consider the default C# Operation template:

%opTag:"Attribute"%

%PI=" "%

%opTag:"unsafe"=="true" ? "unsafe" : ""%

%CONVERT_SCOPE(opScope)%

%opTag:"new"=="true" ? "new" : ""%

%opAbstract=="T" ? "abstract" : ""%

%opConst=="T" ? "sealed" : ""%

%opStatic=="T" ? "static" : ""%

%opTag:"extern"=="true" ? "extern" : ""%

%opTag:"delegate"=="true" ? "delegate" : ""%

%opTag:"override"=="true" ? "override" : ""%

%opTag:"virtual"=="true" ? "virtual" : ""%

%opReturnType%%opReturnArray=="T" ? "( ) " : ""%

%opStereotype=="operator" ? "operator" : ""%

%opName%(%list="Parameter" @separator=", "%)

Default PI is \n, so any attributes would be on their own line

Blank lines have no effect on the output

Set the PI, so keywords are separated by a space

Any keyword that does not apply - that is, the macro produces an empty result - does not result in a space

Only one space is generated for this line

The final line in the template does not generate a space

In the above example macros for the various keywords are to be arranged vertically for readability. In the output, however, each relevant keyword is to be separated by a single space. This is achieved by the line:

%PI=" "%

Notice how you do not specify the space between each of the possible keywords. This space is already implied by setting the PI to a single space. Essentially the PI acts as a convenience mechanism for formatting the output from within the templates.

The structure for setting the processing instruction is:

%PI=<value>%

where <value> can be a literal string enclosed by double quotes.

The following points apply to the PI macro:

  • The value of the PI is not accessed explicitly
  • Only template lines that result in a non-empty substitution cause the PI to be generated
  • The last non-empty template line does not cause the PI to be generated
  • The PI is not appended to the last substitution, regardless of which template line caused that substitution.

Synchronization Macros

The synchronization macros are used to provide formatting hints to Enterprise Architect when inserting new sections into the source code, during forward synchronization. The values for synchronization macros must be set in the File templates.

The structure for setting synchronization macros is:

%<name>=<value>%

where <name> can be one of the macros listed below and <value> is a literal string enclosed by double quotes.

Macro Name | Description
synchNewClassNotesSpace | Space to append to a new Class note. Default value: \n.
synchNewAttributeNotesSpace | Space to append to a new attribute note. Default value: \n.
synchNewOperationNotesSpace | Space to append to a new operation note. Default value: \n.
synchNewOperationBodySpace | Space to append to a new operation body. Default value: \n.
synchNamespaceBodyIndent | Indent applied to Classes within non-global namespaces. Default value: \t.


EASL Code Generation Macros [Enterprise Architect User Guide]

EASL Code Generation Macros

Enterprise Architect provides two Enterprise Architect Simulation Library (EASL) code generation macros to generate code from behavioral models. These are:

  • EASL_GET and
  • EASLList.

EASL_GET

The EASL_GET macro is used to retrieve a property or a collection of an EASL object. The EASL objects and the properties and collections for each object are identified in the EASL Collections and EASL Properties topics.

Syntax

$result = %EASL_GET(<<Property>>, <<Owner ID>>, <<Name>>)

where:

  • <<Property>> is either "Property" or "Collection"
  • <<OwnerID>> is the ID of the owner object for which the property/collection is to be retrieved
  • <<Name>> is the name of the property or Collection being accessed
  • $result is the returned value; this is “” if not a valid property.

Example

$sPropName = %EASL_GET("Property", $context, "Name")%

EASLList

The EASLList macro is used to render each object in an EASL collection using the appropriate template.

Syntax

$result = %EASLList=<<TemplateName>> @separator=<<Separator>>
@indent=<<indent>> @owner=<<OwnedID>>

@collection=<<CollectionName>> @option1=<<OPTION1>>

@option2=<<OPTION2>>......... @optionN=<<OPTIONN>>%

where:

  • <<TemplateName>> is the name of any behavioral model template or custom template
  • <<Separator>> is a list separator (such as “\n”)
  • <<indent>> is any indentation to be applied to the result
  • <<owner>> is the ID of the object that contains the required collection
  • <<CollectionName>> is the name of the required collection
  • <<OPTION1>....<<OPTION99>> are miscellaneous options that might be passed on the template; each option is given as an additional input parameter to the template
  • $result is the resultant value; this is “” if not a valid collection.

Example

$sStates = %EASLList="State" @separator="\n" @indent="\t"

@owner=$StateMachineGUID @collection="States" @option=$sOption%

Behavioral Model Templates

  • Action
  • Action Assignment
  • Action Break
  • Action Call
  • Action Create
  • Action Destroy
  • Action If
  • Action Loop
  • Action Opaque
  • Action Parallel
  • Action RaiseEvent
  • Action RaiseException
  • Action Switch
  • Behavior
  • Behavior Body
  • Behavior Declaration
  • Behavior Parameter
  • Call Argument
  • Guard
  • Property Object
  • Property Declaration
  • Property Notes
  • State
  • State CallBack
  • State Enumerate
  • State EnumeratedName
  • StateMachine
  • StateMachine HistoryVar
  • Transition
  • Transition Effect
  • Trigger.


EASL Collections [Enterprise Architect User Guide]

EASL Collections

This topic lists the EASL collections for each of the EASL objects, as retrieved by the EASL_GET code generation macro.

Action

Collection Name | Description
Arguments | The Action's arguments.
SubActions | The sub-actions of the Action.

Behavior

Collection Name | Description
Actions | The Behavior's Actions.
Nodes | The Behavior's nodes.
Parameters | The Behavior's parameters.
Variables | The Behavior's variables.

Classifier

Collection Name | Description
AllStateMachines | All State Machines for the Classifier.
AsynchProperties | The asynchronous properties of the Classifier.
AsynchTriggers | The asynchronous triggers of the Classifier.
Behaviors | The behaviors of the Classifier.
Properties | The properties of the Classifier.
TimedProperties | The timed properties of the Classifier.
TimedTriggers | The timed triggers of the Classifier.
Triggers | All triggers of the Classifier.

Construct

Collection Name | Description
AllChildren | The Construct's children.
ClientDependencies | The client dependencies on the Construct.
StereoTypes | The stereotypes of the Construct.
SupplierDependencies | The supplier dependencies on the Construct.

Node

Collection Name | Description
IncomingEdges | The Node's incoming edges.
OutgoingEdges | The Node's outgoing edges.
SubNodes | The sub-nodes of the Node.

State

Collection Name | Description
DoBehaviors | The State's Do behaviors.
EntryBehaviors | The State's Entry behaviors.
ExitBehaviors | The State's Exit behaviors.

StateMachine

Collection Name | Description
AllFinalStates | The State Machine's final States.
AllStates | All States within the State Machine, including those within Submachine States.
DerivedTransitions | The State Machine's derived transitions with the associated valid effect.
States | The States within the State Machine.
Transitions | The transitions within the State Machine.
Vertices | The State Machine's vertices.

Transition

Collection Name | Description
Effects | The Transition's effects.
Guards | The Transition's guards.
Triggers | The Transition's triggers.

Trigger

Collection Name | Description
TriggeredTransitions | The triggered transitions associated with the Trigger.

Vertex

Collection Name | Description
DerivedOutgoingTransitions | The Vertex's derived outgoing transitions after traversing the pseudo-nodes.
IncomingTransitions | The Vertex's incoming transitions.
OutgoingTransitions | The Vertex's outgoing transitions.


EASL Properties [Enterprise Architect User Guide]

EASL Properties

This topic lists the EASL properties for each of the EASL objects, as retrieved by the EASL_GET code generation macro.

Action

Property Name | Description
Behavior | The Action's associated behavior (Call Behavior Action or Call Operation Action).
Body | The Action's body.
Context | The Action's context.
Guard | The Action's guard.
IsFinal | A check on whether the action is a final Action.
IsGuarded | A check on whether the action is a guarded Action.
IsInitial | A check on whether the action is an initial Action.
Kind | The Action's kind.
Next | The Action's next action.
Node | The Action's associated node in the graph.

Argument

Property Name | Description
Parameter | The ID of the Argument's associated parameter.
Value | The default value of the argument.

Behavior

Property Name | Description
InitialAction | The Behavior's initial action.
isReadOnly | The isReadOnly of the Behavior.
isSingleExecution | The isSingleExecution of the Behavior.
Kind | The kind of Behavior.
ReturnType | The return type of the Behavior.
Specification | The specification of the Behavior.

CallEvent

Property Name | Description
Operation | The operation of the CallEvent.

ChangeEvent

Property Name | Description
ChangeExpression | The change expression of the ChangeEvent.

Classifier

Property Name | Description
HasBehaviors | A check on whether the Classifier has behavioral models (Activity and Interaction).
Language | The Classifier's language.
StateMachine | The State Machine of the Classifier.

Condition

Property Name | Description
Expression | The Condition's expression.
Lower | The Condition's lower value.
Upper | The Condition's upper value.

Construct

Property Name | Description
GetTaggedValue | The Property's Tagged Value.
IsStereotypeApplied | A check on whether a particular stereotype is applied to the Property.
Notes | Notes on the Property.
UMLType | The UML type of the Property.
Visibility | The visibility of the Property.

Edge

Property Name | Description
From | The ID of the node from which the Edge arises.
To | The ID of the node at which the Edge is targeted.

EventObject

Property Name | Description
EventKind | The event kind of the Event Object.

Instance

Property Name | Description
Classifier | The classifier of the Instance.
Value | The value of the Instance.

Parameter

Property Name | Description
Direction | The direction of the Parameter.
Type | The type of the Parameter.
Value | The value of the parameter.

Primitive

Property Name | Description
FQName | The FQ name of the Primitive.
ID | The ID of the Primitive.
Name | The name of the Primitive.
ObjectType | The object type of the Primitive.
Parent | The IDParent of the Primitive.

PropertyObject

Property Name | Description
BoundSize | The bound size of the PropertyObject (if it is a collection).
ClassifierStereoType | The stereotype of the PropertyObject's classifier.
IsAsynchProp | A check on whether the PropertyObject is an asynchronous property.
IsCollection | A check on whether the PropertyObject is a collection.
IsOrdered | A check on whether the PropertyObject is ordered (if it is a collection).
IsTimedProp | A check on whether the PropertyObject is a timed property.
Kind | The PropertyObject's kind.
LowerValue | The PropertyObject's lower value (if it is a collection).
Type | The PropertyObject's type.
UpperValue | The PropertyObject's upper value (if it is a collection).
Value | The PropertyObject's value.

SignalEvent

Property Name | Description
Signal | The signal of the SignalEvent.

State

Property Name | Description
HasSubMachine | A check on whether the State is a Submachine state.
IsFinalState | A check on whether the State is a final state.
SubMachine | Get the ID of the Submachine contained by the State (if applicable).

StateMachine

Property Name | Description
HasSubMachineState | A check on whether the State Machine has a Submachine state.
InitialState | The State Machine's initial state.
SubMachineState | The State Machine's Submachine state.

TimeEvent

Property Name | Description
When | The 'when' property of the TimeEvent.

Transition

Property Name | Description
HasEffect | A check on whether the transition has a valid effect.
IsDerived | A check on whether the transition is a derived transition.
IsTranscend | A check on whether the transition transcends from one State Machine (Submachine state) to another.
IsTriggered | A check on whether the transition is triggered.
Source | The Transition's source.
Target | The Transition's target.

Trigger

Property Name | Description
AsynchDestinationState | The asynchronous destination state of the Trigger (if it is an asynchronous trigger).
DependentProperty | The ID of the property associated with the Trigger.
Event | The Trigger's event.
Name | The Trigger's name.
Type | The Trigger's type.

Vertex

Property Name | Description
IsHistory | A check on whether the vertex is a history state.
IsPseudoState | A check on whether the vertex is a pseudo state.
PseudoStateKind | The Vertex's pseudo-state kind.


Variables [Enterprise Architect User Guide]

Variables

Template variables provide a convenient way of storing and retrieving data within a template. This section explains how variables are defined and referenced.

Variable Definitions

Variable definitions take the basic form:

$<name> = <value>

where <name> can be any alpha-numeric sequence and <value> is derived from a macro or another variable.

A simple example definition would be:

$foo = %className%

Variables can be defined, using values from:

  • Substitution, function or list macros
  • String literals, enclosed within double quotation marks
  • Variable references.

Definition Rules

The following rules apply to variable definitions:

  • Variables have global scope within the template in which they are defined and are not accessible to other templates
  • Each variable must be defined at the start of a line, without any intervening whitespace
  • Variables are denoted by prefixing the name with $, as in $foo
  • Variables do not have to be declared, prior to being defined
  • Variables must be defined using either the assignment operator (=), or the addition-assignment operator (+=)
  • Multiple terms can be combined in a single definition using the addition operator (+).

Examples

Using a substitution macro:

$foo = %opTag:"bar"%

Using a literal string:

$foo = "bar"

Using another variable:

$foo = $bar

Using a list macro:

$ops = %list="Operation" @separator="\n\n" @indent="\t"%

Using the addition-assignment operator (+=):

$body += %list="Operation" @separator="\n\n" @indent="\t"%

The above definition is equivalent to the following:

$body = $body + %list="Operation" @separator="\n\n" @indent="\t"%

Using multiple terms:

$templateArgs = %list="ClassParameter" @separator=", "%

$template ="template<" + $templateArgs + ">"

Variable References

Variable values can be retrieved by using a reference of the form:

$<name>

where <name> can be a previously defined variable.

Variable references can be used in one of the following ways:

  • As part of a macro, such as the argument to a function macro
  • As a term in a variable definition
  • As a direct substitution of the variable value into the output.

It is legal to reference a variable before it is defined. In this case, the variable is assumed to contain an empty string value: ""

Example 1

Using variables as part of a macro. The following is an excerpt from the default C++ ClassNotes template.

$wrapLen = %genOptWrapComment%

$style = %genOptCPPCommentStyle%

%if $style == "XML.NET"%

%XML_COMMENT($wrapLen)%

%else%

%CSTYLE_COMMENT($wrapLen)%

%endIf%

Define variables to store the style and wrap length options.

Reference to $style as part of a condition.

Reference to $wrapLen as an argument to function macro.

Example 2

Using variable references as part of a variable definitions:

$foo = "foo"

$bar = "bar"

$foobar = $foo + $bar

Define our variables.

$foobar now contains the value foobar.

Example 3

Substituting variable values into the output

$bases=%classInherits%

Class %className%$bases

Store the result of the ClassInherits template in $bases.

Now output the value of $bases after the Class name.


The Code Template Editor in MDG Development [Enterprise Architect User Guide]

The Code Template Editor in MDG Development

The following topics describe how you use the Code Template Editor window to create custom templates:

  • Custom Templates
  • Override Default Templates
  • Add New Stereotyped Templates
  • Create Templates For Custom Languages

The Code Template Editor provides the facilities of the Common Code Editor, including intellisense for the code generation template macros. For more information on intellisense and the Common Code Editor, see the Code Editors topic.

Learn More:

  • Code Generation Template Macros
  • Code Editors


Custom Templates [Enterprise Architect User Guide]

Custom Templates

Custom templates enable you to generate an element in many different ways. Enterprise Architect enables you to define custom templates that are associated with given elements and call these templates from existing templates. You can even add stereotype overrides to your custom templates. For example, you might list all of your parameters and their notes in your method notes.

To create a new custom template, follow the steps below:

Step

Description

See Also

1

Select the Settings | Code Generation Templates menu option, or press ( Ctrl+Shift+P ) . The Code Templates Editor tab opens.

2

In the Language field, click on the drop-down arrow and select the appropriate language.

3

Click on the Add New Custom Template button. The Create New Custom Template dialog displays.

4

In the Template Type field, click on the drop-down arrow and select the appropriate element. The elements currently supported are:

  • Attribute
  • Class
  • Class Base
  • Class Interface
  • Class Parameter
  • Connector
  • Import
  • Linked Attribute
  • Linked Class Base
  • Linked Class Interface
  • Namespace
  • Operation
  • Parameter

<None> requires special treatment. It enables the definition of a function macro that doesn't actually apply to any of the types, but must be called as a function to define variables $parameter1, $parameter2 and so on for each value passed in.

5

In the Template Name field, type an appropriate name, then click on the OK button.

6

On the Code Templates Editor tab, the new template displays in the Templates list with the value Yes in the Modified field. The template is called <Template Type>_<Template Name>.

7

Select the appropriate template from the Templates list and edit the contents in the Template field to meet your requirements.

8

Click on the Save button. This stores the new stereotyped template in the .EAP file. The template is now available from the list of templates and via direct substitution for use.


Override Default Templates [Enterprise Architect User Guide]

Override Default Templates

Enterprise Architect has a set of built-in or default code generation templates. The Code Templates Editor enables you to modify these default templates, hence customizing the way in which Enterprise Architect generates code. You can choose to modify any or all of the base templates to achieve your required coding style.

Any templates that you have overridden are stored in the .EAP file. When generating code, Enterprise Architect first checks whether a template has been modified and if so, uses that template. Otherwise the appropriate default template is used.

To override a default code generation template, follow the steps below

Step | Description | See Also
1 | Select the Configuration | Code Generation Templates menu option. The Code Templates Editor displays. |
2 | Select the appropriate language from the Language list. |
3 | Select one of the base templates from the Templates list. |
4 | If the base template has stereotyped overrides, you can select one of these from the Stereotype Overrides list. |
5 | In the Code Templates Editor, make the required modifications. |
6 | Click on the Save button. This stores the modified version of the template to the .EAP file. The template is marked as modified. |

When generating code, Enterprise Architect now uses the overridden template, instead of the default template.


Add New Stereotyped Templates [Enterprise Architect User Guide]

Add New Stereotyped Templates

Sometimes it is useful to define a specific code generation template for use with elements of a given stereotype. This enables different code to be generated for elements, depending on their stereotype. Enterprise Architect provides some default templates, which have been specialized for commonly used stereotypes in supported languages. For example the Operation Body template for C# has been specialized for the property stereotype, so that it automatically generates its constituent get and set methods. Users can override the default stereotyped templates as described in the previous topic. Additionally users can define templates for their own stereotypes, as described below.

To add a new stereotyped template, follow the steps below:

Step | Description | See Also
1 | Select the Configuration | Code Generation Templates menu option to open the Code Templates Editor. |
2 | Select the appropriate language, from the Language list. |
3 | Select one of the base templates, from the Templates list. |
4 | Click on the Add New Stereotyped Override button. The New Template Override dialog displays. |
5 | Select the required Feature and/or Class stereotype and click on the OK button. |
6 | The new stereotyped template override displays in Stereotype Overrides list, marked as modified. |
7 | Make the required modifications in the Code Templates Editor. |
8 | Click on the Save button. This stores the new stereotyped template in the .EAP file. |

Enterprise Architect can now use the stereotyped template, when generating code for elements of that stereotype.

Note that Class and feature stereotypes can be combined to provide a further level of specialization for features. For example, if properties should be generated differently when the Class has a stereotype MyStereotype, then both property and MyStereotype should be specified in the New Template Override dialog.


Create Custom Language Template [Enterprise Architect User Guide]

Create Custom Language Template

Enterprise Architect can forward generate code for languages that it does not specifically support, if the appropriate code generation templates are defined for that language. This topic outlines the steps required to define templates for custom languages.

To define a template for a custom language, follow the steps below

Step

Description

See Also

1

Create the custom language as a new product. To do this:

  • Select the Settings | Code Datatypes menu option. The Programming Languages Datatypes dialog displays.
  • In the Product Name field type the name of the new language, and in the Datatype field type a datatype (one is enough to declare that the new language exists).

Data Types

2

Select the Settings | Code Generation Templates menu option. The Code Templates Editor view displays.

3

In the Language field, click on the drop-down arrow and select the custom language.

4

From the Templates list, select one of the base templates.

5

Define the template using the Code Templates Editor.

6

Click on the Save button. This stores the template in the .EAP file.

7

Repeat steps 1 to 6 for each of the relevant base templates for the custom language.

Notes:

  • The File template must be defined for the custom language. The File template can then see the Import Section, Namespace and Class templates


Requirement Models [Enterprise Architect User Guide]

Requirement Models

Topics:

Topic

Detail

See also

Introduction

This section describes the Enterprise Architect Requirements Management facilities, and discusses:

  • What requirements are
  • How requirements are generated and organized
  • How Enterprise Architect supports and simplifies Requirements Management

White Paper (Requirements Management with Enterprise Architect)

What is a Requirement?

Requirements are essentially what the system, application or business process is required to do

A requirement can be:

  • Broad and high level, defining - for example - that a process is necessary to update a particular database
  • More specialized and detailed, recording the expectation that - for example - a system call must always be acknowledged by return

Detailed requirements can be organized into a hierarchy culminating in a high-level requirement, so that satisfying each of the detailed requirements results in meeting the higher-level requirements and ultimately the top-level requirement

This hierarchical structure helps manage the complexity of large systems with thousands of requirements and many processes being developed to implement the requirements

Gathering Requirements

Gathering requirements is typically the first step in developing a solution, be it for developing a system or a process. Requirements are gathered from all parties expected to use, maintain or benefit from the solution, and are organized into groups, functional areas and hierarchies as necessary. They can be transcribed into a spreadsheet or a requirements gathering or management tool, or they can be created in an integrated modeling tool such as Enterprise Architect.

Requirements Management and Enterprise Architect

The management of requirements is one of the more problematic disciplines in software development, for reasons such as:

  • Diverse group input into the requirements
  • Organizational boundary divisions
  • Tool boundary divisions
  • Volatility of requirements
  • Imprecision and ambiguity in natural languages

These can cause issues with:

  • Traceability and
  • Integration with change and configuration management systems

Enterprise Architect can reduce or eliminate these problems in Requirements Management; it is one of the few UML tools that integrate Requirements Management with other software development disciplines in the core product, by defining requirements within the model. Within Enterprise Architect, you can:

  • Create and view requirements as entities and properties directly in the model
  • Collate the requirements in an external CSV file and then import them into your model
  • Detail use cases and scenarios directly in the model
  • Enter standard attributes (properties) for each requirement, such as difficulty, status and type, and define your own attributes (properties)
  • Trace requirements to Use Cases, business rules, test cases and analysis artifacts (using, for example, the Relationship Matrix)
  • Trace and view the impact of changes on requirements (through, for example, the Traceability window) and review the changes themselves
  • Create customer-quality MS Word and HTML reports on requirements

Create Requirements

View Requirements

Import Requirements Using CSV

Model Requirements

Requirement Properties

Extend Requirement Properties

Trace Use Of Requirements

Relationship Matrix

Traceability Window

Manage Requirement Changes

Report on Requirements

Notes:

  • All of these features are illustrated by examples in the EAExample.eap model, provided as part of your Enterprise Architect installation in the Enterprise Architect Program Files directory:

    ..\Program Files\Sparx Systems\EA


Requirements [Enterprise Architect User Guide]

Requirements

Description

As an analysis step, often it is desirable to capture simple system requirements. These are eventually realized by Use Cases.

In the initial requirement gathering phase, cataloging requirements can be achieved using the Requirement extension on a Custom diagram.

Examples

Requirements can be aggregated to create a hierarchy. The diagram below illustrates how this might be done.

In the following diagram, a requirement that a user can log into a website is implemented by the Login Use Case, which in turn is implemented by the Business Logic, ASP Pages and Login Web Page. Using this approach, you can easily model quite detailed and complex dependencies and implementation relationships.

Notes:

  • External requirements can be displayed with or without an identifying E (for External) in the top right corner of the element. To toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page.
  • The colors on Requirement elements identify the status of the requirement. You change the status - and hence color - on the element Properties dialog. You set the color for each status on the Status Types dialog.

Toolbox Icon


Create Requirements [Enterprise Architect User Guide]

Create Requirements

Topics:

Topic

Detail

See also

Usage

Within Enterprise Architect you can create external Requirement elements in a number of ways, such as:

  • Dragging a Requirement icon from the Toolbox into a specific diagram (which also adds the Requirement to the diagram's parent package - see below)
  • Dragging text from a text file onto a diagram, to generate a requirement based on that text - see below
  • Generating an element within a specific package in the Project Browser - see below
  • Importing requirements from a spreadsheet application such as Excel, via CSV
  • Creating Requirement elements on the Package Browser or Diagram List for the selected package or diagram
  • Converting an internal responsibility into an external element, in a selected target package
  • Importing requirements from another requirements management tool, such as Telelogic DOORS (in this case via the Sparx Systems MDG Link For DOORS integration tool)

Import Requirements using CSV

Package Browser

Diagram List

Converting an Internal Responsibility

Sparx Systems MDG Link For DOORS

How To:

To create Requirement elements in a diagram, follow the steps below:

Step | Action | See Also
1 | Open the Custom pages on the Toolbox | Custom Group
2 | Drag the Requirement element onto the current diagram |
3 | Enter the Name and other details for the requirement Enterprise Architect creates a Requirement element in the current diagram and in the diagram's parent package | Requirement Properties

Alternatively:

(The following procedure converts a text section heading into an element name and the section text into the element's Notes text. You can use this procedure to generate elements of a range of types; however, it is particularly useful for generating Requirements from a requirements specification document.)

Step | Action | See Also
1 | Open an Enterprise Architect diagram in the Diagram View |
2 | Open the required document file containing the text you want to generate Requirement elements from (this can be opened in any common text editing tool) |
3 | Highlight the required heading and associated text and drag them from the text file into the diagram The Toolbox Shortcut menu displays | Toolbox Shortcut Menu
4 | Navigate through the menus and select the required element type (in this case, click on Common and Requirement) |
5 | Enterprise Architect creates a (Requirement) element in the diagram, and displays the Properties dialog with the section heading in the Name (or equivalent) field and the text in the Notes field; the element is also added to the diagram's parent package |

To create a requirement directly in the Project Browser, follow the steps below

Step | Action | See Also
1 | Right-click on the required parent package to open the context menu |
2 | Select the Insert | New Element menu option; alternatively, press ( Ctrl+M ) |
3 | In the New Element dialog select the Requirement type |
4 | Enter the Name (or select Auto) and click on the OK button Enterprise Architect creates a requirement in the current package |

Notes:

  • The Requirement element name can be simply descriptive text, with or without a manually-typed reference number; however, as requirements often have to have a unique reference for external checking, you can use the Enterprise Architect auto-numbering facility to automatically apply a numbering system with or without prefixes and suffixes - set the element type to Requirement
  • External Requirement elements can be displayed with or without an identifying E in the top right corner; to toggle display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page
  • Requirement elements can be color coded to indicate their status

Learn More:

  • Auto Naming and Auto Counters
  • Objects
  • Color Code External Requirements


Requirement Properties [Enterprise Architect User Guide]

Requirement Properties

Requirement properties differ slightly from the properties of other elements; they include information related to the Type, Status, Difficulty and Priority of the Requirement. The Notes field is also important, as it describes precisely what requirement the element represents. Requirement naming can also require careful consideration and could reflect either a categorical naming convention, or simply a loose English description of the Requirement.

Access: Requirement Element Context Menu | Properties

Use to:

  • Document requirements
  • Set Requirement features such as Type, Status and Priority
  • Set other element properties common to both Requirements and other model Elements

Reference:

Field

Usage

See Also

Short Description

The name of this requirement, which could include numbering, plain English description or some other formal specification

Alias

An alias to be used for this requirement

Auto Counters

Status

The current status of this requirement

Color Code Requirements

Difficulty

An estimate of the difficulty in meeting this requirement. Enterprise Architect supports the values 'Low', 'Medium', 'High'

Priority

The relative importance of meeting this requirement compared to other requirements; select from:

  • Low
  • Medium
  • High'

Author

The author of this requirement

Authors

Key Words

A set of words that could be used to index or define the subject of this requirement

Type

The type of this requirement. This is typically used as a category for the requirement.

Requirement Types

Phase

The phase of this requirement.

Version

The version of this requirement.

Last Update

Read-only field specifying when this requirement was last changed.

Created

Read-only field specifying when this requirement was first created.

Notes

The description of this requirement.

Note Editors, Linked Documents

Notes:

  • In Requirement Management tools and texts, the characteristics of a requirement are commonly called attributes. However, in UML the term attribute refers to a different type of feature, and the requirement characteristics are defined as properties. In this Enterprise Architect documentation, the term properties is used
  • In a project, it might be necessary to define more information in a requirement than is provided by the standard properties. For more information on extending the requirement properties, see the Extend Requirement Properties topic

Learn More

  • Extend Requirement Properties


Color Code External Requirements [Enterprise Architect User Guide]

Color Code External Requirements

External requirements can be color coded to provide quick visual cues indicating the status of a requirement.

How to:

To enable color coded external requirements follow the steps below

Step | Action
1 | Select the Tools | Options menu option The Options dialog displays
2 | From the hierarchical tree select Objects, and select the Show status colors on diagrams checkbox to enable the status of external requirements to be represented by color coding

Topics:

Topic

Detail

See also

Usage

The color code requirements use the following default conventions:

  • Yellow for Proposed
  • Blue for Approved
  • Green for Validated
  • Orange for Mandatory
  • Black for Implemented

You can change these colors, and add or remove status types, using the Status Types dialog

Status Types Dialog


Extend Requirement Properties [Enterprise Architect User Guide]

Extend Requirement Properties

Topics:

Topic

Detail

See also

Introduction

A project might apply further properties to a requirement, such as cost, lateness penalty or risk to the business if not met. You can add these properties to specific Requirement elements, or configure them to be automatically available in all Requirement elements on creation, using Tagged Values. (These are sometimes referred to as User-defined attributes.)

Extended element properties are not visible unless you open the Tagged Values window for the element. Alternatively, you can display the additional properties on the element image on its diagrams.

Tagged Values

Display Tagged Values on Diagrams

Add Tagged Values to Existing Requirements

To add a property to a single Requirement as a Tagged Value, simply click on the Requirement, display the Tagged Values window ( Ctrl+Shift+6 ), and enter the name of the property as the tag name and the value of the property as the tag value.

It is likely that any property you add to one Requirement would also apply to others. You might therefore use a predefined Tagged Value Type to identify your Requirement property, so that you can select it whenever required. The predefined Tagged Value Type also enables you to define specific values for the Tagged Value. If the appropriate predefined Tagged Value Type does not exist, a Technology Developer can create it to add to the structured tags, reference tags, or customized tags collections.

Assign a Tagged Value to an Item

Create Structured Tagged Values

Create Reference Date Tagged Values

Create a Custom Tagged Value Type

Configure Requirements to be Created With Extended Properties

If it is necessary to create all Requirements with the same extended set of properties, you can create a Requirement Template diagram and either create a special Requirement that defines those properties (as Tagged Values), or drag an existing Requirement with those properties onto the diagram. You then set the Requirement Template diagram as the template for all new Requirement elements, so that those new Requirements automatically have all of the properties you want.

However, this then excludes other Requirement element formats, including the standard Requirement format. If you want to use another Requirement format, you have to replace or cancel the current Template. Alternatively, you can create a Profile.

A Profile also defines exactly what a new Requirement element should contain, and how it should display in diagrams. However, a Profile is a collection of alternative element definitions, so it does not override the default Requirement format, nor does it prevent you from defining several different types of Requirement element. You can therefore have separate and parallel definitions of elements for business requirements, system requirements, project requirements, or any other category of requirement you decide to work with.

For information on importing and using existing Profile files, see the UML Profiles topic. For information on creating new Profiles, see the Developing Profiles topic.

Set Element Template Package

UML Profiles

Developing Profiles


Display Tagged Values On Diagrams [Enterprise Architect User Guide]

Display Tagged Values On Diagrams

Topics:

Topic

Detail

See also

Usage

If you have extended the properties of a Requirement, you might want to make those properties visible in the Requirement elements in your diagrams, by switching on display of the element tags compartment. You can do this in one of two ways:

  • To display the tags compartment on all elements on a diagram, double-click on the diagram background and select the Elements tab of the Diagram Properties dialog; select the Tags checkbox and click on the OK button
  • To display the tags compartment on a specific element on a diagram, right-click on the element and select the Feature Visibility context menu option; select the Tags checkbox in the Show Element Compartments panel of the Feature Visibility dialog, and click on the OK button

The Tagged Values are then displayed in the Requirement element on the diagram.

Learn More:

  • Elements
  • Feature Visibility


Connect Requirements [Enterprise Architect User Guide]

Connect Requirements

Topics:

Topic

Detail

See also

Abstract

A Requirement element can be connected to other Requirements, most commonly using Aggregate relationships to form a hierarchy of requirements.

Requirements are also connected to other types of element, most commonly Use Cases, by Realize or Implements relationships.

These relationships are very important, both in identifying how the Requirements are organized and used in the model, and in tracing the development from the Requirements throughout the model. Both of these tasks are very simple in Enterprise Architect, because once a connector on a Requirement exists, Enterprise Architect automatically lists the Requirement in the:

  • Requirements Traceability window (an important tool in examining the role of Requirements in the model)
  • Requirements tab of the target element Properties dialog
  • Links tab of the Requirement element Properties dialog
  • Scenarios & Requirements window
  • Relationships Window
  • Dependency and Implementation reports
  • Standard RTF output

The connector itself is also listed in the Links tab of the target element Properties dialog, and in the Relationship Matrix. There are, therefore, many ways to locate, view and track Requirement relationships.

Aggregate relationships

Realization

Trace Requirements

Traceability

Requirements

Requirment Properties

Scenarios & Requirements

Relationships Window

Dependency

Implementation reports

Standard RTF output.

Links

Relationship Matrix

Connect On Diagram

Relationships can be created on a diagram by clicking on the appropriate connector icon from the Requirement and Common pages of the Toolbox, clicking on the source (originating) element, and dragging to the target element.

If you are connecting elements in different packages, you can drag elements from the Project Browser onto a common diagram and set up the relationships there. Alternatively, you can quickly generate a Realize connector by dragging an existing Requirement element from the Project Browser over the element that implements the Requirement. Enterprise Architect interprets this as a request to create the Realize connector and does so automatically. The Requirement element is not added to the diagram. However, if you subsequently drag the Requirement onto the diagram the connector is already in place.

Requirement Group

Common Group

Connect Off Diagram

You can also connect a Requirement element to other elements without necessarily having the elements on the same diagram, or having a diagram open.

Use the Relationship Matrix to create relationships for requirements; this is a convenient way of quickly building up complex relationships and hierarchies.

Creating Relationships


Import Requirements and Hierarchies in CSV [Enterprise Architect User Guide]

Import Requirements and Hierarchies in CSV

Topics:

Topic

Detail

See also

Usage

You can import Requirements from a spreadsheet application in CSV format. Before doing this you must create a CSV import file specification that:

  • In the Default Types field has the value requirement,package to import requirements and a package structure to contain them
  • Has the Preserve Hierarchy checkbox selected
  • Identifies the data fields on the spreadsheet that are to be translated into Enterprise Architect, in the order in which they are plotted across the spreadsheet
  • Is to operate on a spreadsheet containing the CSV_KEY and CSV_PARENT_KEY fields (which, if not generated by a CSV export from Enterprise Architect, you have added and populated yourself)

This enables you to import the individual and grouped requirements from the spreadsheet into Enterprise Architect, and to reconstruct the hierarchies of Requirements in the target package in the Project Browser.

Learn More:

  • CSV Import
  • CSV Specifications
  • Using Preserve Hierarchy


Model Requirements [Enterprise Architect User Guide]

Model Requirements

Topics:

Topic

Detail

See also

Represent Requirements

In Enterprise Architect, a requirement can be modeled as an:

  • External Requirement - an expectation of the system or process, what the system or process must provide, modeled as an element; for example, a business requirement or a stakeholder request - Requirements at this level have their own properties and are reported on separately in RTF reports
  • Internal requirement – a responsibility of an existing element, what the element must do or accomplish, defined as a property of the element

Requirements Management in Enterprise Architect is primarily concerned with external Requirement elements and the elements that implement or realize them.

Requirements

Internal requirements

Requirements in the Model

Requirement elements can be grouped and organized within Requirements diagrams. The Requirement elements are connected to each other by Aggregate relationships to form a hierarchy:

It is quite usual to develop a package of many hundreds of Requirement elements, arranged individually and in hierarchies of varying complexity. In the Project Browser you can use the Turn On Level Numbering facility to highlight the order and arrangement of the Requirements quickly and easily. The following illustration shows a number of Requirements in a package, where Level Numbering makes the order and arrangement clear:

If elements are added, moved or deleted from the package, the numbering automatically adjusts.

This numbering can also be applied in the RTF report generator using the LevelNumber field in the Element section – {Element.LevelNumber}.

Requirements Diagram

Turn On Level Numbering

RTF Style Template Editor

Use Cases

Requirements are implemented (realized) by model elements such as Use Cases, Classes, Interfaces and Components. There are many ways to trace either the Requirement for the feature or service modeled by the elements, or the elements that develop the requirement, most visibly in Traceability diagrams that depict the Requirements and the model elements connected by Realize relationships. The Realize connector enables members of the project team to keep design objectives and development in tandem, and the development path and purpose clear.

Realizations

The more usual realization relationship is between a Requirement and a Use Case. A Requirement can be realized by one or more Use Cases, and a Use Case can realize one or more Requirements.

Whilst a Requirement defines a condition that must be met, the Use Case is the key to defining and visualizing how that condition is met. A Use Case diagram depicts the logical grouping of actions, processes and components to achieve a required result, and through the use of Actor elements also defines the user and/or system roles participating in the process.

Each Use Case (as a composite element) can contain a combination of child diagrams that define in greater detail how a particular activity or facility might be implemented - such diagrams include Sequence, Communication, Activity, State Machine and Business Rule Flow diagrams. The actual implementation of each Use Case is realized by Class, Component and Interface elements organized in their own diagrams. These realizations can also be captured and viewed in Traceability diagrams, depicting the full development pathway from initial requirement through to testing and production.

Trace

Traceability

Connector Requirement

Use Case

Use Case Diagram

Actor

Composite Element

Sequence Diagram

Communication Diagram

Activity Diagram

State Machine Diagram

Business Rule Flow


Feature [Enterprise Architect User Guide]

Feature

Description

A Feature is a small, granular function or characteristic expressed in client-valued terms as a satisfaction of a requirement; for example: 'context-sensitive Help', or 'ability to reverse-engineer VB.Net'.

Features are the primary requirements-gathering artifact of the Feature-Driven Design (FDD) methodology. They define the product feature that satisfies what a Requirement element has formalized as a contractual, testable, expected deliverable (for example: requirement - 'every element must provide context-sensitive Help'; feature - 'every element provides context-sensitive Help'). One Feature might realize one or more Requirements, and one Requirement might be realized by more than one Feature.

Features also have relationships with Use Cases. A Use Case defines the interaction a user has with the system in order to satisfy one or more Requirements. The Feature identifies the facility that provides the means for that interaction.

Feature elements are non-UML and are not related to the UML elements of the same name which are either BehavioralFeatures (operations, or methods) or StructuralFeatures (Ports, Parts and attributes).

Feature elements are available from the Requirements page of the Toolbox.

Feature elements can be displayed with or without an identifying F in the top right corner of the element. To toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page.

Toolbox Icon

Learn More:

  • Feature-Driven Design (FDD) methodology
  • Requirement Element
  • Use Case Element


Internal Requirements [Enterprise Architect User Guide]

Internal Requirements

Topic

Detail

See also

Usage

Internal requirements in Enterprise Architect are element responsibilities. They are defined on the Requirements page of the element Properties dialog.

Internal requirements form the functional requirements of the system to be built. The meaning of the requirement can vary depending on which element is the host; for example, a business process requirement might mean something different to a Use Case requirement, which again might mean something different to a Class requirement. In the example above, an internal responsibility to enable the user to login to the system has been defined for the Login Use Case. This is a responsibility of the Use Case - an action it is responsible for carrying out - and it applies only to this Use Case.

The significant parameters (or, in Requirement Management terms, attributes) are the Type, Status, Difficulty and Priority. Whilst you can provide a detailed description of the responsibility in the Notes field, there is more scope in the name (Requirement field) to define the nature of the responsibility. An additional field, Stability, indicates the probability of the requirement changing; high stability means a low probability of change.

The example Use Case above also has connections to two external requirements, which are system functions that the Use Case implements either in full or in part. You can convert an internal responsibility into an external requirement.

You can also create internal responsibilities for an element using the Scenarios & Requirements window. A responsibility created in the window displays in the element Properties dialog, and vice versa.

Requirements

Make Internal Requirements External

Scenarios & Requirements


Make Internal Requirement External [Enterprise Architect User Guide]

Make Internal Requirement External

Elements in Enterprise Architect have internal requirements, or responsibilities (what they must do or accomplish). These often overlap or duplicate more formal requirements that the system in general must meet. You can move internal requirements to external requirements (where the requirement can perhaps be implemented by multiple elements) in one go, using the Move External function.

How To:

To change an internal requirement for an element into an external element, follow the steps below

Step | Action | See Also
1 | Double-click on the element in a diagram or in the Project Browser The element Properties dialog displays |
2 | Click on the Requirements tab |
3 | Locate and highlight the requirement |
4 | Click on the Move External button The Browse Project dialog displays |
5 | Select the package to place the new requirement in |
6 | Click on the OK button |

Enterprise Architect creates a new Requirement element in the target package and automatically generates a Realization connector from the element to the Requirement.

The requirement is now marked external and the dialog fields grayed out. To edit its details, double-click on the requirement.

The requirement element is now located in the target package.

Learn More:

  • Requirement Properties


Manage Requirements [Enterprise Architect User Guide]

Manage Requirements

One of the main advantages of managing Requirements in Enterprise Architect is that you can display many different aspects of information on the Requirements, from overall organization and location through lists, current status, general properties, detailed individual notes and specific properties, to relationships and dependencies with other elements in the model.

As most of these aspects are displayed in dockable windows, you can review the Requirements from several different perspectives simultaneously in the Enterprise Architect work area, as shown below:

Example:

This display shows the position of the Store User Details Requirement element in the model, and how it relates to other Requirements (Project Browser); the default characteristics of the Requirement (Package Browser) and the extended characteristics (Tagged Values window), and a detailed description of the Requirement (Notes window). You can configure some of these windows to display more information, and/or use other windows and facilities.

Learn More:

  • View Requirements
  • Trace Use of Requirements
  • Manage Requirement Changes
  • Report on Requirements


View Requirements [Enterprise Architect User Guide]

View Requirements

Use the following windows and facilities to: locate and list Requirement elements in the model; add, move and delete the elements; display and edit the properties and characteristics of individual elements; and generate reports on packages or specific elements.

Topics:

Topic

Detail

See also

Usage

Use the following windows and facilities to: locate and list Requirement elements in the model; add, move and delete the elements; display and edit the properties and characteristics of individual elements; and generate reports on packages or specific elements.

  • Project Browser - shows the content and structure of your model
  • Diagram List - lists the elements in a diagram, filtered and sorted according to the settings you define; shows all or selected default properties of each element
  • Package Browser - lists the elements in a package, filtered and sorted according to the settings you define; shows all or selected default properties of each element
  • (Requirements) Diagram - shows the arrangement of a group of Requirements, and can show whether the elements are in the same package or different packages
  • Model Search - enables you to locate Requirements in general in the model, or specific Requirement elements, according to the search criteria you use
  • Model Views - enables you to maintain links to commonly-used elements, and to rapidly show developments and changes in (Requirement) package contents through either reports or slide shows of selected diagrams
  • Properties - shows every standard property of a selected element, whether updated by the user or maintained automatically by the system
  • Tagged Values - shows extended properties of a selected Requirement element
  • Element Browser - shows every added-on property, such as attributes, operations, Tagged Values and constraints
  • Notes - displays the detailed description of a requirement, and any other additional information recorded on the requirement

Project Browser

Diagram List

Package Browser

Requirements Diagram

Model Search

Model Views

Properties

Tagged Values

Element Browser

Notes


Trace Use of Requirements [Enterprise Architect User Guide]

Trace Use of Requirements

Topics:

Topic

Detail

See also

Usage

Having investigated the representation of requirements in your model, you might review either how they have been used to direct development through the model, or how a particular development was initiated. This is discussed in greater detail in the Traceability topics, but the windows and facilities you might use to follow development from Requirements are briefly described below. The significant feature in tracing Requirements and development is the connectors between the elements.

  • Relationships window - quickly identifies every relationship of which a selected Requirement element is a member, and the partner element in that relationship, whether or not the relationship is visible in the current diagram. If the partner element is not in the diagram, you have the option of adding it
  • Traceability window - a very useful tool in showing chains of relationships that include the selected element. The window can show, for example, that a Requirement A is realized by a Use Case X, but Use Case X also realizes Requirement B, which in turn is also realized by Use Case Y. You can control the type and extent of these relationship chains, but as the system checks the connectors and partner elements of every relationship within the limits you impose, the system can take some time to produce the final results
  • Relationship Matrix - a significant tool in mapping the relationships between the Requirements elements in a package and other elements in either that package or a different package. Where a relationship is missing, you can add it; if an existing relationship is misplaced, you can delete it
  • Properties dialog, Requirements tab - for elements other than Requirements (particularly Use Cases), shows all internal responsibilities and external requirement elements attached to the element
  • Scenarios & Requirements window - as for the Properties dialog, shows the Requirements and responsibilities of the selected element, and the scenarios and constraints under which the Requirements are being realized

Traceability

Connect Requirements

Relationship Window

Traceability window

Relationship Matrix

Properties Dialog

Requirements

Scenarios & Requirements


Manage Requirement Changes [Enterprise Architect User Guide]

Manage Requirement Changes

Because requirements are statements of what a system or process must do or provide, they have a great impact on the modeling and development of the system. A new requirement might initiate an extensive program of work, and changes to or removal of that requirement can therefore have a major effect on the model. Issues concerning requirements, and changes to Requirements, must both be carefully managed.

The first steps in managing changes to requirements would be to raise specific Issue and Change request items against the Requirement element. You could monitor the appearance of these items using the filtered searches of the Model Views. You might then review the Requirement properties and/or its relationship hierarchies. During model development, you might capture periodic Baselines and use these to review the changes and, if necessary, roll them back to a previous point. You might also use the Auditing facility to monitor changes as they are made, and to ensure that no unauthorized or potentially risky changes are being made in the model.

These facilities are briefly discussed below.

Topics:

Topic

Detail

See also

Changes and Issues

A change is, very broadly, an item defining an addition or alteration to a requirement. An issue identifies either a failure to meet a requirement, or a risk in meeting the requirement.

Changes and issues can arise in development at a number of levels, being raised for problems that apply system-wide down to within a specific element. There are two mechanisms that can be used to identify a change or issue, and the work required to resolve it:

  • Change and Issue (or Defect) elements - structured comments that identify a problem at system-level, although they can also be attached to a specific element from which a problem arises. Both types of element resemble the Requirement element, and can be linked to one or more other elements that have to be reviewed, with relationships such as Association, Dependency and Realize. The two types of element can also form hierarchies or groups, where complex problems arise
  • Maintenance items raised against a specific element, and recorded for that element in the Maintenance window. Maintenance items enable the distinction between Defects (a failure to meet a requirement) and Issues (a risk factor that might affect satisfying the requirement). They also include Tasks, which record work items associated with the element

Maintenance items are very specific, but if there is a possibility of an item having a wider impact on other elements or the system in general, you can translate the item into a Change or Issue element, or any other type of element that best identifies the problem and its solution.

Changes

Issues

Maintenance items

Maintenance Workspace

Create an Element From a Maintenance Item

Model Views

Model Views are very useful for trapping changes and issues in the model, especially on Requirements. You can set up searches to identify the appearance of new Change or Issue elements, or to detect changes in the properties of the Requirement elements themselves.

Model Views

Baselines

A Baseline is a snapshot of a package or a model branch at a particular point in time, which you determine. You can use the Baseline as a distribution mechanism for changes to the model, but the main use is to enable you to compare the current model with a previous stage, and detect what changes have been made since the Baseline was captured. If you do not want a change to remain in the model, you can roll the affected elements back to the state they had in the Baseline. Therefore, if you maintain your requirements in a specific package or branch, you can capture Baselines of the package and ensure that changes conform to your change management process or, if not, can be reversed.

Baselines

Auditing

The Auditing facility enables you to capture any changes made to your model within the selection criteria that you define. You can, for example, configure the Auditing facility to specifically record changes to Requirement elements. As auditing is continuously monitoring, you can detect changes as they are made, and verify that they are acceptable. You can also store the log of changes, and review it later on. Note that you cannot reverse the changes automatically, as you can with Baselines. You might therefore use Auditing to identify changes to investigate more fully and - if necessary - reverse in a Baseline comparison.

Auditing

Auditing Settings

Learn More:

  • View Requirements


Report on Requirements [Enterprise Architect User Guide]

Report on Requirements

Topics:

Topic

Detail

See also

Usage

Enterprise Architect provides two report generation facilities that enable you to output RTF reports and HTML reports on your model structure and components. The RTF reporting facility is especially comprehensive, and contains a number of features that provide particular support to Requirements Management:

  • A requirements report template that extracts details of external requirements in the model; you can copy and tailor this template for your particular requirements
  • Options in the Diagram List, Package Browser and Model Search to generate RTF reports on selected (Requirement) items from the collected information
  • The Implementation Report, which lists for a selected package the elements that require implementers, together with any source elements in Realize (Implements) relationships with those elements
  • The Dependency Report, which lists for a selected package any elements that are dependent on another element for their specification; for example, a Use Case derives its specification from the Requirement that it realizes

RTF Document

RTF Dialog Options

Diagram List

Package Browser

Model Search

Implementation Report

Realization

Dependency Report


Requirements Diagram [Enterprise Architect User Guide]

Requirements Diagram

A Requirements diagram is a custom diagram used to describe a system's requirements or features as a visual model.

Requirements are defined using Requirement elements (Custom elements of type Requirement). To view the detailed description of a Requirement, double-click on the element to display its properties.

Requirements can have relationships with other elements such as other Requirements and Use Cases. To view the traceability of a requirement, use the Traceability window.

Use To:

  • Describe a system's requirements or features as a visual model
  • Link Requirement elements to Use Cases and Components in the system to illustrate how a particular system requirement is met
  • Enable traceability between specifications and design requirements, and the model elements that realize them

Example Diagram: Example Requirements Diagram

Tools:

Select Requirements diagram elements and connectors from the Requirements pages of the Toolbox.

Requirements Diagram Elements | Requirements Diagram Connectors

Learn More:

  • Trace - Tracking Dependencies
  • The Traceability Window


Example Requirements Diagram [Enterprise Architect User Guide]

Example Requirements Diagram

The example below illustrates a Requirements diagram.

Requirement elements can be linked back to Use Cases and Components in the system to illustrate how a particular system requirement is met.

Change and Defect (Issue) elements look the same as Requirement elements and can be coded and managed in the same way.

Example 1:

Custom Diagram Requirement Diagram

Example 2:

Example of a Requirements Diagram

Learn More:

  • Requirements Diagram
  • Requirements
  • Use Case
  • Component
  • Changes
  • Defects (Issues)


Domain Based Models [Enterprise Architect User Guide]

Domain Based Models

Enterprise Architect provides specific modeling tools for a range of specialized model types, as outlined below.

Enterprise Architect also provides an additional set of extended diagrams and a set of inbuilt and extension stereotype elements for more general use, and supports you in developing your own modeling languages.

Topic

Detail

See also

Requirements

Enterprise Architect is one of the few UML tools that integrate Requirements Management with other software development disciplines in the core product, by defining requirements within the model

Requirements modeling

Business Modeling

Modeling the business process is an essential part of any software development process, enabling the analyst to capture the broad outline and procedures that govern what it is a business does

Business modeling

Business Rules

Business Rule modeling captures the rules that govern a business, and their relationships with the entities and specific tasks within the organization or system

Business Rule modeling

BPMN

The Business Process Modeling Notation is specifically targeted at the business modeling community and has a direct mapping to UML through BPMN Profiles; these profiles enable you to develop BPMN diagrams quickly and simply

BPMN modeling

BPEL

Business Process Execution Language is an executable language for specifying interactions with Web Services

Enterprise Architect uses the BPMN profile as a graphical front-end to capture BPEL Process descriptions

BPEL modeling

SysML

SysML is a general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems that might include hardware, software, information, personnel, procedures and facilities

Systems engineering (SysML)

Data Modeling

Enterprise Architect provides easy-to-use tools for building and maintaining all of the fundamental data models - Conceptual, Logical and Physical; because Enterprise Architect lets you visualize each type of data model in the same repository, you can easily manage dependencies between each level of abstraction

Data Models

XSD

Enterprise Architect supports rapid modeling, forward engineering and reverse engineering of W3C XML schemas (XSD), critical for the development of a complete Service Oriented Architecture (SOA)

XML Schema modeling (XSD)

WSDL

Enterprise Architect enables rapid modeling, forward engineering and reverse engineering of W3C XML Web Service Definition Language (WSDL), critical for the development of a complete Service Oriented Architecture (SOA)

Web Service modeling (WSDL)

SPEM

The Software and Systems Process Engineering Meta-model (SPEM) is a conceptual framework for modeling, documenting, presenting, managing, interchanging, and enacting development methods and processes

SPEM 2.0 focuses on providing the additional information structures that you require for processes modeled with UML 2 Activities or BPMN/BPDM

Software Process modeling (SPEM)

ArchiMate

ArchiMate is an open-standard enterprise architecture language based on the IEEE 1471 standard, providing a common language for describing the construction and operation of business processes, organizational structures, information flows, IT systems and technical infrastructure

It enables Enterprise Architects to clearly describe, analyse and visualize the relationships among business domains

ArchiMate

Data Flow Diagrams

A data flow diagram (DFD) is a graphical representation of the flow of data through an information system, and can also be used to visualize data processing (structured design)

Developing a DFD helps in identifying the transaction data in the data model

Data Flow Diagrams

Entity Relationship Diagrams

Entity-relationship modeling is an abstract and conceptual database modeling method, used to produce a schema or semantic data model of, for example, a relational database and its requirements, visualized in Entity-Relationship Diagrams (ERDs)

ERDs in Enterprise Architect assist you in building conceptual data models through to generating Data Definition Language (DDL) for the target DBMS

Entity Relationship Diagrams

Eriksson-Penker Extensions

Eriksson-Penker extensions provide a framework for UML business processing model extensions, to which an Enterprise Architect can add stereotypes and properties appropriate to their business

In Enterprise Architect, the Eriksson-Penker profile provides, through a set of stereotypes, a unique and powerful means of visualizing and communicating business processes and the necessary flow of information within an organization

Eriksson-Penker Extensions

Group of Four Patterns

Gang of Four (GoF) Patterns are 23 classic software design patterns providing recurring solutions to common problems in software design

Enterprise Architect provides each pattern through an icon in the Diagram Toolbox

GoF Patterns

ICONIX

The ICONIX Process is a streamlined approach to Use Case driven UML modeling that uses a core subset of UML diagrams and techniques to provide thorough coverage of object-oriented analysis and design

Its main activity is robustness analysis, a method for bridging the gap between analysis and design

ICONIX

Mind Mapping

A Mind Map is an image-centered diagram used to represent semantic or other connections between words, ideas, tasks or other items arranged radially around a central key word or idea

A Mind Map is used to generate, visualize, structure and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing

Mind Mapping

SoaML

Service Oriented Architecture (SOA) is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results

SoaML

SOMF

The service-oriented modeling framework (SOMF) is a service-oriented development life cycle methodology, offering a number of modeling practices and disciplines that contribute to a successful service-oriented life cycle management and modeling

SOMF

Extended Diagrams

Enterprise Architect provides an additional set of diagram types that extend the core UML diagrams for domain-specific models

Also, the specialized modeling tools listed in the first part of this table each have their own specialized diagrams

Analysis Diagram

Custom Diagram

Requirements Diagram

Maintenance Diagram

User Interface Diagram

Database Diagram

Business Modeling and Business Interaction Diagrams

Inbuilt and Extension Stereotypes

Behavioral and Structural elements can be extended through the use of stereotypes; Enterprise Architect provides a number of inbuilt extensions

Inbuilt and Extension Stereotypes

Build Your Own Modeling Language

Enterprise Architect enables you to extend the scope both of your modeling and of the UML components you use, through the use of stereotypes, profiles and patterns to develop your own modeling applications

Build Your Own Modeling Language


Domain Based Diagrams [Enterprise Architect User Guide]

Domain Based Diagrams

In addition to diagrams defined by the UML, Enterprise Architect provides some extended diagram platforms to model business processes or develop custom diagrams.

Diagram Type

Detail

See also

Analysis Diagram

An Analysis diagram is a simplified Activity diagram, which is used to capture high level business processes and early models of system behavior and elements

Analysis Diagram

Custom Diagram

A Custom diagram is an extended Class diagram that is used to capture requirements, user interfaces or custom-design models

Custom Diagram

Requirements Diagram

A Requirements diagram is a custom diagram used to describe a system's requirements or features as a visual model

Requirements Diagram

Maintenance Diagram

A Maintenance diagram is a custom diagram used to describe change requests and issue items within a system model

Maintenance Diagram

User Interface Diagram

User Interface diagrams are custom diagrams used to visually mock-up a system's user interface using forms, controls and labels

User Interface Diagram

Data Modeling Diagram

A Data Modeling diagram is a Class diagram used for representing database schemas

Data Modeling Diagram

Documentation

Virtual documents enable you to structure and filter your RTF and HTML reports by selecting, grouping and ordering individual packages independent of the organization of the Project Browser

Documentation

Business Modeling and Business Interaction

Business Modeling diagrams and Business Interaction diagrams enable you to model both the structure and behavior of a business system

Business Modeling diagrams are based on a Class (UML Structural) diagram, whilst Business Interaction diagrams are based on a Sequence (UML Behavioral) diagram

Business Modeling and Business Interaction


Analysis Models [Enterprise Architect User Guide]

Analysis Models

See:

  • Mind Mapping
  • Custom Diagram
  • Process
  • Event
  • Data Flow Diagrams
  • Analysis Stereotypes
  • Control
  • Analysis Diagram
  • Boundary
  • Entity


Mind Mapping [Enterprise Architect User Guide]

Mind Mapping

Access: From the Toolbox select: More Tools | Mind Mapping

Topics:

Topic

Detail

See also

Introduction

The following text is derived from the Mind Map entry in the online Wikipedia.

A Mind Map is a diagram used to represent words, ideas, tasks or other items linked to and arranged radially around a central key word or idea. It is used to generate, visualize, structure and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing.

A Mind Map is an image-centered diagram that represents semantic or other connections between portions of information. By presenting these connections in a radial, non-linear graphical manner, it encourages a brainstorming approach to any given organizational task, eliminating the hurdle of initially establishing an intrinsically appropriate or relevant conceptual framework to work within.

The elements are arranged intuitively according to the importance of the concepts and are organized into groupings, branches, or areas. The uniform graphic formulation of the semantic structure of information on the method of gathering knowledge, may aid recall of existing memories.

The use of the term Mind Maps is trademarked in the UK and the USA by The Buzan Organization, Ltd.

Mind Map (Online Resource)

Mind Mapping in Enterprise Architect

Enterprise Architect enables you to develop Mind Maps quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The Mind Mapping facilities are provided in the form of:

  • A Mind Mapping diagram type, accessed through the New Diagram dialog
  • A Mind Mapping page in the Toolbox
  • Mind Mapping element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

New Diagram

Toolbox Shortcut

Quick Linker

Mind Mapping Toolbox Page

The following icons are available:

  • Central Topic is the main theme of the Mind Map; you would normally have one or two of these on the diagram, but can add as many as are necessary
  • Main Topic represents the immediate concepts generated by the Central Topic
  • Topic represents the larger divisions of a Main Topic
  • Sub Topic represents the finer divisions of a Topic or Main Topic; you could also have Subtopics of Subtopics to represent increasingly finer distinctions
  • Relationship represents the connection between any two elements; you can have several Relationships per element. Each relationship has three anchor points, so you can curve the lines to develop the flow of concepts more easily

When dragged onto a Mind Mapping diagram, the elements and relationship have the following appearances:

As the elements can represent any concept, object or relationship, you can use the full range of element properties and features to expand on what the element represents, including adding Note elements. However, to preserve the simplicity and readability of the diagram itself, you cannot display the element compartments on the diagram.

Disable Mind Mapping

If you prefer not to use Mind Mapping in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies


Custom Diagram [Enterprise Architect User Guide]

Custom Diagram

A Custom diagram is an extended Class diagram that is used to capture requirements, user interfaces or custom-design models.

Custom models provide a few extensions to the UML model and enable some exploratory and non-rigorous experimentation with model elements and diagrams.

Tools:

Select Custom diagram elements and connectors from the Custom pages of the Toolbox.

Custom Diagram Elements | Custom Diagram Connectors


Data Flow Diagrams [Enterprise Architect User Guide]

Data Flow Diagrams

Access: From the Toolbox select: More Tools | Data Flow Diagrams

Topics:

Images

Topic

Detail

See also

Introduction

The following text is derived from the Data Flow Diagram entry in the online Wikipedia.

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modeled.

Data flow diagrams were invented by Larry Constantine ... based on Martin and Estrin's "data flow graph" model of computation. ( They ) are one of the three essential perspectives of Structured Systems Analysis and Design Method SSADM. The sponsor of a project and the end users will need to be briefed and consulted throughout all stages of a system's evolution. With a dataflow diagram, users are able to visualize how the system will operate, what the system will accomplish, and how the system will be implemented. The old system's dataflow diagrams can be drawn up and compared with the new system's dataflow diagrams to draw comparisons to implement a more efficient system.

Developing a DFD helps in identifying the transaction data in the data model.

Data Flow Diagram (Online Resource)

Data Flow Diagrams in Enterprise Architect

Enterprise Architect enables you to develop Data Flow diagrams quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The Data Flow diagram facilities are provided in the form of:

  • A Data Flow diagram type, accessed through the New Diagram dialog
  • A Data Flow Diagram page in the Toolbox
  • Data Flow element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

New Diagram

Toolbox Shortcut

Quick Linker

Data Flow Tools

Data Flow Diagram Toolbox Page

The following icons are available:

  • Process is a process or activity in which data is used or generated
  • External represents an external source, user or depository of the data
  • Data Store represents an internal physical or electronic repository of data, into and out of which data is stored and retrieved
  • Data Flow (connector) represents how data flows through the system, in physical or electronic form
  • Gate represents the termination point of incoming and outgoing messages on a lower level diagram (that is, messages to and from processes depicted elsewhere)

When dragged onto a Data Flow diagram, the elements and relationship have the following appearances:

Example of a Data Flow Diagram

To preserve the simplicity and readability of the diagram, you cannot display the element compartments on the diagram.

Context Diagram

A Context diagram is a top-level Data Flow diagram that has just one Process element representing the system being modeled, showing its relationship to external systems.

Disable Data Flow Diagrams

If you prefer not to use Data Flow Diagramming in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies


Analysis Stereotypes [Enterprise Architect User Guide]

Analysis Stereotypes

Description

Enterprise Architect has some built in stereotypes that you can assign to an element during analysis. The effect of these stereotypes is to display a different icon from the normal element icon, providing a visual key to the element purpose. The Robustness diagram below illustrates the main types of inbuilt icons for elements.

The stereotypes used are:

  • Boundary - for a system boundary (for example, a Login screen)
  • Control - to specify an element is a controller of some process (as in the Model-View-Controller pattern)
  • Entity - the element is a persistent or data element

Also see the Business Modeling elements, used in Business Modeling and Business Interaction diagrams.

Example

Learn More:

  • Boundary
  • Control
  • Entity
  • Business Modeling


Analysis Diagram [Enterprise Architect User Guide]

Analysis Diagram

An Analysis diagram is a simplified Activity diagram, which is used to capture high level business processes and early models of system behavior and elements. It is less formal than some other diagrams, but provides a good means of capturing the essential business characteristics and requirements.

Robustness diagrams, used extensively in ICONIX, can be created as Analysis diagrams.

Example Diagram: Example Analysis Diagram

Tools:

Select Analysis diagram elements and connectors from the Analysis pages of the Toolbox.

Analysis Diagram Elements | Analysis Diagram Connectors

Learn More:

  • Activity Diagram
  • Business Process Modeling
  • ICONIX


Example Analysis Diagram [Enterprise Architect User Guide]

Example Analysis Diagram

Enterprise Architect supports some of the Eriksson-Penker Business Extensions that facilitate business process modeling. The complete Eriksson-Penker Business Extensions UML Profile can also be loaded into Enterprise Architect and used to create detailed process models.

Example of an Analysis Diagram

Learn More:

  • Eriksson-Penker Business Extensions


Business Models [Enterprise Architect User Guide]

Business Models

Enterprise Architect provides specific modeling tools for a range of analysis and Business Modeling types.

Topic

Detail

See also

Requirements

Enterprise Architect is one of the few UML tools that integrate Requirements Management with other software development disciplines in the core product, by defining requirements within the model

Requirements modeling

Business Modeling

Modeling the business process is an essential part of any software development process, enabling the analyst to capture the broad outline and procedures that govern what it is a business does

Business modeling

Business Rules

Business Rule modeling captures the rules that govern a business, and their relationships with the entities and specific tasks within the organization or system

Business Rule modeling

BPMN

The Business Process Modeling Notation is specifically targeted at the business modeling community and has a direct mapping to UML through BPMN Profiles; these profiles enable you to develop BPMN diagrams quickly and simply

BPMN modeling

BPEL

Business Process Execution Language is an executable language for specifying interactions with Web Services

Enterprise Architect uses the BPMN profile as a graphical front-end to capture BPEL Process descriptions

BPEL modeling

SPEM

The Software and Systems Process Engineering Meta-model (SPEM) is a conceptual framework for modeling, documenting, presenting, managing, interchanging, and enacting development methods and processes

SPEM 2.0 focuses on providing the additional information structures that you require for processes modeled with UML 2 Activities or BPMN/BPDM

Software Process modeling (SPEM)

ArchiMate

ArchiMate is an open-standard enterprise architecture language based on the IEEE 1471 standard, providing a common language for describing the construction and operation of business processes, organizational structures, information flows, IT systems and technical infrastructure

It enables Enterprise Architects to clearly describe, analyse and visualize the relationships among business domains

ArchiMate

Data Flow Diagrams

A data flow diagram (DFD) is a graphical representation of the flow of data through an information system, and can also be used to visualize data processing (structured design)

Developing a DFD helps in identifying the transaction data in the data model

Data Flow Diagrams

Entity Relationship Diagrams

Entity-relationship modeling is an abstract and conceptual database modeling method, used to produce a schema or semantic data model of, for example, a relational database and its requirements, visualized in Entity-Relationship Diagrams (ERDs)

ERDs in Enterprise Architect assist you in building conceptual data models through to generating Data Definition Language (DDL) for the target DBMS

Entity Relationship Diagrams

Eriksson-Penker Extensions

Eriksson-Penker extensions provide a framework for UML business processing model extensions, to which an Enterprise Architect can add stereotypes and properties appropriate to their business

In Enterprise Architect, the Eriksson-Penker profile provides, through a set of stereotypes, a unique and powerful means of visualizing and communicating business processes and the necessary flow of information within an organization

Eriksson-Penker Extensions

Mind Mapping

A Mind Map is an image-centered diagram used to represent semantic or other connections between words, ideas, tasks or other items arranged radially around a central key word or idea

A Mind Map is used to generate, visualize, structure and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing

Mind Mapping

SoaML

Service Oriented Architecture (SOA) is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results

SoaML

SOMF

The service-oriented modeling framework (SOMF) is a service-oriented development life cycle methodology, offering a number of modeling practices and disciplines that contribute to a successful service-oriented life cycle management and modeling

SOMF

ArcGIS

ArcGIS is a suite of Geographic Information Systems (GIS) software products developed by Esri

Support for this product is under development, and in Beta stage.

ArcGIS


Business Modeling/Interaction [Enterprise Architect User Guide]

Business Modeling/Interaction

Business Modeling diagrams and Business Interaction diagrams enable you to model both the structure and behavior of a business system. Business Modeling diagrams are based on a Class (UML Structural) diagram, whilst Business Interaction diagrams are based on a Sequence (UML Behavioral) diagram. Both diagram types have the same default Toolbox, which consists of a Business Modeling element page. The available elements include stereotyped Objects, and a stereotyped Actor (Business Actor), Use Case (Business Use Case) and Collaboration (Business Use Case Realization).

Example Diagram: Example Business Modeling Diagram


Example Business Modeling Diagram [Enterprise Architect User Guide]

Example Business Modeling Diagram

The following diagram shows the appearance of the elements when dragged and dropped onto a Business Modeling diagram:

The following diagram shows the appearance of the elements when dragged and dropped onto a Business Interaction diagram:


Business Models [Enterprise Architect User Guide]

Business Models

Topics:

Topic

Detail

See also

Modeling the Business Process

Modeling the business process is an essential part of any software development process. It enables the analyst to capture the broad outline and procedures that govern what it is a business does. This analysis model provides an overview of where the proposed software system being considered fits into the organizational structure and daily activities. It can also provide the justification for building the system by capturing the current manual and automated procedures that are to be rolled up into a new system, and the associated cost benefit.

As an early model of business activity, it enables the analyst to capture the significant events, inputs, resources and outputs associated with business process. By connecting later design elements (such as Use Cases) back to the business process model through Implementation connectors, it is possible to build up a fully traceable model from the broad process outlines to the functional requirements and eventually to the software artefacts actually being constructed.

As the Business Process Model typically has a broader and more inclusive range than just the software system being considered, it also enables the analyst to clearly map what is in the scope of the proposed system and what is to be implemented in other ways (such as a manual process).

Analysis Model

Example:

The example below demonstrates the kind of model that can be built up to represent a business process. In this model, the goal of the business process is to take customer orders and to ship those orders out. A user starts the process with an inquiry, which leads to the involvement of the Book Catalogue, Shopping Cart, on-line pages and warehouse inventory. The output of significance to the business is a customer order.

Example of an Analysis Diagram

The second half of the process model is to respond to a customer order and ship the required items. The second process involves the warehouse inventory and shipping company, and completes when an order is delivered to the customer.

Learn More:

  • Business Modeling and Business Interaction Diagrams
  • Web Stereotypes


Analysis Models [Enterprise Architect User Guide]

Analysis Models

This section discusses the development of analysis models to construct business processes. It describes:

Topic | Link
Process Modeling Notation | Process Modeling Notation
Inputs, Resources and Information | Inputs, Resources and Information
Events | Events
Outputs | Outputs
Goals | Goals
A Complete Business Process | A Complete Business Process


Process Modeling Notation [Enterprise Architect User Guide]

Process Modeling Notation

Topics:

Topic

Detail

See also

Abstract

A business process model typically defines the following elements:

  • The goal or reason for the process
  • Specific inputs
  • Specific outputs
  • Resources consumed
  • Activities that are performed in some order, and
  • Events that drive the process

The business process:

  • Can affect more than one organizational unit
  • Can have a horizontal organizational impact
  • Creates value of some kind for the customer; customers can be internal or external

A business process is a collection of activities designed to produce a specific output for a particular customer or market. It implies a strong emphasis on how the work is done within an organization, in contrast to a product's focus on what. A process is thus a specific ordering of work activities across time and place, with a beginning, an end, and clearly defined inputs and outputs: a structure for action. The notation used to depict a business process is illustrated below.

The process notation implies a flow of activities from left to right. Typically an Event element is placed to the left of the process and the output to the right. To specifically notate the internal activities, Activity elements can be placed inside the process element.

Process

Events

Activity

The BPMN File

One popular notation and approach to business modeling is the Business Process Modeling Notation (BPMN). This notation is specifically targeted at the business modeling community and has a relatively direct mapping to UML through a BPMN Profile. Sparx Systems provides a built-in profile for BPMN modeling in Enterprise Architect.

BPMN Models


Inputs, Resources and Information [Enterprise Architect User Guide]

Inputs, Resources and Information

Topics:

Topic

Detail

See also

Abstract

Business processes use information to tailor or complete their activities. Information, unlike resources, is not consumed in the process; rather it is used as part of the transformation process. Information can come from external sources, from customers, from internal organizational units and could even be the product of other processes. A resource is an input to a business process and, unlike information, is typically consumed during the processing. For example, as each daily train service is run and actuals recorded, the service resource is 'used up' as far as the process of recording actual train times is concerned.

The notation to illustrate information and resources is shown below.

A Supply connector indicates that the information or object linked to the process is not used up in the processing phase. For example, order templates can be used over and over to provide new orders of a certain style; the templates are not altered or exhausted as part of this activity.

An Input connector indicates that the attached object or resource is consumed in the processing procedure. As an example, as customer orders are processed they are completed and signed off, and typically are used only once per unique resource (order).


Events [Enterprise Architect User Guide]

Events

Topics:

Topic | Detail | See also
Abstract | An event is the receipt of some object, a time or date reached, a notification or some other trigger that initiates the business process. The event might be consumed and transformed (for example a customer order) or simply act as a catalyst (for example, nightly batch job). | Event


Outputs [Enterprise Architect User Guide]

Outputs

Topics:

Topic

Detail

See also

Abstract

A business process typically produces one or more outputs of value to the business, either for internal use or to satisfy external requirements. An output might be a physical object (such as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule or roster) or an overall business result such as completing a customer order.

An output of one business process might feed into another process, either as a requested item or a trigger to initiate new activities.

An Output connector indicates that the business process produces some object (either physical or logical) that is of value to the organization, either as an externally visible item or as an internal product (possibly feeding another process).


Goals [Enterprise Architect User Guide]

Goals

Topics:

Topic

Detail

See also

Abstract

A business process has some well defined goal. This is the reason the organization does this work, and should be defined in terms of the benefits this process has for the organization as a whole and in satisfying the business requirements.

A Goal connector indicates that the attached object to the business process describes the goal of the process. A goal is the business justification for performing the activity.


A Complete Business Process [Enterprise Architect User Guide]

A Complete Business Process

Topics:

Topic | Detail | See also
Abstract | The diagram below illustrates how the various model elements can be grouped together to produce a coherent picture of a named business process. Included are the inputs, outputs, events, goals and other resources that are of significance. |


Business Rules [Enterprise Architect User Guide]

Business Rules

To model Business Rules in Enterprise Architect, work through the following steps

Example:

These steps are represented graphically in the following flow:

To create a Business Rule Model from a template provided with Enterprise Architect, follow the steps below

How To:

Step

Action

See Also

1

In the Project Browser, either:

  • Click on the New Model From Pattern icon in the toolbar
  • Right-click on a model root node and select the Add a New Model using Wizard context menu option
  • Right-click on a package and select the Add | Add a New Model using Wizard context menu option

The Select Model(s) dialog displays.

2

In the Select From field, click on the drop-down arrow and select Business Rule Model. Alternatively, if it is listed in the Technology panel, select the Business Rule Model item.

3

In the Name panel, select the checkbox next to the Business Rule Model icon.

4

Click on the OK button.

The following model structure is created in the Project Browser:

Example:

Business Root Model

The Business Rules Model diagram, shown below, encapsulates the components of the Business Rules model.

Notes:

  • Business Rule Modeling is available in the Business and Software Engineering edition and Ultimate edition of Enterprise Architect

Learn More:

  • Create a Rule model
  • Create a Business Domain Model
  • Create a Rule Flow Model
  • Compose Business Rules
  • Validate Business Rules
  • Code Generation for Business Rules


Model Business Rules For RuleTasks [Enterprise Architect User Guide]

Model Business Rules For RuleTasks

The Rule Model enables you to define Business Rule elements and associate them with a Rule Task. In the example, you might define a set of rules to perform an eligibility check for a customer, to determine if the customer is eligible to rent a car.

How To:

To define Business Rule elements and associate them with a Rule Task, follow the steps below:

Step

Action

See Also

1

Create a diagram of type Rule Model; the Rule Model pages display in the Toolbox

RuleModelTB

2

Drag and drop a Rule Task element (Determine Eligibility in the example) from the Rule Flow Activity diagram package onto the Rule Model diagram

3

Drag as many Business Rule elements as necessary from the Toolbox (or Project Browser if they exist already) onto the diagram

You type the rule as the element name here, then define the parameters of the rules using the Rule Composer

Composing Business Rules

4

Create a Dependency relationship between each Business Rule element and the Rule Task element

However, when you bring the rule into the Rule Composer, it automatically creates the Dependency relationship anyway

5

Repeat steps 2 - 4 for the next Rule Task element

Example:

The resulting Rule Model resembles the following diagram:

After you have modeled rules for all the Rule Task elements in the Rule Flow diagram, the Business Domain model is ready for code transformation. The code templates for generating technology-specific rule code work hand-in-hand with the EASL code templates to generate the code for the Rule Flow diagram.

Learn More:

  • Code Generation for Business Rules
  • EASL code templates


Create a Business Domain Model [Enterprise Architect User Guide]

Create a Business Domain Model

The Business Domain Model provides the business vocabulary - terms and facts - on which Business Rules can be modeled. In Enterprise Architect a Business Domain model is created as a conceptual Class diagram.

Example:

The following diagram shows an example Business Domain model, for a Car Rental system.

In the example Business Domain model, the Classes Rent, Customer, Car and Application, together with their attributes and operations, provide the terms for the business vocabulary. The Class Rental System processes the rules. To make Rental System process the rules, you add a Rule Flow Activity as a behavior for this Class.

When you create a Rule Flow behavior (Activity) under a Class you can model the rules as Rule Tasks (Actions). When code is generated the rule flow behavior is rendered as a method inside the corresponding Class.

Alternatively, if you have existing operations in the Class that already suit the purpose, you can model business rules in those operations. When code is generated for the Class the rules logic is generated as the method body for the corresponding operation.

Notes:

  • When you create Classes in the Business Domain model, select the correct language for code generation to ensure that the correct data type is set for attributes and operation parameters
  • Business Rules code generation is supported for the following languages:
  • C++
  • C#
  • Java
  • VB.Net

Learn More:

  • Create a Rule Flow Activity
  • Model Rules in an Operation


Create a Rule Flow Model [Enterprise Architect User Guide]

Create a Rule Flow Model

You create a Rule Flow Activity as a behavior for a Class, to enable that Class to process a set of rules.

To add a Rule Flow Activity to a Class, follow the steps below

How To:

Step | Action | See Also
1 | On the Business Domain model diagram, right-click on the Class that processes the rules (in the example, Rental System). |
2 | From the context menu select the Add | RuleFlow Activity menu option. |

A new Rule Flow Activity with a Rule Flow diagram is created as a behavior for the selected Class. The Rule Flow diagram models the sequence in which a series of Rule Tasks are executed.

Code generation for a Rule Flow model renders each RuleFlow Activity as a set of operations or methods. Depending on what you want these methods to do, you might want to pass in some parameters to be used within the Rule Flow Activity. See the Pass Parameters to Rule Flow Activity topic.

Topics:

Topic

Detail

See also

Add a Rule Task

A Rule Task is a stereotyped Action that groups Business Rules for a specific task. You create Rule Task elements in a Rule Flow diagram using the associated Rule Flow pages of the Toolbox.

The following illustration is of a possible Rule Flow diagram for the car rental example.

The Rule Task elements Determine Eligibility, Determine Rent Payable, Determine Penalty and Determine Total Amount Payable group the business rules for the specific task indicated by the element name. You then identify the business rules for each group.

Model Business Rules

Notes:

  • In a Rule Flow diagram, every Decision Node has a matching Merge Node to ensure proper code generation
  • For code generation, the Rule Task elements must be grouped inside the appropriate Rule Flow Activity in the Project Browser. However, Rule elements can be defined anywhere in the model, as they can be used in more than one Rule Task

Learn More:

  • Pass Parameters to Rule Flow Activity


Pass Parameters to Rule Flow Activity [Enterprise Architect User Guide]

Pass Parameters to Rule Flow Activity

How To:

To pass in parameters to be used within a Rule Flow Activity, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, double-click on the Rule Flow Activity The element Properties dialog displays |
2 | Click on the Behavior tab |
3 | Click on the Edit Parameters button The Parameters dialog displays |
4 | Create and define each parameter, setting Type and Default values | Parameters Dialog
5 | Save each parameter and, when you have finished setting the parameters, close both dialogs |

Topics:

Topic

Detail

See also

Rule Flow Activity Parameters

The Rule Flow Activity parameters can be accessed by the Rule Tasks within the parent Rule Flow Activity. In the following hierarchy, the parameters m_rent and m_application can be used by any of the Rule Tasks under the ProcessApplication Rule Flow Activity.

You can use the parameters as condition variables or action variables in the Business Rule Decision Table, or as rule variables in the Computation Table for any of the Rule Tasks. If the Activity parameter is not accessible to a Rule Task, Enterprise Architect displays an error message.

Compose Business Rules


Model Rules In an Operation [Enterprise Architect User Guide]

Model Rules In an Operation

You can model business rules either in the Business Rule elements attached to the Rule Task element in a RuleFlow Activity diagram, or in the operations of the rule Class in the Business Domain model.

To model business rules for an operation:

How To:

Step | Action | See Also
1 | Open the Properties dialog for the operation and, in the Stereotype field on the General tab, type the value RuleTask |
2 | In the Project Browser, right-click on the operation and select the Rule Composer option to open the Rule Composer |
3 | Model the rules for the operation | Compose Business Rules

Topics:

Topic | Detail | See also
Usage | The operations appear in the Project Browser as shown below: On code generation, the code for rules logic is generated in the method body. When you drag and drop a RuleTask operation onto a Rule Flow diagram, an operation call behavior action is created. To pass the parameters for this operation call, open the Properties dialog and select the Call tab. Set the Behavior field to the operation to be called. Under the Arguments field, click on the Edit Arguments button and edit the argument values to be passed. On the diagram, the call behavior actions for the RuleTask operations are indicated as shown below: | Behaviour Calls Behaviour Call Arguments

Learn More:

  • Business Rules
  • RuleFlow Activity Diagram
  • Business Domain Model


Compose Business Rules [Enterprise Architect User Guide]

Compose Business Rules

You use the Rule Composer to define a business rule written in plain text within a Business Rule element or Class operation. The Rule Composer enables you to model conceptual-level business rules at a logical level in tabulated format, which assists in transforming the rules to technology-specific rules (code).

You can also download the contents of the Rule Composer to a spreadsheet application such as Microsoft Excel, via a CSV file.

Topics:

Topic

Detail

See also

Access The Rule Composer

To access the Rule Composer, right click on a Rule Task element and select the Rule Composer context menu option. The Rule Composer displays in the central work area on its own tab.

The Rule Composer consists of:

  • a Rule Statements list
  • a Decision Table and
  • a Computation Rule Table

To assist with traceability, as the Rule Composer is completed, selections in one table automatically highlight the corresponding rows and columns of the other tables. For example, If a Rule Statement is selected, the related rule column in the Decision Table and row in the Computation Rule Table are highlighted. Similarly, if a Computational Rule is selected, the corresponding column in the Decision Table and row in the Rule Statements list are highlighted.

Rule Statements Table

The Rule Statements table lists the rules associated with the selected Rule Task. You add a rule to the table by dragging an existing Business Rule element from the Project Browser onto an empty row in the Rule Statements table. You cannot create new rules within the table.

Decision Table

The Decision Table enables you to model conditional rules (for example: Cars must not be rented to customers of age less than 18).

The table has three sections:

  • Rule Conditions – to model condition variables
  • Rule Actions – to model action variables
  • Rule Bindings – to link the rule in the rule table

Computation Rule Table

The Computation Rule table enables you to model rules involving computations.

The table has the following columns:

  • Computation Rule Actions
  • Expression
  • Rule Bindings
  • Rule Dependency

How To:

To define a business rule associated with the selected Rule Task, follow the steps below

Step | Action | See Also
1 | For the first rule, select the text within the Business Rule element and drag it onto the empty row. |
2 | For a subsequent rule, click on the No column and select the Add Row context menu option. An empty row is added to the Rule Statements table. |
3 | Drag the required Business Rule element from the Project Browser onto the new row. If the Business Rule element is not already on the diagram, this adds the element to the diagram and creates a Dependency relationship between the Business Rule and Rule Task elements. |

To remove a rule that is no longer required in the Rule Composer, right-click on the appropriate No field and select the Remove Rule context menu option. This removes the rule from the Rule Composer and deletes the Dependency relationship with the Rule Task element. However, it does not remove the Business Rule element from either the diagram or the Project Browser (where, in either case, it might be in use with other Rule Task elements).

To model Rule Conditions in the Rule Conditions Section, follow the steps below

Step

Action

See Also

1

The Business Domain model defines the business terms (such as Customer) and their associated attributes. From the appropriate Class element in the Project Browser, drag and drop the required condition attribute (such as age) or operation (such as IsValidLicense()) onto the Rule Conditions column.

  • The Rule Condition field enables you to use intellisense to display a list of possible entries for the field. Press
    ( Ctrl+Spacebar ) in the field to display the list of entries
  • If the Rule Condition is of type enum, the Allowable Values fields are automatically set with the enum literals. The procedure then ends here

2

Define a range of accepted values for the Rule Condition.

3

Right-click on the Allowable Values column and select the Edit Allowable Values context menu option. The Edit Allowable Values dialog displays.

Type each required value or range of values in the Value field, and click on the Save button to display the value in the Allowable Values list box; for example:

age could have the values:
<18
>18 and <50
>50

IsValidLicense() could return:
True
False

4

Click on the OK button to save the values and close the dialog. A new constraint AllowableValues is created for the attribute.

  • You can check this constraint by opening the Properties dialog for the attribute and selecting the Constraints tab
  • If the Rule Condition references an enumeration, the enum literals are not editable in the Edit Allowable Values dialog

5

If the Rule Condition is an operation, you can pass parameters to it. Right click on the Allowable Values field, and select the Edit Parameters context menu option. The Edit Parameters dialog displays. Select the parameters and type their values into the Value text box. Click on the OK button to cancel the dialog.

  • You can add an operation as a Rule Condition more than once, to allow calling the operation with different sets of parameters.
  • To add another Rule Condition, right-click on the No column and select the Add Row context menu option. An empty row is added to the table.

To remove a Rule Condition from the table, right-click on the appropriate No field and select the Delete Row context menu option. This does not affect the original attribute or the new constraint in the model. You can either re-use the attribute with its constraint, or use the attribute Properties dialog to remove the constraint.

To model Rule Actions in the Rule Actions section, follow the steps below:

Step

Action

See Also

1

In the Rule Actions section, when a specific value of a Rule Condition calls an operation (such as post error) or decision attribute (such as Eligible - Yes/No), you assign the operation or attribute as an action.

From a business term Class element in the Project Browser, drag and drop the required attribute or operation onto the Rule Actions field.

The Rule Actions field enables you to use intellisense to display a list of possible entries for the field. Press ( Ctrl+Spacebar ) in the field to display the list of entries.

2

For an attribute, double-click on the Allowable Values/Parameters field. The Edit Allowable Values dialog displays; type the range of values in the text box (such as Yes, No; or Accept, Reject), click on the Save button and close the dialog. Select the appropriate response in the Result column fields.

If the dropped action variable is of type enum, the Allowable Values/Parameters fields are automatically set with the enum literals.

3

For an operation, a checkbox displays in each of the Result column fields. To call the operation, select the checkbox in the appropriate column.

To pass parameters to the operation, double-click on the Allowable Values/Parameters field. The Edit Parameters dialog displays. Select the parameters and type the values into the Value text box. Click on the Save button and close the dialog.

You can add an operation as a Rule Action more than once, to allow calling the operation with different sets of parameters.

4

Click on the Save button in the Rule Composer toolbar to save the values.

Alternatively, you can right-click on an Allowable Values/Parameters field to display a context menu with two options:

  • If the Rule Action is an attribute, the Edit Allowable Values option is enabled and this displays the Edit Allowable Values dialog
  • If the Rule Action is an operation, the Edit Parameters option is enabled and this displays the Edit Parameters dialog

To add another Rule Action, right-click on the No column and select the Add Row context menu option. An empty row is added to the table.

To remove a Rule Action from the table, right-click on the appropriate No field and select the Delete Row context menu option. This does not affect the original attribute or operation in the model.

To bind a rule in the Rule Bindings Section, follow the steps below

Step

Action

See Also

1

The Rule Bindings section lies on top of the Rule Conditions section. It binds the Rule Condition and Rule Action values to the appropriate rule in the Rule Table.

Select the rule number in the Rule Bindings field over one of the Value<n> or Result<n> columns.

2

Ensure that the values set in the Value<n> or Result<n> field for the Rule Condition or Rule Action, underneath the rule number, all satisfy the rule.

3

Click on the Save icon in the Rule Composer toolbar.

For example, (referring to the screen diagram at the top of this Rule Composer topic) if rule 2 is Car must not be rented to Customers of age less than 18:

  • Select 2 in the Rule field over the Value1 column
  • Select < 18 against Customer.age in the Value1 column in the Rule Conditions table
  • Select No against Customer.Eligible in the Result1 column in the Rule Action table
  • Select Reject against Application.Status in the Result1 column in the Rule Action table

To define a computation rule, follow the steps below:

Step

Action

See Also

1

From the Project Browser, drag and drop the appropriate attribute from a Class in the Fact model into the Computation Rule Actions field.

Both the Computation Rule Actions field and the Expression field enable you to use intellisense to display a list of possible entries for the fields. Press ( Ctrl+Spacebar ) in the field to display the list of entries.

2

In the Expression field, type the expression to be evaluated.

3

In the Rule Bindings field, type the rule number from the Rule table of the rule being modeled, to link the table data to the rule.

4

If the rule depends on another rule being satisfied first, type the number of that rule in the Rule Dependency field.

5

Click on the Save icon in the Rule Composer toolbar to save the computation rule.

If the computation rule is also a Rule Conditions rule, add the condition variable in the Decision table and bind the appropriate rule in the Rule Bind section.

To export the contents of the Rule Composer to a CSV file, follow the steps below

Step | Action | See Also
1 | Click on the Export to CSV icon ( csvicon ) in the Rule Composer toolbar. The Windows Browser dialog displays. |
2 | Browse to the required file location and type in a .CSV filename to export to. |
3 | Click on the Save button to export the data. |

Learn More:

  • Code Generation for Business Rules
  • CSV Import and Export


Validate Business Rules [Enterprise Architect User Guide]

Validate Business Rules

Topics:

Topic

Detail

See also

Usage

It is recommended practice to validate the business rules in the Rule Composer before you generate code for the Rule Task elements. To do this, click on the Validation (green tick) icon in the Rule Composer toolbar.

The business rules on the Rule Composer are parsed and any errors or warnings that might indicate incomplete or unfavorable code generation are displayed on a Rule Composer Validation tab on the Output screen.

To highlight and investigate the faulty data in the Rule Composer, double-click on the appropriate warning or error message.


Code Generation For Business Rules [Enterprise Architect User Guide]

Code Generation For Business Rules

After you have modeled the business rules for all the Rule Task elements in the Rule Flow diagram, you can generate code from the Rule Flow behavior.

How To:

To return a value from the Rule Flow behavior, follow the steps below:

Step | Action | See Also
1 | Double-click on the last Rule Task element before the end node of the Rule Flow diagram. The element's Properties dialog displays. |
2 | Click on the Effect tab. |
3 | In the Effect field, type the return statement; for example, return true. |
4 | Click on the Save button, and on the OK button to close the dialog. Generate code for the Class containing the rule flow behavior (in our initial example, Rental System). The code for business rules logic is generated, with the rule statements expressed in natural language as comments. | Generate code for a single class Create a Business Domain Model

Example:

The following code snippet was generated from the Rental System Class element in our example:

///////////////////////////////////////////////////////////

// RentalSystem.cs

// Implementation of the Class RentalSystem

// Generated by Enterprise Architect

// Created on: 08-May-2009 2:39:23 PM

///////////////////////////////////////////////////////////

public class RentalSystem {

public Customer m_Customer;

public Car m_Car;

public Rent m_Rent;

public RentalSystem(){

}

~RentalSystem(){

}

public virtual void Dispose(){

}

/* Begin - EA generated code for Activities and Interactions */

public bool ProcessApplication(Rent m_rent,Application m_application)

{

// behavior is an Activity

/*CAR MUST NOT BE RENTED TO CUSTOMERS WITHOUT A VALID LICENCE NUMBER*/

if( m_Customer.ValidLicenceNumber == "FALSE" )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

/*CAR MUST NOT BE RENTED TO CUSTOMERS OF AGE LESS THAN 18*/

if( m_Customer.age < 18 )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

/*CAR MUST NOT BE RENTED TO CUSTOMERS WITH BAD HISTORY LEVEL 3*/

if( m_Customer.BadHistoryLevel == 3 )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

if (Customer.Eligible == true)

{

/*RENT FOR SMALL CARS IS 80 AUD PER DAY*/

if( m_Car.type == Small )

{

m_rent.RentPerDay = 80;

}

/*RENT FOR AWD CARS IS 100 AUD PER DAY*/

if( m_Car.type == AWD )

{

m_rent.RentPerDay = 100;

}

/*RENT FOR LUXURY CARS IS 150 AUD PER DAY*/

if( m_Car.type == Luxury )

{

m_rent.RentPerDay = 150;

}

/*RENT PAYABLE IS CALCULATED AS THE PRODUCT OF RENTPERDAY AND RENTALPERIOD IN DAYS*/

m_rent.RentPayable = m_rent.RentPerDay * m_rent.No_of_rent_days;

if (CustomerBadHistoryLevel > 0)

{

/*PENALTY OF 20 % OF RENT MUST BE APPLIED FOR CUSTOMERS WITH BAD HISTORY LEVEL 2*/

if( m_Customer.BadHistoryLevel == 2 )

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.2;

}

/*PENALTY OF 10 % OF RENT MUST BE APPLIED FOR CUSTOMERS WITH BAD HISTORY LEVEL 1*/

if( m_Customer.BadHistoryLevel == 1 )

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.1;

}

}

else

{

}

/*TOTAL AMOUNT PAYABLE IS CALCULATED AS THE SUM OF RENT PAYABLE AND PENALTY IF ANY.*/

m_rent.TotalAmountPayable = m_rent.RentPerDay + m_rent.PenaltyFee;

}

else

{

}

return m_application.Status;

}

/* End - EA generated code for Activities and Interactions */

}//end RentalSystem


BPMN Models [Enterprise Architect User Guide]

BPMN Models

The BPMN notation is specifically targeted at the business modeling community and has a direct mapping to UML through BPMN Profiles integrated with the Enterprise Architect installer. Through use of these profiles, Enterprise Architect enables you to develop BPMN diagrams quickly and simply.

The Enterprise Architect installer for releases later than 8.0 provides you with separate versions of the MDG Technology for BPMN that support BPMN versions 1.0, 1.1 and 2.0, and BPEL.

Use To:

  • Maintain existing diagrams created in BPMN 1.0 format, and create new diagrams in BPMN 1.0
  • Create and maintain diagrams in the BPMN 1.1 and BPEL formats
  • Create and maintain diagrams in the BPMN 2.0 and BPEL formats
  • Migrate a BPMN 1.0 model (or part of a model) to BPMN 1.1

Access: The BPMN facilities are provided in the form of:

  • A BPMN diagram type, accessed through the New Diagram dialog
  • BPMN pages in the Toolbox
  • BPMN element and relationship entries in the Toolbox Shortcut menu and Quick Linker

Specifications of BPMN elements and relationships are defined by Tagged Values (for example, to define the Message, Timer and Default Path (/) symbols in the diagram below).

BPMN Toolbox Pages:

You can access the BPMN Toolbox pages through the View | Toolbox: More tools... option; select the BPMN 1.0, 1.1 or 2.0 options as appropriate.

You can also set BPMN as the active default technology to access the Toolbox pages directly.

Disable BPMN:

If you prefer not to use BPMN in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

Learn More:

  • BPMN 1.0 and 1.1 Toolbox Pages
  • BPMN 2.0 Toolbox Pages
  • BPMN 2.0 XML
  • Migrate a BPMN 1.0 Model to BPMN 1.1
  • Migrate a BPMN 1.1 Model to BPMN 2.0
  • Change BPMN Element Appearance
  • BPEL Models
  • New Diagram dialog
  • Set Technology as Active Default


BPMN 1.0 and 1.1 Toolbox Pages [Enterprise Architect User Guide]

BPMN 1.0 and 1.1 Toolbox Pages

The BPMN 1.0 and BPMN 1.1 pages of the Diagram Toolbox enable you to create graphical (Core) and non-graphical (Types) BPMN elements and relationships on business process diagrams in BPMN 1.0, BPMN 1.1 and BPEL formats.

Access: View | Toolbox: More tools | BPMN 1.0
View | Toolbox: More tools | BPMN 1.1

The elements and relationships available are shown below, and described in the following table.

Example:

Toolbox - BPMN Pages

Page | Item | Action
Core | Business Process | Extend a composite Activity that defines a business process
 | BPEL Process | Define the behavior of an executable or abstract business process
 | Activity | Define an activity within a business process
 | Start Event | Define the initiating event in a process
 | Intermediate Event | Define an intermediate event in a process
 | End Event | Define the terminating event in a process
 | Gateway | Define a decision point in a business process If a condition is true, then processing continues one way; if not, then another
 | Pool | Extend a Partition element to logically organize an Activity
 | Lane | Extend a Partition element to subdivide a Pool
 | Data Object | Extend an Artifact element to define a physical piece of information used or produced by a system
 | Group | Extend a Boundary element to group other elements
 | Text Annotation | Create a comment
Relationships | Sequence Flow | Extend a Control Flow relationship to define the flow of activity
 | Message Flow | Extend a Control Flow relationship to define the flow of communications in the process
 | Association | Associate information and artifacts with flow objects
Types | Assignment | Define the properties (Tagged Values) of the Core BPMN 1.1 elements such as Activities, Events and Gates
 | Condition
 | Message
 | Participant
 | Signal
 | Rule
 | Transaction
 | Web Service
 | Property


BPMN 2.0 Toolbox Pages [Enterprise Architect User Guide]

BPMN 2.0 Toolbox Pages

The BPMN 2.0 pages of the Diagram Toolbox enable you to create BPMN elements and relationships on business process diagrams in BPMN 2.0 and BPEL formats.

Access: View | Toolbox: More tools | BPMN 2.0

Enterprise Architect provides a set of pages for each of the following BPMN 2.0 diagram types:

Topic | Link
Business Process - contains the constructs needed to build Business Process models (and, effectively, Collaboration models) | Business Process
Choreography - contains the constructs needed to build Choreography models | Choreography
Conversation - contains the constructs needed to build Conversation models | Conversation
Types - contains the constructs common to all BPMN 2.0 diagrams | Type


BPMN 2.0 Business Process Toolbox Pages [Enterprise Architect User Guide]

BPMN 2.0 Business Process Toolbox Pages

The BPMN 2.0 Business Process pages of the Diagram Toolbox enable you to create BPMN elements and relationships on business process diagrams in BPMN 2.0 and BPEL formats.

Access: View | Toolbox: More tools | BPMN 2.0 | BPMN 2.0 Business Process

Page | Item | Use to
BPMN 2.0 Business Process | Business Process | Extend a composite Activity that defines a business process
 | BPEL | Define the behavior of an executable or abstract business process
 | Activity | Define an activity within a business process
 | Choreography | Extend an Activity element to represent a process unit of information exchange between Participants Enterprise Architect currently supports two to four participant bands within one Choreography Activity/Task
 | Conversation | Extend a Class element to group a set of Message Flows together based on a certain concept
 | Data Object | Provide or store the information for an Activity
 | Data Store | Represent a mechanism for an Activity to retrieve or update stored information
 | Start Event | Define the initiating event in a process
 | Intermediate Event | Define an intermediate event in a process
 | End Event | Define the terminating event in a process
 | Gateway | Define a decision point in a business process If a condition is true then processing continues one way; if false, then another
 | Pool | Extend a Partition element to logically organize an Activity
 | Lane | Extend a Partition element to subdivide a Pool
 | Message | Represent the contents of a communication between two Participants
 | Group | Extend a Boundary element to group other elements
 | Text Annotation | Create a comment
BPMN 2.0 Business Process Connectors | Sequence Flow | Extend a Control Flow relationship to define the flow of activity
 | Message Flow | Extend a Control Flow relationship to define the flow of communications in the process
 | Data Association | Move data between Data Objects, Data Store, Properties and Activities, Processes
 | Association | Link the information and Artifacts with BPMN graphic elements
 | Conversation Link | Connect a Conversation Node with a Participant, in either direction

Example of a BPMN 2.0 Business Process Diagram:

Notes

  • The appearance and specification of some elements and connectors are defined by Tagged Values

Learn More:

  • Change BPMN Element Appearance


BPMN 2.0 Choreography Toolbox Pages [Enterprise Architect User Guide]

BPMN 2.0 Choreography Toolbox Pages

The BPMN 2.0 Choreography pages of the Diagram Toolbox enable you to create BPMN elements and relationships on Choreography diagrams in BPMN 2.0 and BPEL formats.

Access: View | Toolbox: More tools | BPMN 2.0 | BPMN 2.0 Choreography

Page | Item | Use to
BPMN 2.0 Choreography | Choreography Model | Extend a composite Activity that defines a Choreography process
 | Choreography | Extend an Activity element to represent a process unit of information exchange between Participants Enterprise Architect currently supports two to four participant bands within one Choreography Activity/Task
 | Start Event | Define the initiating event in a process
 | Intermediate Event | Define an intermediate event in a process
 | End Event | Define the terminating event in a process
 | Gateway | Define a decision point in a business process If a condition is true then processing continues one way; if false, then another
 | Message | Represent the contents of a communication between two Participants
 | Pool | Extend a Partition element to logically organize an Activity
 | Text Annotation | Create a comment
BPMN 2.0 Choreography Connectors | Sequence Flow | Define the order of activity in a Choreography
 | Association | Link the information and Artifacts with BPMN graphic elements
 | Message Flow | Extend a Control Flow relationship to define the flow of communications in the process

Example of a BPMN 2.0 Choreography Diagram:

Notes

  • The appearance and specification of some elements and connectors are defined by Tagged Values

Learn More:

  • Change BPMN Element Appearance


BPMN 2.0 Conversation Toolbox Pages [Enterprise Architect User Guide]

BPMN 2.0 Conversation Toolbox Pages

The BPMN 2.0 Conversation pages of the Diagram Toolbox enable you to create BPMN elements and relationships on Conversation diagrams in BPMN 2.0 and BPEL formats.

Access: View | Toolbox: More tools | BPMN 2.0 | BPMN 2.0 Conversation

Page | Item | Use to
BPMN 2.0 Conversation | Conversation Model | Extend a composite Activity that defines the logical relationship of Message exchanges between two or more business entities
 | Conversation | Extend a Class element to group a set of Message Flows together based on a certain concept
 | Participant | Represent a specific organization or individual that is involved in a business process
 | Pool | Extend a Partition element to logically organize an Activity
 | Activity | Define an activity within a business process
 | Start Event | Define the initiating event in a process
 | Intermediate Event | Define an intermediate event in a process
 | End Event | Define the terminating event in a process
 | Gateway | Define a decision point in a business process If a condition is true then processing continues one way; if false, then another
 | Text Annotation | Create a comment
BPMN 2.0 Conversation Connectors | Conversation Link | Connect a Conversation Node to or from a Participant
 | Message Flow | Extend a Control Flow relationship to define the flow of communications in the process
 | Sequence Flow | Extend a Control Flow relationship to define the flow of activity
 | Association | Link the information and artifacts with BPMN graphic elements

Example of a BPMN 2.0 Conversation Diagram:

Notes

  • The appearance and specification of some elements and connectors are defined by Tagged Values

Learn More:

  • Change BPMN Element Appearance


BPMN 2.0 Type Toolbox Page [Enterprise Architect User Guide]

BPMN 2.0 Type Toolbox Page

The BPMN 2.0 Types page of the Diagram Toolbox is common to all BPMN 2.0 diagrams.

Access: View | Toolbox: More tools | BPMN 2.0 | BPMN 2.0 <diagram type>

Page | Item | Use To
BPMN 2.0 Types | Assignment | Define the non-graphic elements or properties (Tagged Values) of the Core BPMN 2.0 graphic elements
 | Correlation Key
 | Correlation Property
 | Correlation Property Binding
 | Correlation Property Retrieval
 | Correlation Subscription
 | Complex Behavior Definition
 | Item Definition
 | Error
 | Escalation
 | Signal
 | IO Specification
 | Input Set
 | Output Set
 | Input Output Binding
 | Interface
 | Operation
 | Participant
 | Resource
 | Resource Role
 | Resource Parameter
 | Property
 | Participant Association
 | Conversation Association


Change BPMN Element Appearance [Enterprise Architect User Guide]

Change BPMN Element Appearance

A number of Tagged Values directly affect the appearance of the BPMN element or relationship they apply to. Therefore, by changing the value of the tag you can change the appearance of the object.

Access: View | Tagged Values

How To:

To define the appearance of BPMN elements and relationships, follow the steps below:

Step | Action | See Also
1 | Open the Tagged Values window | Tagged Values
2 | Select the required element or relationship in a diagram The Tagged Values window shows the appropriate Tagged Values and provides a list of values to assign to each one |
3 | Set the required value, based on the value descriptions in the table below |

Reference:

Element

Tags

Values Setting

Activity

activityType

Set to:

  • Task for no decoration
  • Sub-Process to display the plus-in-box decoration on the bottom edge of the shape

adHoc

Set to true to display the tilde decoration on the bottom edge of the shape, indicating that this is an ad-hoc Activity

adHocOrdering

Set to:

  • Parallel to display three vertical lines on the bottom edge of the shape
  • Sequential to display three horizontal lines on the bottom edge of the shape
  • Unspecified to display no lines on the bottom edge of the shape

The adHoc tag must first be set to true

isACallActivity

Set to true to show the boundary of the Activity element as a thick line, indicating that this is a Call Activity

isATransaction

Set to true to give the Activity element a double-lined border, indicating that this is a Transaction

isForCompensation

Set to true to display the rewind icon on the bottom edge of the shape, indicating that this is a Compensation Activity

isSequential

Set to true to display three horizontal bars on the bottom edge of the shape

The loopCharacteristics tag must first be set to MultiInstance

loopCharacteristics

Set to:

  • Standard to display three vertical bars at the bottom edge of the shape
  • MultiInstance to display a loop icon at the bottom edge of the shape

taskType

When set to different value, the associated decoration is displayed at the top-left corner of the shape

triggeredByEvent

Set to true to show the boundary of the Activity element as a dotted line

Choreography

choreographyType

Set to:

  • Task for no decoration
  • Sub-Process to display the plus-in-box decoration on the bottom edge of the shape

initiatingParticipant

Set a value to show the corresponding participant band in a light color, which indicates that this is the initiating participant

isACallChoreography

Set to true show the boundary of the Choreography element as a thick line

loopType

Set to:

  • Standard to display three vertical bars at the bottom edge of the shape
  • MultiInstance to display a loop icon at the bottom edge of the shape

Each Participant has its own MultiInstance setting

numberOfParticipants

Set to the appropriate numerical value to indicate the number of Participant bands for a choreography Activity or Task

participantA

or

participantARef

participantA - Type the name of the Participant to show on the Participant band of the Choreography

If the Participant is known and referenced, use the participantARef tag and leave the participantA tag blank; the name of the referenced Participant is shown on the Participant band of the Choreography

The same usage is applied to other Participant bands

Conversation

isACallConversation

Set to true to show the boundary of the Conversation element as a thick line

isComposite

Set to true to display a plus-in-box decoration on the bottom edge of the shape, indicating that the Conversation is a composite element

Data Object

dataInOut

Set to:

  • Input to add a light-colored arrow at the top-left corner of the Data Object, indicating that it represents a Data Input element
  • Output to add a dark-colored arrow at the top-left corner of the Data Object, indicating that it represents a Data Output element

isCollection

Set to true to add three vertical lines at the bottom edge of the shape, indicating that the object is a collection

Event

cancelActivity

For Intermediate Event only

Set to false to show the Intermediate Event border as a dashed line

catchOrThrow

For Intermediate Event only

Set to:

  • Catch or
  • Throw

eventDefinition

Use to change the decoration of a Start Event, Intermediate Event or End Event

isInterrupting

For Start Event only

Set to false to show the border of the Start Event as a dashed line, indicating that the Start Event is not an interrupting event

Gateway

eventGatewayType

Use to define two types of Event-based Gateway:

  • Exclusive and
  • Parallel

gatewayType

Set to:

  • Exclusive to render the Gateway as a diamond shape without any marker in the middle; if you also set the markerVisible tag to true, the Gateway is rendered as a diamond shape with an X inside
  • Complex to render the Gateway as a diamond shape with an asterisk (*) inside
  • Inclusive to render the Gateway as a diamond shape with a circle (o) inside
  • Parallel to render the Gateway as a diamond shape with a plus (+) inside
  • Event to define the Gateway as Event-based

instantiate

Use only to define the Exclusive and Parallel Event-based Gateway

Message

IsInitiate

Set to true to make the envelope color gray, indicating that this is an initiating Message

Message Flow

messageVisible
  • Set to Unspecified to make the Message Flow connector without decoration
  • Set to Initiating to add a white envelope to the Message Flow connector
  • Set to Non-Initiating to add a gray envelope to the Message Flow connector

Participant

participantMultiplicity

Set to true to display three vertical bars at the bottom edge of a rectangle Pool element.

Participant is rendered as a normal UML Class shape exclusively on Conversation diagrams

Pool

blackBoxPool

Set to true to render the Pool element as a rectangle, which is used in a Main Pool diagram

participantMultiplicity

Set to true to display three vertical bars at the bottom edge of a rectangle Pool element

Sequence Flow

conditionType
  • Set to Expression to show an unfilled diamond marker at the source end of the connector
  • Set to Default to show a slash marker at the source end of the connector

Notes:

  • Some BPMN elements changed in appearance between BPMN version 1.0 and BPMN version 1.1
  • In Enterprise Architect releases later than 7.1, if you work on a BPMN 1.0 model created in an earlier release, existing elements default to their version 1.0 appearance; new elements assume the BPMN version 1.1 appearance and automatically have a Tagged Value BPMNVersion set to 1.1
  • If you want a new element to revert to the BPMN version 1.0 appearance, set the BPMNVersion Tagged Value to 1.0
  • Conversely, if you want an older element to assume the BPMN version 1.1 appearance, assign the BPMNVersion Tagged Value to it, with the value 1.1


Migrate BPMN 1.0 Model to BPMN 1.1 [Enterprise Architect User Guide]

Migrate BPMN 1.0 Model to BPMN 1.1

Enterprise Architect enables you to migrate a BPMN 1.0 model (or part of a model) to BPMN 1.1 or BPMN1.1::BPEL, using the Automation Interface. There are two functions you can use:

  • MigrateToBPMN11()
  • proj.MigrateToBPMN11 sGUID, "BPMN"
  • proj.MigrateToBPMN11 sGUID, "BPEL"
  • Migrate()
  • proj.Migrate sGUID, "BPMN", "BPMN1.1"
  • proj.Migrate sGUID, "BPMN", "BPMN1.1::BPEL"

These functions update the Tagged Values and, if required, stereotypes to BPMN 1.1 for all elements, attributes, connectors and diagrams under the selected package or element.

Example:

The following VB script calls the MigrateToBPMN11() function to migrate the Tagged Values to BPMN 1.1:

Sub MigrateElement (sGUID, lngPackageID)

Dim proj as EA.Project

set proj = Repository.GetProjectInterface

proj.MigrateToBPMN11 sGUID, "BPMN"

'refresh the model

If lngPackageID<>0 Then

Repository.RefreshModelView (lngPackageID)

End If

End Sub

Sub MigrateSelectedItem

Dim selType

Dim selElement as EA.Element

Dim selPackage as EA.Package

selType = GetTreeSelectedItemType

If selType = 4 Then 'means Element

set selElement = GetTreeSelectedObject

MigrateElement selElement.ElementGUID, selElement.PackageID

MsgBox "Complete",0,"BPMN 1.1 Migration"

ElseIf selType = 5 Then 'means Package

set selPackage = GetTreeSelectedObject

MigrateElement selPackage.PackageGUID, selPackage.PackageID

MsgBox "Complete",0,"BPMN 1.1 Migration"

Else

MsgBox "Select a Package or Element in the Project Browser to initiate migration",0,"BPMN 1.1 Migration"

End If

End Sub

Sub Main

MigrateSelectedItem

End Sub

Main

Notes:

  • In BPMN 1.0, various tags have free-text direct-entry value fields, and you can provide additional information on these tags in the Tagged Value Note dialog, for display at the bottom of the Tagged Values window

    In BPMN 1.1, some of these tags (such as the Categories tag on a BusinessProcess stereotyped element) have been changed to memo type, and you use the Tagged Value Note dialog to enter the value; therefore, you cannot have additional notes for these tags, all information must be within the tag's value
  • For such tags, when migrating from BPMN 1.0 to BPMN 1.1, the BPMN 1.0 tag value is moved into the BPMN 1.1 tag notes field and the BPMN 1.0 tag notes are discarded; if you want to preserve the tag notes text, take a copy of the BPMN 1.0 model before migration to enable you to copy the tag notes text into the tag value after migration

Learn More:

  • MigrateToBPMN11()
  • Migrate()


Migrate BPMN 1.1 Model to BPMN 2.0 [Enterprise Architect User Guide]

Migrate BPMN 1.1 Model to BPMN 2.0

Enterprise Architect enables you to migrate a BPMN 1.1 model (or part of a model) to BPMN 2.0, using the Automation Interface function Migrate(). This function updates the Tagged Values and, if required, stereotypes to BPMN 2.0 for all elements, attributes, connectors and diagrams under the selected package or element.

Example:

The following VB script calls the Migrate() function to migrate the package or element to BPMN 2.0:

Sub MigrateElement (sGUID, lngPackageID)

Dim proj as EA.Project

set proj = Repository.GetProjectInterface

proj.Migrate sGUID, "BPMN1.1", "BPMN2.0"

'refresh the model

If lngPackageID<>0 Then

Repository.RefreshModelView (lngPackageID)

End If

End Sub

Sub MigrateSelectedItem

Dim selType

Dim selElement as EA.Element

Dim selPackage as EA.Package

selType = GetTreeSelectedItemType

If selType = 4 Then 'means Element

set selElement = GetTreeSelectedObject

MigrateElement selElement.ElementGUID, selElement.PackageID

MsgBox "Element Migration Completed",0,"BPMN 2.0 Migration"

ElseIf selType = 5 Then 'means Package

set selPackage = GetTreeSelectedObject

MigrateElement selPackage.PackageGUID, selPackage.PackageID

MsgBox "Package Migration Completed",0,"BPMN 2.0 Migration"

Else

MsgBox "Select a Package or Element in the Project Browser to initiate migration",0,"BPMN 2.0 Migration"

End If

End Sub

Sub Main

MigrateSelectedItem

End Sub

Main

Notes:

  • Please backup your project before you run the BPMN 2.0 Migrator
  • Normalization occurs on the following tags:
  • BPMN1.1::Activity::InMessageRef
  • BPMN1.1::ctivity::OutMessageRef
  • BPMN1.1::Activity::IORules
  • BPMN1.1::Activity::InputSets
  • BPMN1.1::Activity::OutputSets
  • BPMN1.1::Activity::ComplexMI_FlowCondition
  • BPMN1.1::Activity::Performers
  • BPMN1.1::BusinessProcess::InputSets
  • BPMN1.1::BusinessProcess::OutputSets
  • BPMN1.1::BusinessProcess::Performers
  • BPMN1.1::EndEvent::ErrorCode
  • BPMN1.1::IntermediateEvent::ErrorCode

    Taking BPMN1.1::Activity::InMessageRef as an example, the following steps take place:

(1) Create a new element BPMN2.0::Operation

(2) Insert the reference tag BPMN2.0::Activity::operationRef'

(3) Migrate BPMN1.1::Activity::InMessageRef to BPMN2.0::Operation::InMessageRef

  • Denormalization occurs on the following tags:
  • BPMN1.1::Transaction::TransactionProtocol
  • BPMN1.1::WebService::Operation
  • BPMN1.1::WebService::Interface
  • BPMN1.1::WebService::ParticipantRef
  • BPMN1.1::Condition::ConditionExpression
  • BPMN1.1::BPELProcess::InputSets
  • BPMN1.1::BPELProcess::OutputSets

Taking BPMN1.1::Transaction::TransactionMethod as an example, the following steps take place:

(1) Find element BPMN1.1::Transaction by 'BPMN1.1::Transaction::TransactionProtocol

(2) Migrate BPMN1.1::Transaction::TransactionMethod to BPMN2.0::transactionMethod

(3) Migrate BPMN1.1::Transaction::TransactionProtocol to BPMN2.0::transactionProtocol

  • If a BPMN1.1 stereo tag is discarded in BPMN2.0, it is preserved if the tag has a value

Learn More:

  • Migrate()


BPMN 2.0 XML [Enterprise Architect User Guide]

BPMN 2.0 XML

Enterprise Architect supports serializing BPMN 2.0 Models in BPMN 2.0 XML. The serialized XML file contains both the model semantics as well as the diagram-interchange information.

Access: Click on a package in the Project Browser, then:

Project | Model Publisher

Project | Model Import/Export | Export Package to XMI File: Publish, or
Right-click | Import/Export | Export Package to XMI: Publish

How To:

Step | Action | See Also
1 | Open the Publish Model Package dialog | Publish Model Package
2 | In the XML Type field, select BPMN 2.0 XML |
3 | Click on the Export button to initiate the BPMN 2.0 XML serialization |

Notes:

  1. The package being serialized is assumed to be self-contained
  2. Only the contents of the selected package are considered for serialization - child packages (and their contents) are ignored
  3. Serialization of the Group element in the BPMN 2.0 Business Process Tool-box is not supported
  4. Serialization of the following items in the BPMN 2.0 Types section of the Tool-box is not supported :
  • InputOutputBinding
  • Participant Association
  • Conversation Association

Learn More:

  • XML Schema for BPMN 2.0 XML (Online Resource)
  • BPMN 2.0 Toolbox Pages


BPEL Models [Enterprise Architect User Guide]

BPEL Models

The following text is derived from the BPEL entry in the online Wikipedia:

Business Process Execution Language (BPEL), short for Web Services Business Process Execution Language (WS-BPEL), is an executable language for specifying interactions with Web Services. Processes in Business Process Execution Language export and import information by using Web Service interfaces exclusively.

Web service interactions can be described in two ways :

  1. Executable business processes, which model the actual behavior of a participant in a business interaction.
  2. Abstract business processes, which are partially specified processes that are not intended to be executed. An Abstract Process may hide some of the required concrete operational details.

BPEL is an Orchestration language, serialized in XML, which specifies an executable process that involves message exchanges with other systems. This messaging facility depends on the use of the Web Services Description Language (WSDL) 1.1 to describe outgoing and incoming messages.

BPEL in Enterprise Architect:

Enterprise Architect supports generating BPEL from executable processes in the Business and Software Engineering and the Ultimate editions. Although there is no standard graphical notation for WS-BPEL, Enterprise Architect uses BPMN profile as a graphical front-end to capture BPEL Process descriptions. With the help of the BPMN Profile, Enterprise Architect enables you to develop BPEL diagrams quickly and simply. While BPMN provides a graphical notation for visualizing business process, BPEL provides a way for visualizing this graphical business process in XML.

Enterprise Architect supports generating:

  • BPEL 1.1 from models created using constructs in BPMN 1.1 Profile
  • BPEL 2.0 from models created using constructs in BPMN 2.0 Profile

Notes:

  • BPEL is supported in the Business and Software Engineering and the Ultimate editions of Enterprise Architect.
  • Enable BPMN 1.1 Technology for BPEL 1.1 and BPMN 2.0 Technology for BPEL 2.0 modeling in the MDG Technologies dialog ( Settings | MDG Technologies ).

Learn More:

  • BPEL (Online Resource)
  • Orchestration (Online Resource)
  • BPEL 1.1 Model
  • BPEL 2.0 Model
  • BPMN Model


BPEL 1.1 Model [Enterprise Architect User Guide]

BPEL 1.1 Model

Enterprise Architect uses BPMN 1.1 as a graphical front-end to capture BPEL 1.1 Process description ( as BPEL 1.1 does not have not a standard graphical notation ). Enterprise Architect uses the partial mapping specified in the OMG BPMN 1.1 specification to map BPMN 1.1 constructs to BPEL 1.1.

How To:

Step

Action

See Also

1

Create a BPEL 1.1 Package Structure

Alternative:

Step | Action
a | Create a package in the Project Browser
b | Click on the New Diagram icon in the Project Browser
c | Select BPMN 1.1 in the Select From field and BPEL in the Diagram Types field
d | Click on the BPEL Process icon from the BPMN 1.1 Core toolbox and drag it into the created BPEL diagram

BPEL 1.1 Package Structure

Project Browser Toolbar

2

Open the BPEL diagram under the BPELProcess stereotyped element

3

Model the BPEL Process using the constructs in the BPMN 1.1 Core toolbox. Use the following constructs in this toolbox to model BPEL 1.1:

BPMN 1.1 - Core page:

  • BPEL Process
  • Activity
  • Start Event
  • Intermediate Event
  • End Event
  • Gateway
  • Pool

BPMN 1.1 - Relationships page:

  • Sequence Flow
  • Message Flow
  • Association

BPMN 1.1 Types page:

  • Assignment
  • Condition
  • Message
  • Participant
  • Web Service

BPMN 1.1 Core Toolbox

Model BPEL 1.1 Process

4

Create Web Service for the BPEL Process and other related Pools, if required

BPEL Web Service

5

Generate BPEL 1.1 code from the BPEL Process

Generate BPEL 1.1

Notes:

  • Generating BPEL 1.1 from a BPMN 1.1 model is supported in the Business and Software Engineering and the Ultimate editions of Enterprise Architect.
  • Ensure that BPMN 1.1 Technology is enabled in the MDG Technologies dialog ( Settings | MDG Technologies ).

BPEL 1.1 Example:

  • The Enterprise Architect Example file ( EAExample.EAP ) has a sample BPMN 1.1 model from which BPEL 1.1 can be generated.
  • If you have installed Enterprise Architect at the default location, open this file: C:\Program Files\Sparx Systems\EA\EAExample.EAP
  • The BPMN 1.1 model package is in: Project Models | Analysis and Business Modeling | BPEL Example | BPEL 1.1 Model.

Modeling Restrictions:

  1. Every BPEL Process and Sub-Process should start with a Start Event and end with an End Event.
  • A Start Event or an End Event should not be attached to the boundary of a Sub-Process.
  2. Sequence Flow Looping is not supported - only Activity looping is supported. All Sequence Flows should flow downstream and not upstream.
  3. Mapping of an Intermediate Event with multiple triggers to BPEL 1.1 is not supported.
  4. Mapping of Multi-Instance Parallel While loops to BPEL 1.1 is not supported.
  5. Mapping of Independent Sub-Process to BPEL 1.1 is not supported.
  6. Pools are treated as black box ( i.e., they do not expose any details ) and hence they cannot contain any child elements or have any incoming/outgoing Sequence Flow connectors.


Create BPEL 1.1 Model Structure [Enterprise Architect User Guide]

Create BPEL 1.1 Model Structure

A BPEL 1.1 model consists of a BPEL Process ( containing a BPEL diagram and mappable BPMN 1.1 constructs ) and other supporting elements ( like BPMN 1.1 Assignment, BPMN 1.1 Web Service ) required for generating BPEL 1.1 code. A sample BPEL 1.1 package structure can be created in the Project Browser, using the Select Model(s) (Model Wizard) dialog. You can use this package structure as a template for developing your BPEL Process.

Access:

  • Right-click on a package in the Project Browser and select the following context menu : Add | Add a New Model using Wizard ( or )
  • Select the New Model from Pattern icon in the Project Browser toolbar

Use to:

  • Create a new BPEL 1.1 package structure that can be used as a staring point for developing your BPEL Process.

How to:

Step | Action | See also
1 | Select the root node or a package in the Project Browser |
2 | Click on the New Model from Pattern icon in the Project Browser | Project Browser Toolbar
3 | Select the value BPMN 1.1 in the Technology section | Model Wizard
4 | Check the option BPEL 1.1 Model in the Name section |
5 | Click on the OK button to create the sample BPEL 1.1 package structure |

Example BPEL 1.1 Package Structure:

The BPEL Process LoanApproval_Process acts as container for the BPEL diagram and elements. The SupportingElements package contains supporting components like Assignments and Web Services.

Learn More:

  • Model a BPEL 1.1 Process
  • Create a BPEL 1.1 Web Service
  • Generate BPEL 1.1


Model a BPEL 1.1 Process [Enterprise Architect User Guide]

Model a BPEL 1.1 Process

The BPEL Process in Enterprise Architect represents the top-level container for the BPMN 1.1 elements, from which BPEL 1.1 can be generated. Conceptually it maps to the BPEL process element.

BPEL Properties:

  • Double-click on the BPEL Process in the BPEL diagram
  • Right-click on the BPEL Process in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the BPEL Process |
Query Language | Specify the value of the language used in the BPEL Process for the selection of nodes in Assignments. Defaults to XPath 1.0 |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Learn More:

The BPEL Process element acts as a container for the following BPMN 1.1 constructs:

  • Start Event
  • Intermediate Event
  • Activity
  • Gateway
  • End Event
  • Sequence Flow

The following BPMN 1.1 constructs can be optionally used in BPEL modeling :

  • Pool
  • Assignment


Start Event [Enterprise Architect User Guide]

Start Event

A BPMN 1.1 Start Event indicates where a particular Process begins. Every Process in Enterprise Architect must begin with a Start Event.

BPEL Properties:

  • Double-click on the Start Event in the BPEL diagram ( or )
  • Right-click on the Start Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Start Event

Trigger Type

Select a trigger for the Start Event, namely:

  • Conditional
  • Link
  • Message
  • Multiple
  • None
  • Signal
  • Timer

Details

Depending on the selected Trigger Type, the Details tab changes as follows :

Field | Usage
Conditional Trigger Type
Condition | Select a BPMN 1.1 Condition from the list of Condition(s) created in the SupportingElements package
Message Trigger Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service
Multiple Trigger Type
Events | Select additional BPMN 1.1 Start Events from the list of events in this Process that might trigger the Process by clicking the ( ... ) button
Timer Trigger Type
Time Cycle | Specify the value for the time duration
Time Date | Specify the value for the time date

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

Create BPEL 1.1 Model Structure

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Either set Time Cycle or Time Date for Timer Trigger Type but not both as they are mutually exclusive fields.
  • Link, None and Signal Event types cannot be mapped to BPEL 1.1


Intermediate Event [Enterprise Architect User Guide]

Intermediate Event

A BPMN 1.1 Intermediate Event indicates where an event occurs somewhere between the start and end of a Process.

BPEL Properties:

  • Double-click on the Intermediate Event in the BPEL diagram
  • Right-click on the Intermediate Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Intermediate Event

Trigger Type

Select the type for the Intermediate Event, namely:

  • Cancel
  • Compensation
  • Conditional
  • Error
  • Link
  • Message
  • Multiple
  • None
  • Signal
  • Timer

Details

Depending on the selected Trigger Type, the Details tab changes as follows :

Field | Usage
Compensation Trigger Type
Activity | Select an BPMN 1.1 Task from the list of all Activities in the Process
Conditional Trigger Type
Condition | Select a BPMN 1.1 Condition from the list of Condition(s) created in the SupportingElements package
Error Trigger Type
Error Code | Specify the required error code
Link Trigger Type
Link Event | Select a Link Event element ( to act as a target for this Link Event ) from the list of Link Event elements under the current Process / Sub-Process
Message Trigger Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service
Multiple Trigger Type
Events | Select additional BPMN 1.1 Intermediate Events from the list of events in this Process by clicking the ( ... ) button
Timer Trigger Type
Time Cycle | Specify the value for the time duration
Time Date | Specify the value for the time date

Create BPEL 1.1 Model Structure

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Cancel, None and Signal Event types cannot be mapped to BPEL 1.1.
  • Either set Time Cycle or Time Date for Timer Trigger Type but not both as they are mutually exclusive fields.
  • For a Compensation Intermediate Event edge-mounted on an Activity, create a BPMN 1.1 Association from this event to the Compensation Activity. Ensure that the IsCompensation tag for the Activity is set to true.
  • Link Intermediate Event can be used either as a GOTO or an off-page connector. So, this event can have either incoming or outgoing Sequence Flows - but not both.


Activity [Enterprise Architect User Guide]

Activity

A BPMN 1.1 Activity represents work that is performed within a Process. An Activity can be modeled as a:

  • Sub-Process - a compound Activity that is defined as a flow of other BPMN 2.0 elements or
  • Task - an atomic Activity that cannot be broken down into a smaller unit.

Activities - both Tasks and Sub-Processes - can also, optionally, act as Looping constructs. The OMG BPMN 2.0 Specification defines two types of Looping construct:

  • Standard Loop ( while or until )
  • Multi-Instance Loop ( for each )

BPEL Properties:

  • Double-click on the Activity in the BPEL diagram
  • Right-click on the Activity in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Activity

Type

Specify whether the Activity is a :

  • Task ( or )
  • Sub-Process

Task Type / SubProcess Type

Depending on the value selected in the Type field, the Task Type / SubProcess Type field has the following values :

Task Type :

  • Manual
  • None
  • Receive
  • Reference
  • Script
  • Send
  • Service
  • User

SubProcess Type :

  • Embedded
  • References
  • Reusable

Details

Depending on the selected Task Type, the Details tab changes as follows :

Field | Usage
Receive Task Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service
Instantiate | Select True if this is the first Activity after the Start Event, otherwise select False.
Reference Task Type
Activity | Select an BPMN 1.1 Task from the list of all Activities in the Process
Send Task Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service
Service / User Task Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Input Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service that represents the input element
Output Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service that represents the output element

Depending on the selected SubProcess Type, the Details tab changes as follows :

Field | Usage
References SubProcess Type
SubProcess | Select an BPMN 1.1 Sub-Process from the list of all Activities in the Process

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

Create BPEL 1.1 Model Structure

Loop Details

Activities can be repeated sequentially, behaving like a loop. Specify the Activity looping details in this tab ( Optional )

Field

Usage

Type

Select:

  • Standard for creating a while or until loop
  • MultiInstance for creating a for each loop

Condition

Enter a boolean condition for Standard loop or a numeric condition for MultiInstance loop

Min Value

Specify the minimum value for the loop evaluation for a Standard loop ( Optional )

Min Value

Specify the maximum value for the loop evaluation for a Standard loop ( Optional )

Test Time

Select After to define a while Standard loop or Before to define an until Standard loop

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Manual and Script types cannot be mapped to BPEL 1.1
  • Reusable Sub-Process types cannot be mapped to BPEL 1.1


Gateway [Enterprise Architect User Guide]

Gateway

A BPMN 1.1 Gateway control the way in which Sequence Flows converge and diverge within a Process. They provide a gating mechanism that either allows or blocks a Sequence Flow.

BPEL Properties:

  • Double-click on the Gateway in the BPEL diagram
  • Right-click on the Gateway in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Gateway

Gateway

Select the type for the Gateway, namely:

  • Complex
  • Exclusive
  • Inclusive
  • Parallel

Details

Depending on the selected Gateway, the Details tab changes as follows :

Field | Usage
Exclusive Gateway
Exclusive Type | Data - allows alternate paths are taken based on the evaluation of conditions Event - allows alternate paths are taken based on the occurrence of events

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • The target of the outgoing Sequence Flows of this Event Exclusive Gateway must be either a:
  • Receive Task
  • Message or Timer Intermediate Event
  • If a Message Task is one of the targets of the outgoing Sequence Flow of an Event Exclusive Gateway, then a Message Intermediate Event cannot be be the target of the other outgoing Sequence Flows of this Event Exclusive Gateway


End Event [Enterprise Architect User Guide]

End Event

A BPMN 1.1 End Event indicates where a particular Process ends. Every Process in Enterprise Architect must end with an End Event.

BPEL Properties:

  • Double-click on the End Event in the BPEL diagram
  • Right-click on the End Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the End Event

Result Type

Select the type for the End Event, namely:

  • Cancel
  • Compensation
  • Error
  • Link
  • Message
  • Multiple
  • None
  • Signal
  • Terminate

Details

Depending on the selected Result Type, the Details tab changes as follows :

Field | Usage
Compensation Result Type
Activity | Select an BPMN 1.1 Task from the list of all Activities in the Process
Error Trigger Type
Error Code | Specify the required error code
Message Result Type
Web Service | Select a BPMN 1.1 Web Service from the package ( in the SupportingElements package ) that represents one of the involved Participants
Message | Select a BPMN 1.1 Message from the list of Message(s) in the selected Web Service
Multiple Result Type
Events | Select additional BPMN 1.1 Start Events from the list of events in this Process that might trigger the Process by clicking the ( ... ) button

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

Create BPEL 1.1 Model Structure

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Cancel, Link, None and Signal Event types cannot be mapped to BPEL 1.1


Sequence Flow [Enterprise Architect User Guide]

Sequence Flow

A BPMN 1.1 Sequence Flow connector shows the order in which the activities ( Tasks and Events ) are performed in a BPEL Process.

BPEL Properties:

  • Double-click on the Sequence Flow in the BPEL diagram
  • Right-click on the Sequence Flow in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPELProperties

Reference:

Field/Button

Usage

See Also

Condition Type

Specify the type of the condition on the Sequence Flow, namely :

  • None
  • Default
  • Expression

Expression

This field gets enabled when the Condition Type is set to Expression. Specify a boolean expression to act as a gating condition.

Ordering

This field gets enabled when the Condition Type is set to Expression. Specify a numerical value that determines the order in which the condition set in the Expression field is to be evaluated.

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

Create BPEL 1.1 Model Structure

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties


Pool [Enterprise Architect User Guide]

Pool

A BPMN 1.1 Pool represents a Participant in a Process and does not map to any specific BPEL 1.1 element. Enterprise Architect uses Pools to represent external Participants, with which the BPEL Process communicates. These are 'black box' pools i.e., they are abstract and do not expose any details ( they do not contain any BPMN 1.1 elements inside them ).

BPEL Properties:

  • Double-click on the Pool in the BPEL diagram
  • Right-click on the Pool in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Pool |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Notes:

  • A BPEL Process should not contain a Pool as its child element.
  • A BPEL diagram under a BPEL Process contains an implicit Pool - so it is invalid to add a Pool in this BPEL diagram to represent the BPEL Process.
  • Pool cannot have any incoming or outgoing Sequence Flow connectors - it can have only incoming or outgoing Message Flow connectors.


Assignment [Enterprise Architect User Guide]

Assignment

A BPMN 1.1 Assignment element enables data to be copied between messages and new data to be inserted, using expressions within a BPEL Process. A BPMN 1.1 Assignment element maps to a BPEL 1.1 assign activity and copies the specified value from the source to the target.

In Enterprise Architect, Assignment elements should be created in the Assignments package in SupportingElements. If they are created elsewhere, they cannot be enacted correctly.

Access: View | Toolbox > More tools | BPMN 1.1 | BPMN 1.1 Types

BPEL Properties:

  • Double-click on the Assignment in the BPEL diagram
  • Right-click on the Assignment in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Assignment |
Assign Time | Select either Start or End to determine whether the assignment occurs at the start or end of an Activity/Event. |
Copy From section
Type | Depending on the value selected in this field, further details are required |
Literal | Specify a literal value |
Expression / Message | Select a BPMN 1.1 Message in the package representing the BPEL Process / Pool under the SupportingElements package | Create BPEL 1.1 Model Structure Create a BPEL 1.1 Web Service
Part | Select a BPMN 1.1Property belonging to the selected Message ( Optional ) |
Copy To section
Message | Select a BPMN 1.1 Message in the package representing the BPEL Process / Pool under the SupportingElements package | Create BPEL 1.1 Model Structure Create a BPEL 1.1 Web Service
Part | Select a BPMN 1.1Property belonging to the selected Message ( Optional ) |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Notes:

  • Messages are created when you create a Web Services
  • If you select Expression, Enterprise Architect uses the getVariableData XPATH 1.0 function to create the expression from the selected Message and Part.


Create BPEL 1.1 Web Service [Enterprise Architect User Guide]

Create BPEL 1.1 Web Service

BPEL is an Orchestration language, which orchestrates services that are exposed using WSDL 1.1. It coordinates the execution of the various operations of these involved services. BPEL 1.1 supports WSDL 1.1 one-way and request-response operations only ( and not solicit-response and notification operations ). Enterprise Architect enables you to create, for BPEL Process and Pool elements, Web Service Operations that support either synchronous (request-response) or asynchronous (one-way) interactions.

Access: Right-click on a BPEL Process or Pool and select the following context menu : BPEL | Create WebService

Reference:

Field/Button

Usage

See Also

Operation

Specify whether to create a new Web Service or create one from an existing WSDL created / imported into EA ( using the Import WSDL dialog ) by selecting either :

  • Create New ( or )
  • Create from existing WSDL

Model WSDL

Import WSDL

Type

Specify whether to create a one-way or request-response Operation by selecting either :

  • Asynchronous ( or )
  • Synchronous

Partnership Details

The interaction between the Web Service and the BPEL Process is modeled as a BPEL partnerLink. For this interaction, provide a:

Field | Usage
Name | Name of the BPEL partnerLink
Role | Name of either myRole ( if this operation belongs to the BPEL Process Web Service ) or partnerRole ( if this operation belongs to the Web Service of a Pool ) of the BPEL partnerLink.

Web Service

Field | Usage
When Create New is selected in Operation field:
Web Service Name | Name of the WSDL 1.1 Web Service
PortType | Name of the WSDL 1.1 PortType ( Interface )
Operation | Name of the WSDL 1.1 PortType Operation
When Create from existing WSDL PortType Operation is selected in Operation field:
WSDL Package | Select an existing WSDL package created / imported into EA
Web Service Name | Name of the WSDL 1.1 Web Service Default: name of the selected WSDL Package
PortType | Select a WSDL 1.1 PortType from the selected WSDL Package
Operation | Select a WSDL 1.1 PortType Operation in the selected PortType

Input

Field | Usage
When Create New is selected in Operation field:
Message Name | Name of the WSDL 1.1 Message
Properties | Press ( ... ) button to enter the WSDL 1.1 Message Part Name and XSD Type
When Create from existing WSDL PortType Operation is selected in Operation field: The fields in this tab are pre-filled with the details of the input WSDL 1.1 Message ( of the WSDL 1.1 PortType Operation selected in the Operation field in the Web Service tab )

Output

Field | Usage
When Create New is selected in Operation field:
Message Name | Name of the WSDL 1.1 Message
Properties | Press ( ... ) button to enter the WSDL 1.1 Message Part Name and XSD Type
When Create from existing WSDL PortType Operation is selected in Operation field: The fields in this tab are pre-filled with the details of the output WSDL 1.1 Message ( of the WSDL 1.1 PortType Operation selected in the Operation field in the Web Service tab )

OK

Create a Web Service Operation based on the values entered in the dialog.

The Operation is created in a package, whose name is the same as that of the BPEL Process / Pool from from which this dialog is invoked, under the SupportingElements package

SupportingElements

Cancel

Discard the values entered in the dialog and abort creating the Web Service Operation

Help

Display this Help topic

Notes:

  • The Output tab is not applicable for an Asynchronous operation


Generate BPEL 1.1 [Enterprise Architect User Guide]

Generate BPEL 1.1

BPEL 1.1 code can be generated from a BPEL Process. Enterprise Architect validates the BPEL Process before generating the BPEL 1.1 code. In addition to generating the BPEL 1.1 code, WSDL 1.1 files are generated for the BPEL Process and all the involved Pools ( provided Web Services are defined for them ).

Access: Right-click on a BPEL Process and select the following context menu: BPEL | Generate BPEL

Reference:

Field/Button | Usage | See Also
File Name | Specify the path where the BPEL 1.1 file is to be generated |
Namespace Details | Double-click on an entry ( if any ) in this field to open the Namespace Details dialog and add / edit the namespace details The entry DefaultPool represents the current BPEL Process |
Generate BPEL | Validate the model and generate BPEL 1.1 | BPEL Model Validation
Close | Close this dialog |
Help | Display this Help topic |
View BPEL | View the generated BPEL 1.1 file |

Learn More:

  • Model a BPEL 1.1 Process
  • Create a BPEL 1.1 Web Service


BPEL 2.0 Model [Enterprise Architect User Guide]

BPEL 2.0 Model

Enterprise Architect uses BPMN 2.0 as a graphical front-end to capture BPEL 2.0 Process description ( as BPEL 2.0 does not have not a standard graphical notation ). Enterprise Architect uses the partial mapping specified in the BPMN 2.0 specification to map BPMN 2.0 constructs to BPEL 2.0.

How To:

Step

Action

See Also

1

Create a BPEL 2.0 Package Structure

Alternative:

Step | Action
a | Create a package in the Project Browser
b | Click on the New Diagram icon in the Project Browser
c | Select BPMN 2.0 in the Select From field and BPEL in the Diagram Types field
d | Click on the BPEL icon from the BPMN 2.0 - Business Process toolbox and drag it into the created BPEL diagram

BPEL 2.0 Package Structure

Project Browser Toolbar

2

Open the BPEL diagram under the BPELProcess stereotyped element

3

Model the BPEL Process using the constructs in the BPMN 2.0 - Business Process toolbox. Use the following constructs in this toolbox to model BPEL 2.0:

BPMN 2.0 - Business Process page:

  • BPEL
  • Activity
  • Data Object
  • Start Event
  • Intermediate Event
  • Event
  • Gateway
  • Pool

BPMN 2.0 - Business Process Connectors page:

  • Sequence Flow
  • Association
  • Message Flow

BPMN 2.0 Types page:

  • Assignment
  • Error
  • Interface
  • Operation
  • Participant
  • Property

BPMN 2.0 Business Process Toolbox

Model BPEL 2.0 Process

4

Create Web Service Operations for the BPEL Process and other related Pools, if required

Web Service Operation

5

Generate BPEL 2.0 code from the BPEL Process

Generate BPEL 2.0

Notes:

  • Generating BPEL 2.0 from a BPMN 2.0 model is supported in the Business and Software Engineering and the Ultimate editions of Enterprise Architect.
  • Ensure that BPMN 2.0 Technology is enabled in the MDG Technologies dialog ( Settings | MDG Technologies ).

BPEL 2.0 Example:

  • The Enterprise Architect Example file ( EAExample.EAP ) has a sample BPMN 2.0 model from which BPEL 2.0 can be generated.
  • If you have installed Enterprise Architect at the default location, open this file: C:\Program Files\Sparx Systems\EA\EAExample.EAP
  • The BPMN 2.0 model package is in: Project Models | Analysis and Business Modeling | BPEL Example | BPEL 2.0 Model.

Modeling Restrictions:

  1. Every BPEL Process and Sub-Process should start with a Start Event and end with an End Event.
  • Boundary Start and End Events are not supported
  2. Sequence Flow Looping is not supported in both Normal and Exception Paths.
  • All Sequence Flows should flow downstream and not upstream.
  3. Sub-Process cannot be a Loop node and have boundary Intermediate Events.
  4. Event Sub-Process cannot act as a Loop Node.
  5. Assignments are not supported on :
  • Start Events on Event Sub-Process
  • End Events
  • Sub-Process
  • Boundary Intermediate Event
  • Gateway
  • Task and Intermediate Event that immediately follow an XOR Event Gateway
  6. Exception Path has to merge back into the Normal Path.
  • An exception to this rule is boundary Compensation Intermediate Event which should have a BPMN 2.0 Association to a Compensation Activity ( that has no incoming or outgoing Sequence Flows )
  • Multiple Exception Paths from an Activity must join at the same location in the Normal Path
  • An Exception Path should not cross another Exception Path.
  7. Activities in an Exception Path cannot have boundary Intermediate Events.
  8. Pools are treated as black boxes ( i.e., they do not expose any details ) and hence they cannot contain any child elements or have any incoming/outgoing Sequence Flow connectors.


Create BPEL 2.0 Model Structure [Enterprise Architect User Guide]

Create BPEL 2.0 Model Structure

A BPEL 2.0 model consists of a BPEL Process ( containing a BPEL diagram and mappable BPMN 2.0 constructs ) and other supporting elements ( like BPMN 2.0 Assignment, BPMN 2.0 Operation ) required for generating a BPEL 2.0 code. A sample BPEL 2.0 package structure can be created in the Project Browser, using the Select Model(s) (Model Wizard) dialog. You can use this package structure as a template for developing your BPEL Process.

Access:

  • Right-click on a package in the Project Browser and select the following context menu : Add | Add a New Model using Wizard ( or )
  • Select the New Model from Pattern icon in the Project Browser toolbar

Use to:

  • Create a new BPEL 2.0 package structure that can be used as a staring point for developing your BPEL Process.

How to:

Step | Action | See also
1 | Select the root node or a package in the Project Browser |
2 | Click on the New Model from Pattern icon in the Project Browser | Project Browser Toolbar
3 | Select the value BPMN 2.0 in the Technology section | Model Wizard
4 | Check the option BPEL 2.0 Model in the Name section |
5 | Click on the OK button to create the sample BPEL 2.0 package structure |

Example BPEL 2.0 Package Structure:

The BPEL Process LoanApproval_Process acts as container for the BPEL diagram and elements. The SupportingElements package contains supporting components like Assignments and Web Service Operations.

Learn More:

  • Model a BPEL 2.0 Process
  • Create a Web Service Operation
  • Generate BPEL 2.0


Model a BPEL 2.0 Process [Enterprise Architect User Guide]

Model a BPEL 2.0 Process

The BPEL Process in Enterprise Architect represents the top-level container for the BPMN 2.0 elements, from which BPEL 2.0 can be generated. Conceptually it maps to the BPEL process element.

BPEL Properties:

  • Double-click on the BPEL Process in the BPEL diagram ( or )
  • Right-click on the BPEL Process in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the BPEL Process |
Query Language | Specify the value of the language used in the BPEL Process for the selection of nodes in Assignments. Defaults to XPath 1.0 |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Learn More:

The BPEL Process element acts as a container for the following BPMN 2.0 constructs:

  • Start Event
  • Intermediate Event
  • Activity
  • Gateway
  • End Event
  • Data Object
  • Property
  • Sequence Flow

The following BPMN 2.0 constructs can be optionally used in BPEL modeling:

  • Pool
  • Assignment


Start Event [Enterprise Architect User Guide]

Start Event

A BPMN 2.0 Start Event indicates where a particular Process begins. Every Process in Enterprise Architect must begin with a Start Event.

BPEL Properties:

  • Double-click on the Start Event in the BPEL diagram ( or )
  • Right-click on the Start Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Start Event

Event Type

Select a trigger for the Start Event, namely:

  • Compensation
  • Conditional
  • Error
  • Escalation
  • Message
  • Multiple
  • None
  • Parallel Multiple
  • Signal
  • Timer

Details

Depending on the selected Event Type, the Details tab changes as follows :

Field | Usage
Message Event Type
Pool Package | Select the package that represents one of the involved Participants
Operation | Select an Operation from the list of operation(s) in the selected Pool Package
Timer Event Type
Time Cycle | Specify the value for the time duration
Time Date | Specify the value for the time date
Error Event Type
Error | Select an Error element

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

SupportingElements

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Either set Time Cycle or Time Date for Timer Event Type but not both as they are mutually exclusive fields.
  • Assignments tab is not available on Start Events that are used to start an Event Sub-Process
  • Compensation, Error and Timer event types are valid only on an Event Sub-Process
  • Conditional, Escalation, Multiple, Parallel Multiple and Signal event types cannot be mapped to BPEL 2.0


Intermediate Event [Enterprise Architect User Guide]

Intermediate Event

A BPMN 2.0 Intermediate Event indicates where an event occurs somewhere between the start and end of a Process.

BPEL Properties:

  • Double-click on the Intermediate Event in the BPEL diagram
  • Right-click on the Intermediate Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Intermediate Event

Event Type

Select the type for the Intermediate Event, namely:

  • Cancel
  • Compensation
  • Conditional
  • Error
  • Escalation
  • Link
  • Message
  • Multiple
  • None
  • Parallel Multiple
  • Signal
  • Timer

Details

Depending on the selected Event Type, the Details tab changes as follows :

Field | Usage
Message Event Type
Pool Package | Select the package that represents one of the involved Participants
Operation | Select an Operation from the list of operation(s) in the selected Pool Package
Link Event Type
Link Event | Select a Link Event element ( to act as a target for this Link Event ) from the list of Link Event elements under the current Process / Sub-Process
Timer Event Type
Time Cycle | Specify the value for the time duration
Time Date | Specify the value for the time date
Compensation Event Type
Activity | Select an Activity from the list of Activity elements under the current Process/Sub-Process
Error Event Type
Error | Select an Error element

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

SupportingElements

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Cancel, Conditional, Escalation, Multiple, None, Parallel Multiple and Signal event type cannot be mapped to BPEL 2.0
  • Assignments tab is not available on Intermediate Events that are attached to the boundary of an Activity
  • Either set Time Cycle or Time Date for Timer Trigger Type but not both as they are mutually exclusive fields.
  • Error event type is valid only on an Intermediate Event attached to the boundary of an Activity
  • Compensation event type is valid only on an Event Sub-Process or when attached to the boundary of an Activity
  • Link Intermediate Event can be used either as a GOTO or an off-page connector. So, this event can have either incoming or outgoing Sequence Flows - but not both.


Activity [Enterprise Architect User Guide]

Activity

A BPMN 2.0 Activity represents work that is performed within a Process. An Activity can be modeled as a:

  • Sub-Process - a compound Activity that is defined as a flow of other BPMN 2.0 elements or
  • Task - an atomic Activity that cannot be broken down into a smaller unit.

Activities - both Tasks and Sub-Processes - can also, optionally, act as Looping constructs. The OMG BPMN 2.0 Specification defines two types of Looping construct:

  • Standard Loop ( while or until )
  • Multi-Instance Loop ( for each )

BPEL Properties:

  • Double-click on the Activity in the BPEL diagram
  • Right-click on the Activity in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Activity

Type

Specify whether the Activity is a :

  • Task ( or )
  • Sub-Process

Task Type / SubProcess Type

Depending on the value selected in the Type field, the Task Type / SubProcess Type field has the following values :

Task Type :

  • Abstract
  • Business Rule
  • Manual
  • Receive
  • Script
  • Send
  • Service
  • User

SubProcess Type :

  • Ad-Hoc
  • Call Activity
  • Compensation
  • Embedded
  • Event
  • Transaction

Details

Depending on the selected Task Type, the Details tab changes as follows :

Field | Usage
Receive / Send / Service Task Type
Pool Package | Select the package that represents one of the involved Participants
Operation | Select an Operation from the list of operation(s) in the selected Pool Package

Assignments

Select one or more Assignment elements created in the SupportingElements package in this tab ( Optional )

Assignment

SupportingElements

Loop Details

Activities can be repeated sequentially, behaving like a loop. Specify the Activity looping details in this tab ( Optional )

Field

Usage

Loop Type

Select:

  • Standard for creating a while or until loop
  • MultiInstance for creating a for each loop

Evaluate condition at the beginning of loop

Check this option to create a while Standard loop

Default: until loop

Loop Condition

Enter a boolean condition for Standard loop or a numeric condition for MultiInstance loop

Loop Maximum

Specify the maximum value for the loop evaluation for a Standard loop ( Optional )

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Assignments tab is not applicable for Sub-Process
  • Loop Details tab is not applicable for Event Sub-Process
  • Business Rule, Manual, Script and User Task types cannot be mapped to BPEL 2.0
  • Ad-Hoc, Call Activity and Transaction Sub-Process types cannot be mapped to BPEL 2.0


Gateway [Enterprise Architect User Guide]

Gateway

A BPMN 2.0 Gateway control the way in which Sequence Flows converge and diverge within a Process. They provide a gating mechanism that either allows or blocks a Sequence Flow.

BPEL Properties:

  • Double-click on the Gateway in the BPEL diagram
  • Right-click on the Gateway in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the Gateway

Gateway

Select the type for the Gateway, namely:

  • Complex
  • Event
  • Exclusive
  • Inclusive
  • Parallel

Details

Depending on the selected Gateway, the Details tab changes as follows :

Field | Usage
Event Gateway
Event Type | Set to Exclusive to represent an Exclusive Event Based Gateway

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  1. The target of the outgoing Sequence Flows of this Event Exclusive Gateway must be either an:
  • Receive Task
  • Message or Timer Intermediate Event

  2. If a Message Task is one of the targets of the outgoing Sequence Flow of an Event Exclusive Gateway, then a Message Intermediate Event cannot be be the target of the other outgoing Sequence Flows of this Event Exclusive Gateway


End Event [Enterprise Architect User Guide]

End Event

A BPMN 2.0 End Event indicates where a particular Process ends. Every Process in Enterprise Architect must end with an End Event.

BPEL Properties:

  • Double-click on the End Event in the BPEL diagram
  • Right-click on the End Event in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the End Event

Event Type

Select the type for the End Event, namely:

  • Cancel
  • Compensation
  • Error
  • Escalation
  • Message
  • Multiple
  • None
  • Signal
  • Terminate

Details

Depending on the selected Event Type, the Details tab changes as follows :

Field | Usage
Message Event Type
Pool Package | Select the package that represents one of the involved Participants
Operation | Select an Operation from the list of operation(s) in the selected Pool Package
Compensation Event Type
Activity | Select an Activity from the list of Activity elements under the current Process/Sub-Process
Error Event Type
Error | Select an Error element

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties

Notes:

  • Compensation event type is valid only on an Event Sub-Process
  • Cancel, Escalation, Multiple and Signal event types cannot be mapped to BPEL 2.0


Data Object [Enterprise Architect User Guide]

Data Object

A BPMN 2.0 Data Object is mapped to to BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process, just like a Property. A Data Object cannot have any incoming or outgoing Sequence Flow or Message Flow.

BPEL Properties:

  • Double-click on the Data Object in the BPEL diagram
  • Right-click on the Data Object in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Data Object |
Type | Select an XML Schema basic type from the drop-down list ( or ) use the ( ... ) button to select XML Schema ComplexType, SimpleType, Union or Enumeration |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties


Property [Enterprise Architect User Guide]

Property

A BPMN 2.0 Property is mapped to BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process , just like a Data Object. But, unlike a Data Object, Property is not displayed on a BPEL diagram. EA supports Property on BPMN 2.0 BPEL and BPMN 2.0 Activity elements.

Access: View | Toolbox > More tools | BPMN 2.0 | BPMN 2.0 Business Process | BPMN 2.0 Types

BPEL Properties: Right-click on the Property in the Project Browser and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Property |
Type | Select an XML Schema basic type from the drop-down list ( or ) use the ( ... ) button to select XML Schema ComplexType, SimpleType, Union or Enumeration |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties


Sequence Flow [Enterprise Architect User Guide]

Sequence Flow

A BPMN 2.0 Sequence Flow connector shows the order in which the activities ( Tasks and Events ) are performed in a BPEL Process.

BPEL Properties:

  • Double-click on the Sequence Flow in the BPEL diagram
  • Right-click on the Sequence Flow in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button

Usage

See Also

Condition Type

Specify the type of the condition on the Sequence Flow, namely :

  • None
  • Default
  • Expression

Expression

This field is enabled when the Condition Type is set to Expression

Specify a boolean expression to act as a gating condition.

Ordering

This field is enabled when the Condition Type is set to Expression

Specify a numerical value that determines the order in which the condition set in the Expression field is to be evaluated.

OK

Save the values entered in the dialog

Cancel

Discard the values entered in the dialog

Help

Display this Help topic

General

Open the UML Properties dialog

Properties


Pool [Enterprise Architect User Guide]

Pool

A BPMN 2.0 Pool represents a Participant in a Process and does not map to any specific BPEL 2.0 element. Enterprise Architect uses Pools to represent external Participants, with which the BPEL Process communicates. These are 'black box' pools i.e., they are abstract and do not expose any details ( they do not contain any BPMN 2.0 elements inside them ).

BPEL Properties:

  • Double-click on the Pool in the BPEL diagram
  • Right-click on the Pool in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Pool |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Notes:

  • A BPEL Process should not contain a Pool as its child element.
  • A BPEL diagram under a BPEL Process contains an implicit Pool - so it is invalid to add a Pool in this BPEL diagram to represent the BPEL Process.
  • Pool cannot have any incoming or outgoing Sequence Flow connectors - it can have only incoming or outgoing Message Flow connectors.


Assignment [Enterprise Architect User Guide]

Assignment

A BPMN 2.0 Assignment element enables data to be copied between messages and variables within a BPEL Process. An Assignment element maps to a BPEL 2.0 assign activity and copies the specified value from the source to the target.

In Enterprise Architect, Assignment elements should be created in the Assignments package in SupportingElements. If they are created elsewhere, they cannot be enacted correctly.

Access: View | Toolbox > More tools | BPMN 2.0 | BPMN 2.0 Business Process | BPMN 2.0 Types

BPEL Properties:

  • Double-click on the Assignment in the BPEL diagram
  • Right-click on the Assignment in the BPEL diagram ( or the Project Browser ) and select the following context menu : BPEL | BPEL 2.0 Properties

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the Assignment |
Copy From
Type | Depending on the value selected in this field, further details are required |
Literal | Specify a literal value |
Expression | Specify an expression |
Message | Select a BPMN 2.0 Message in the package representing the BPEL Process / Pool under the SupportingElements package | SupportingElements Web Service Operation
Part | Select a BPMN 2.0Property belonging to the selected Message |
Variable | Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL Process |
Copy To
Message | Select a BPMN 2.0 Message in the package representing the BPEL Process / Pool under the SupportingElements package | SupportingElements Web Service Operation
Part | Select a BPMN 2.0 Property belonging to the selected Message |
Variable | Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL Process |
OK | Save the values entered in the dialog |
Cancel | Discard the values entered in the dialog |
Help | Display this Help topic |
General | Open the UML Properties dialog | Properties

Notes:

  • Messages are created when you create a Web Service Operation


Create BPEL 2.0 Web Service Operation [Enterprise Architect User Guide]

Create BPEL 2.0 Web Service Operation

BPEL is an Orchestration language, which orchestrates services that are exposed using WSDL 1.1. It coordinates the execution of the various operations of these involved services. BPEL 2.0 supports WSDL 1.1 one-way and request-response operations only ( and not solicit-response and notification operations ). Enterprise Architect enables you to create, for BPEL Process and Pool elements, Web Service Operations that support either synchronous (request-response) or asynchronous (one-way) interactions.

Access: Right-click on a BPEL Process or Pool and select the following context menu: BPEL | Create WebService

Reference:

Field/Button

Usage

See Also

Operation

Specify whether to create a new Web Service Operation or create one from an existing WSDL created / imported into EA ( using the Import WSDL dialog ) by selecting either :

  • Create New ( or )
  • Create from existing WSDL PortType Operation

Model WSDL

Import WSDL

Type

Specify whether to create a one-way or request-response Operation by selecting either :

  • Asynchronous ( or )
  • Synchronous

Partnership Details

The interaction between the Web Service and the BPEL Process is modeled as a BPEL partnerLink. For this interaction, provide a:

Field | Usage
Name | Name of the BPEL partnerLink
Role | Name of either myRole ( if this operation belongs to the BPEL Process Web Service ) or partnerRole ( if this operation belongs to the Web Service of a Pool ) of the BPEL partnerLink.

Web Service

Field | Usage
When Create New is selected in Operation field:
PortType | Name of the WSDL 1.1 PortType ( Interface )
Operation | Name of the WSDL 1.1 PortType Operation
When Create from existing WSDL PortType Operation is selected in Operation field:
WSDL Package | Select an existing WSDL package created / imported into EA
PortType | Select a WSDL 1.1 PortType from the selected WSDL Package
Operation | Select a WSDL 1.1 PortType Operation in the selected PortType

Input

Field | Usage
When Create New is selected in Operation field:
Message Name | Name of the WSDL 1.1 Message
Properties | Click on the ( ... ) button to enter the WSDL 1.1 Message Part Name and XSD Type
When Create from existing WSDL PortType Operation is selected in Operation field: The fields in this tab are pre-filled with the details of the input WSDL 1.1 Message (of the WSDL 1.1 PortType Operation selected in the Operation field in the Web Service tab)

Output

Field | Usage
When Create New is selected in Operation field:
Message Name | Name of the WSDL 1.1 Message
Properties | Press ( ... ) button to enter the WSDL 1.1 Message Part Name and XSD Type
When Create from existing WSDL PortType Operation is selected in Operation field: The fields in this tab are pre-filled with the details of the output WSDL 1.1 Message (of the WSDL 1.1 PortType Operation selected in the Operation field in the Web Service tab)

OK

Create a Web Service Operation based on the values entered in the dialog.

The operation is created in a package that has the same name as the BPEL Process / Pool from from which this dialog is invoked, under the SupportingElements package

SupportingElements

Cancel

Discard the values entered in the dialog and abort creating the Web Service Operation

Help

Display this Help topic

Notes:

  • The Output tab is not applicable for an Asynchronous operation


Generate BPEL 2.0 [Enterprise Architect User Guide]

Generate BPEL 2.0

BPEL 2.0 code can be generated from a BPEL Process. Enterprise Architect validates the BPEL Process before generating the BPEL 2.0 code. In addition to generating the BPEL 2.0 code, WSDL 1.1 files are generated for the BPEL Process and all the involved Pools (provided Web Service Operations are defined for them).

Access: Right-click on a BPEL Process and select the following context menu: BPEL | Generate BPEL 2.0

Reference:

Field/Button | Usage | See Also
File Name | Specify the path where the BPEL 2.0 file is to be generated |
Namespace Details | Double-click on an entry ( if any ) in this field to open the Namespace Details dialog and add / edit the namespace details The entry DefaultPool represents the current BPEL Process |
Generate BPEL | Validate the model and generate BPEL 2.0 | BPEL Model Validation
Close | Close this dialog |
Help | Display this Help topic |
View BPEL | View the generated BPEL 2.0 file |

Learn More:

  • Model a BPEL 2.0 Process
  • Create a Web Service Operation


BPEL Model Validation [Enterprise Architect User Guide]

BPEL Model Validation

The BPEL model is validated for both syntax and semantic errors before generating the BPEL code. Upon successful validation, the BPEL file ( and the associated WSDL 1.1 files, if any ) are generated. The results of the validation, as well as the progress of the BPEL generation, are displayed in the BPEL Progress tab of the Output window.

Example BPEL Model Violation

The following model shows several basic BPEL violations:

  1. StartEvent1 is of type Signal, which cannot be mapped to BPEL.
  2. The Message Flow connector between StartEvent1 and Activity1 is invalid, as Message Flow cannot be used to connect Activities or Events within a Process.
  3. EndEvent1 is of type Cancel, which cannot be mapped to BPEL.
  4. EndEvent1 cannot have any outgoing Sequence Flow connector, as it represents the end of a Process.
  5. Activity2 is not valid, as only an End Event represents the end of a Process.

Notes:

  • Double-click on a validation error entry in the BPEL Progress tab of the Output window to go to the source of the error in the Project Browser

Learn More:

  • Generate BPEL 1.1
  • BPEL 1.1 Modeling Restrictions
  • Generate BPEL 2.0
  • BPEL 2.0 Modeling Restrictions
  • System Output Window


ArchiMate [Enterprise Architect User Guide]

ArchiMate

ArchiMate is an open-standard enterprise architecture language from The Open Group, based on the IEEE 1471 standard. It offers a common language for describing the construction and operation of business processes, organizational structures, information flows, IT systems and technical infrastructure, enabling Enterprise Architects to describe, analyse and visualize the relationships among business domains in an unambiguous way.

Access: From the Toolbox select: More Tools | ArchiMate

Topics:

Images

Topic

Detail

See also

ArchiMate in Enterprise Architect

Enterprise Architect enables you to develop ArchiMate diagrams quickly and simply, through use of an ArchiMate MDG Technology integrated with the Enterprise Architect installer. The ArchiMate facilities are provided in the form of:

  • An ArchiMate diagram type, accessed through the New Diagram dialog
  • A set of ArchiMate pages in the Toolbox
  • ArchiMate element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

New Diagram

Toolbox Shortcut

Quick Linker

Archimate Pages

ArchiMate Toolbox Pages

The toolbox pages provide three categories of elements - Information, Behavior and Structure - and a page of connectors that are largely based on the UML connectors.

The appearance of elements can be modified with the use of Tagged Values, as suggested below:

  • For Artifact, Process, Function, Interaction, Service, Event, Actor, Role, Collaboration, Interface, Component, Node and Device elements:
  • iconstyle=true shows the iconic representation of the element
  • iconstyle=false shows a rectangle with a decoration in the top corner
  • An Interface element (if iconstyle=true) can be provided, required, symmetric or assembly, and can be rotated, by setting the Tagged Values
  • A Function element (if iconstyle=true) can be rotated
  • An Actor element (if iconstyle=false) can be compound
  • Process and Function elements can be marked atomic

Because there is a large range of ArchiMate elements, you should make good use of the Quick Linker arrow to guide you in selecting appropriate source and target elements and relationship types to model your enterprise architecture.

Disable ArchiMate

If you prefer not to use ArchiMate in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies


Eriksson-Penker Extensions [Enterprise Architect User Guide]

Eriksson-Penker Extensions

Eriksson-Penker extensions (developed by H. E. Eriksson and M.Penker) provide a framework for UML business processing model extensions, to which an enterprise architect can add stereotypes and properties appropriate to their business.

Access: From the Toolbox select: More Tools | Eriksson-Penker Extensions

Topics:

Images

Topic

Detail

See also

Eriksson-Penker in Enterprise Architect

Enterprise Architect provides - through the integration of MDG Technologies with the installer - two well-respected and proven UML extensions that further enhance the capture of business activities, processes, objects and information flows. One of these is Business Process Modeling Notation (BPMN). The other is the Eriksson-Penker profile which, through a set of stereotypes, provides a unique and powerful means of visualizing and communicating business processes and the necessary flow of information within an organization.

The Eriksson-Penker extensions are provided in the form of:

  • An Eriksson-Penker diagram type, accessed through the New Diagram dialog
  • An Eriksson-Penker page in the Toolbox
  • Eriksson-Penker element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

Business Process Modeling Notation

New Diagram

Toolbox Shortcut

Quick Linker

EPToolbox

Eriksson-Penker Toolbox Page

Please see image to the left .

Example:

The following is an example of a simple Eriksson-Penker diagram:

Learn More:

  • The Business Process Model (Online Resource)


Geodatabase Design for ArcGIS [Enterprise Architect User Guide]

Geodatabase Design for ArcGIS

*Beta Implementation*

This is a BETA release of the ArcGIS profile and associated tools. As such it is supplied without warranty of any kind and is subject to change without notice during this Beta period. Sparx Systems welcomes any feedback, issues, suggestions and comments on this implementation. As with all Beta software, please take due care when using the ArcGIS profile in a production environment.

ArcGIS, developed by Esri, is a system that supports the development and management of geodatabases. As for other databases, it is useful to model the design of a geodatabase using a standard notation such as UML.

The ArcGIS Toolset supports:

  • Geodatabase design for the ArcGIS platform
  • Import and export of ArcGIS workspaces

Enterprise Architect's UML profile for ArcGIS is part of the built-in MDG Technology for ArcGIS.

Notice of Acknowledgement:

Support for modeling ArcGIS databases in Enterprise Architect was developed in collaboration with the Commonwealth Scientific and Industrial Research Organisation (CSIRO), who defined mappings between UML 2 and ArcGIS concepts, and prototyped an automated import and export capability for ArcGIS geodatabase schemas represented in UML.

Once you have modeled an ArcGIS schema in Enterprise Architect, you can export the model to ArcGIS as an XML Workspace document

You can also visualize an existing ArcGIS geodatabase schema, by importing the ArcGIS XML Workspace document into Enterprise Architect.

The MDG Technology for ArcGIS is currently released as a Beta implementation.

Learn more:

  • ArcGIS UML Profile
  • Export ArcGIS XML Workspace
  • Import ArcGIS XML Workspace


ArcGIS UML Profile [Enterprise Architect User Guide]

ArcGIS UML Profile

Enterprise Architect's UML profile for ArcGIS is part of the built-in MDG Technology for ArcGIS.

Access: Diagram Toolbox: More Tools | ArcGIS

Topics:

Topic

Detail

See also

Profile Support

The built-in MDG Technology for ArcGIS provides:

  • ArcGIS Toolbox pages that map ArcGIS concepts to appropriately stereotyped UML elements
  • A Model Pattern that helps you to start designing geodatabases quickly and to use the required package structure in Enterprise Architect
  • Datatypes that are specific to the ArcGIS platform
  • Quick-linker capabilities that help you connect elements in a valid way.

New Diagram

Toolbox Shortcut

Quick Linker

ArcGIS Toolbox Pages

The ArcGIS Toolbox contains three pages:

  • Core - for elements
  • Relationships - for connectors
  • Supported Types - for Attributes and elements

ArcGIS Toolbox Pages

Diagram Toolbox

Disable ArcGIS

If you prefer not to use ArcGIS in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies)

MDG Technologies


ArcGIS Toolbox Pages [Enterprise Architect User Guide]

ArcGIS Toolbox Pages

This topic is under construction

The ArcGIS Toolbox pages provide elements and connectors that enable you to model ArcGIS geodatabase concepts and relationships.

Diagram Toolbox Icons:

Toolbox Icon

Description

Elements

ArcGIS Workspace

The geodatabase workspace package, which holds all the ArcGIS modeling elements

Export the contents of this package to produce the Geodatabase XML Workspace Document, which can be imported to ESRI ArcCatalog

Feature Dataset

A stereotyped package that holds or organizes the Point, Polyline, Polygon, Multipatch or Dimension Classes with the same spatial reference

The Feature Dataset is only created under the ArcGIS Workspace package; it can not be created under another Feature Dataset package

Raster Dataset

A stereotyped package that holds or organizes the raster data (as Raster Band elements; see below)

Coded Value Domain

An extended UML Class, representing a set of valid values that might apply to any type of attribute

Range Domain

An extended UML Class, representing a valid range of numeric values that might apply to a numeric type of attribute

Point

An extended UML Class, representing the ArcGIS Point

Polyline

An extended UML Class, representing the ArcGIS Polyline

Polygon

An extended UML Class, representing the ArcGIS Polygon

Multipatch

An extended UML Class, representing the ArcGIS Multipatch

Dimension

An extended UML Class, representing the ArcGIS Dimension

Object Class

An extended UML Class, representing a collection of nonspatial data of the same type or Class

Raster Band

An extended UML Class, representing one layer of a matrix of cell values

Every Raster Dataset contains one or more Raster Bands

Raster Catalog

An extended UML Class, representing a collection of Raster Datasets in the geodatabase

SubType Class

An extended UML Class, holding a subset of the attributes of an element in the Feature Dataset

Relationships

Subtype

An extended UML Association, providing the relationship between a Feature Class element and a SubType Class element

RelationshipClass

An extended UML Association, providing the relationship between:

  • Two elements in the Feature Dataset, or
  • An element in the Feature Dataset and an Object Class element

RelationshipClass

An extended UML Association Class, providing the attributed relationship between:

  • Two elements in the Feature Dataset, or
  • An element in the Feature Dataset and an Object Class element

Supported Types

Field

An extended UML attribute that represents an ArcGIS field of the geodatabase, in a table or feature class

SubType Field

An extended UML Attribute that represents the subtype field of an ArcGIS table or feature class

DomainCodedValue

An extended UML Attribute that specifies the value of an ArcGIS Coded Value Domain

Index

An extended UML Class, representing the ArcGIS Index

Raster StorageDef

An extended UML Class, representing the storage properties for a Raster value in the geodatabase. This information is needed when Raster Dataset element is created.


Export ArcGIS XML Workspace [Enterprise Architect User Guide]

Export ArcGIS XML Workspace

You can export your modeled Geodatabase XML Workspace Document, which can be imported to ESRI ArcCatalog. To export an ArcGIS Workspace, use the Publish Model Package facility.

Access: Click on a package in Project Browser, then:

Add-Ins | ArcGIS | Export to ArcGIS Workspace XML

Project | Model Publisher

Project | Model Import/Export | Export Package to XMI File: Publish
Right-click | Import/Export | Export Package to XMI: Publish

Use to:

  • Export your modeled Geodatabase XML Workspace Document

Reference:

On the Publish Model Package dialog:

Field/Option/Button | Usage | See also
Root Package | Displays the name of the selected ArcGIS Workspace package |
Filename | Type in or browse for the file path into which the XML file is to be generated |
XML Type | Select ArcGIS as the XML/XMI version to export the package to |
Format XML Output | Format the output into readable XML (this takes a few more seconds at the end of the run) |
Write Log File | Write a log of the export activity (recommended) The log file is saved to the directory into which the XML file is exported |
View XML | View the exported XML file |
Export | Initiate XML export |
Close | Close this dialog |
Progress | Indicates the progress of the XML export |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Export XMI permission to export to XML

Learn More:

  • Publish Model Package
  • List of Available Permissions
  • Import ArcGIS XML Workspace


Import ArcGIS XML Workspace [Enterprise Architect User Guide]

Import ArcGIS XML Workspace

Enterprise Architect can import a Geodatabase XML Workspace Document from the Esri ArcCatalog.

Access: Click on the target package in the Project Browser, then select one of the following:

Add-Ins | ArcGIS | Import ArcGIS Workspace XML

Project | Model Import/Export | Import Package From XMI File: Other XML File Formats | ArcGIS
Right-click | Import/Export | Import Package From XMI File: Other XML File Formats | ArcGIS

Use to:

  • Import a Geodatabase XML Workspace document into an Enterprise Architect ArcGIS model

Reference:

On the Import Package from ArcGIS XML dialog:

Field/Option/Button | Action | See also
Filename | Type in or browse for the name of the ArcGIS XML file to import |
Create Diagrams | Select the checkbox to create Class diagrams under the imported packages |
Strip GUIDs | The Strip GUIDs feature is currently mandatory for ArcGIS imports,which means that elements will be created 'as new' each time an ArcGIS schema is imported |
Write Log File | Select to write a log of import activity (recommended) The log file is saved in the directory from which the file is being imported, with the same name as the imported file plus the suffix _import.log |
View XML | Click to view the XML before import |
Import | Click to import the ArcGIS XML file |
Close | Click to close this dialog |
Help | Click to display this Help page |
Import Progress | Indicates the progress of the import |

Learn more:

  • ArcGIS Support in Enterprise Architect
  • ArcGIS UML Profile
  • Export ArcGIS XML Workspace


Data Models [Enterprise Architect User Guide]

Data Models

Data Modelers and Information Architects are challenged with creating data models that span multiple levels of abstraction - from concept to physical implementation. They might also be responsible for maintaining traceability between these models. Enterprise Architect helps to meet these challenges with easy-to-use tools for building and maintaining all of the fundamental data models: Conceptual, Logical and Physical data models.

Topics:

Topic

Detail

See also

Conceptual Data Models

Conceptual data models, also called Domain models, establish the basic concepts and semantics of a given domain and help to communicate these to a wide audience of stakeholders

Conceptual models also serve as a common vocabulary during the analysis stages of a project; they can be created in Enterprise Architect using Entity-Relationship or UML Class models

Logical Data Models

Logical data models add further detail to conceptual model elements and refine the structure of the domain; they can be defined using UML Class models

One benefit of a Logical data model is that it provides a foundation on which to base the Physical model and subsequent database implementation

Physical Data Models

Physical data models in Enterprise Architect help you visualize your database structure and automatically derive the corresponding database schema; you use Enterprise Architect's UML Profile for Data Modeling specifically for this purpose

The profile provides useful extensions of the UML standard that map database concepts of tables and relationships onto the UML concepts of Classes and Associations; you can also model database keys, triggers, constraints, referential integrity and other relational database features

Because Enterprise Architect lets you visualize each type of data model in the same repository, you can easily manage dependencies between each level of abstraction; this helps you maximize traceability and verify completeness of system implementation

Learn more:

  • Conceptual data modeling
  • Logical data modeling
  • Physical data modeling


Table [Enterprise Architect User Guide]

Table

Description:

A Table is a stereotyped Class. It is drawn with a small table icon in the upper right corner. You typically use this element in Data Modeling diagrams.

A Table element has a special Properties dialog, with settings for database type and the ability to set column information and data-related operations such as triggers and indexes. When setting up a Table, make sure you set the default database type for that Table, otherwise you do not have any data types to choose from when creating columns.

Toolbox Icon:

Learn More:

  • Data Modeling Diagram
  • Set the Default Database Type


Database Schema [Enterprise Architect User Guide]

Data Modeling Diagram

The following diagram shows an example Database Schema represented by a Physical Data Model.

Example Data Model Diagram

Learn More:

  • Physical Data Model
  • Data Modeling Toolbox


Conceptual Data Model [Enterprise Architect User Guide]

Conceptual Data Model

A Conceptual data model is the most abstract form of data model. It is helpful for communicating ideas to a wide range of stakeholders because of its simplicity. Therefore platform-specific information, such as data types, are omitted from a Conceptual data model. Other implementation details, such as procedures and interface definitions, are also excluded. Below is an example of a Conceptual data model that is rendered using two of the notations supported by Enterprise Architect.

Using Entity-Relationship (ER) notation, we represent the data concepts "Sales Person" and "Customer" as Entities with a 1-many relationship between them.

Topics:

Topic

Detail

See also

Example
A Conceptual data model that uses Entity-Relationship notation

A Conceptual data model that uses Entity-Relationship notation

We can represent the exactly the same semantic information using UML Classes and Associations

Whether you use UML or ER notation to represent data concepts in your project depends on the experience and preferences of the stakeholders involved

An equivalent model using UML Class notation

An equivalent model using UML Class notation

The detailed structure of the data concepts illustrated above is defined later by the Logical data model

Learn more:

  • Logical data models
  • Entity Relationship modeling
  • UML Class modeling


Logical Data Model [Enterprise Architect User Guide]

Logical Data Model

Logical data models help to define the detailed structure of the data elements in a system and the relationships between data elements. They refine the data elements introduced by a Conceptual data model and form the basis of the Physical data model. In Enterprise Architect, a Logical data model is typically represented using the UML Class notation.

Topics:

Topic

Detail

See also

Example

A simple example of a Logical data model is provided below

Note that the data elements "Sales Person" and "Customer" contain UML Attributes; the Attribute types, however, remain platform-independent

A Logical data model defined using UML Class notation

A Logical data model defined using UML Class notation

Platform-specific Attribute types and other meta-data that relate to a specific DBMS implementation are defined by the Physical data model

Learn more:

  • Physical data models
  • UML Class modeling


User Interface Models [Enterprise Architect User Guide]

User Interface Models

User Interface Diagrams are customized UML diagrams used to visually mock-up a system's user interface using forms, controls and labels.

Example Diagram: Example User Interface Diagram

Tools:

Select User Interface diagram elements and connectors from the User Interface pages of the Toolbox.

User Interface Diagram Elements | User Interface Diagram Connectors

Notes:

  • The Enterprise Architect Professional, Corporate and Suite editions also include the MDG Win32 UI Technology, which enables you to design user interface components that render more precisely as Win32® User Interface elements

Learn More:

  • Win32 UI Technology


Screen [Enterprise Architect User Guide]

Screen

Description

A Screen is used to prototype User Interface screen flow. By using UML features such as requirements, constraints and scenarios against User Interface diagram elements, you can build up a solid and detailed understanding of user interface behavior without having to use code. This becomes an excellent means of establishing the precise behavior the system has from a user perspective, and in conjunction with the Use Case model, defines exactly how a user gets work done.

Web pages can also be prototyped and specified rigorously using Enterprise Architect's custom interface extensions.

Example

The example diagram below illustrates some features of Enterprise Architect's screen modeling extensions that support web page prototyping. By adding requirements, rules, scenarios and notes to each element, a detailed model is built up of the form or web page, without having to resort to GUI builders or HTML.

Enterprise Architect displays UI Controls as a range of special icons, depending on the stereotype used; for example, a Control stereotyped as a «list» displays with a vertical scroll bar.

Toolbox Icon

Learn More:

  • User Interface Diagram
  • UI Controls


UI Control Elements [Enterprise Architect User Guide]

UI Control Elements

Description

A UI Control element represents a user interface control element (such as an edit box). It is used for capturing the components of a screen layout and requirements in a Custom or User Interface diagram.

There are a number of UI Control elements available in the User Interface page of the Toolbox. These include:

  • List
  • Table
  • Text Box
  • Label
  • Form
  • Panel
  • Button
  • Combobox
  • Checkbox
  • Checkbox (left hand side)
  • Radio button
  • Radio button (left hand side)
  • Vertical Line
  • Horizontal Line.

Example

The icons can be combined on a Screen icon to represent the appearance of a user interface screen, as shown:

Example of a User Interface Diagram

You can also extend the available icons by selecting other stereotypes in the UI Control Element Properties dialog. The full set of available stereotypes is shown below; type or select the text in the Stereotype field to create the corresponding icon.

Toolbox Icon

(where UI Control is the name of the user interface element type)

Learn More

  • User Interface
  • Screen


Web Stereotypes [Enterprise Architect User Guide]

Web Stereotypes

Description

Enterprise Architect supports a number of stereotypes for web page modeling, the graphical elements for which display with a graphical icon instead of the usual «stereotype» format. These stereotypes are only supported for Class elements. The image below indicates the various graphical icons and their associated stereotypes.

A similar set of web modeling elements and their relationships are also available through dedicated Web Modeling pages in the Toolbox.

How To:

To set a web icon, follow the steps below:

Step | Action
1 | Create a new Class element in a diagram
2 | Display the Class Properties dialog
3 | In the Stereotype field, either type in the required stereotype name or click on the drop-down arrow and select the required stereotype (as named above)
4 | Click on the OK button The Class displays as in one of the examples above


Example User Interface Diagram [Enterprise Architect User Guide]

Example User Interface Diagram

In the example User Interface diagram below, forms, controls and labels are arranged on the diagram to describe its appearance. UI Control elements can also be traced to other model elements linking the UI with the underlying implementation.

Example of a User Interface Diagram


Win32 UI Technology [Enterprise Architect User Guide]

Win32 UI Technology

The MDG Win32 UI Technology enables you to design user interface screens that render as Win32® user interface elements.

Use To:

  • Create and maintain User Interface diagrams in the Win32® User Interface formats

Access: The Win32 UI facilities are provided in the form of:

  • A Win32 User Interface diagram type, accessed through the New Diagram dialog
  • Win32® User Interface pages in the Toolbox
  • Win32 User Interface element and relationship entries in the Toolbox Shortcut menu and Quick Linker

Win32 User Interface Toolbox Pages:

You can access the Win32 User Interface Toolbox pages through the View | Toolbox: More tools... User Interface - Win32 option.

You can also set Win32® User Interface Modeling as the active default technology to access the Toolbox pages directly.

Disable Win32 User Interface Technology:

If you prefer not to use the Win32® UI Technology in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

Notes:

  • The MDG Win32® User Interface Technology is available in the Enterprise Architect Professional, Corporate and Suite editions


Other Stereotypes [Enterprise Architect User Guide]

Other Stereotypes

There are many other UML elements that you can also work with in Enterprise Architect, most of which are basic elements extended by the use of stereotypes. This topic gives a brief introduction to some of these elements.

  • Analysis Stereotypes
  • Boundary
  • Composite Elements
  • Control
  • Entity
  • Event
  • Feature
  • Hyperlinks
  • Image
  • N-Ary Association
  • Packaging Component
  • Process
  • Requirement
  • Risk
  • Screen
  • Task
  • Test Case
  • Table
  • UI Control Elements
  • Web Stereotypes

Learn More:

  • UML Stereotypes


Boundary [Enterprise Architect User Guide]

Boundary

Description

A Boundary is a stereotyped Object that models some system boundary, typically a user interface screen. You can also create a Boundary as a stereotyped Class. See the Create a Boundary topic. Boundary elements are used in analysis to capture user interactions, screen flows and element interactions (or 'collaborations').

A Boundary is used in the conceptual phase to capture users interacting with the system at a screen level (or some other boundary interface type). It is often used in Sequence and Robustness (Analysis) diagrams. It is the View in the Model-View-Controller pattern.

Toolbox Icon

Learn More:

  • Create a Boundary
  • Analysis Stereotypes
  • Sequence Diagram
  • Communication Diagram
  • Object Diagram
  • Analysis Diagram


Create a Boundary [Enterprise Architect User Guide]

Create a Boundary

To create a Boundary element on a diagram as an Object, follow the steps below

Step | Action
1 | In the Toolbox, select the More tools | Analysis menu option.
2 | From the Analysis Elements page, drag the Boundary element onto the diagram.

To create a Boundary element as a stereotyped Class, using the Class Properties dialog, follow the steps below

Step | Action
1 | Insert a new Class.
2 | Right-click on the element and select the Properties context menu option; the Properties dialog displays.
3 | In the Stereotype field, type the value boundary.
4 | Click on the Apply and OK buttons.
5 | Save the diagram ( Ctrl+S ).


Control [Enterprise Architect User Guide]

Control

Description

A Control is a stereotyped Object that models a controlling entity or manager. A Control organizes and schedules other activities and elements, typically in Analysis (including Robustness), Sequence and Communication diagrams. It is the controller of the Model-View-Controller pattern.

You can also create a Control as a stereotyped Class.

Toolbox Icon

Learn More:

  • Create a Control Element
  • Analysis Stereotypes
  • Sequence Diagram
  • Communication Diagram
  • Object Diagram
  • Analysis Diagram


Create a Control Element [Enterprise Architect User Guide]

Create a Control Element

How to:

To create a Control element on a diagram as an Object, follow the steps below

Step | Action
1 | In the Toolbox, select the More tools | Analysis menu option
2 | From the Analysis Elements page, drag the Control element onto the diagram

To create a Control element as a stereotyped Class, using the Class Properties dialog, follow the steps below

Step | Action
1 | Insert a new Class
2 | Right-click on the element and select the Properties context menu option The Properties dialog displays
3 | In the Stereotype field, type the value control
4 | Click on the Apply and OK buttons
5 | Save the diagram ( Ctrl+S )


Entity [Enterprise Architect User Guide]

Entity

Description

An Entity is a stereotyped Object that models a store or persistence mechanism that captures the information or knowledge in a system. It is the Model in the Model-View-Controller pattern.

You can also create an Entity as a stereotyped Class. See the Create an Entity topic.

Toolbox Icon

Learn More:

  • Create an Entity
  • Analysis Stereotypes
  • Sequence Diagram
  • Communication Diagram
  • Object Diagram
  • Analysis Diagram


Create an Entity [Enterprise Architect User Guide]

Create an Entity

To create an Entity element on a diagram as an Object, follow the steps below

Step | Action
1 | In the Toolbox, select the More tools | Analysis menu option.
2 | From the Analysis Elements page, drag the Entity element onto the diagram.

To create an Entity element as a stereotyped Class, using the Class Properties dialog, follow the steps below

Step | Action
1 | Insert a new Class.
2 | Right-click on the element and select the Properties context menu option; the Properties dialog displays.
3 | In the Stereotype field, type the value entity.
4 | Click on the Apply and OK buttons.
5 | Save the diagram ( Ctrl+S ).


Event [Enterprise Architect User Guide]

Event

Description:

Two elements are used to model Events; the:

  • Send Event which models the generation of a stimulus in the system and the passing of that stimulus to other elements, either within the system or external to the system
  • Receive Event, depicted as a rectangle with a recessed 'V' on the left side, which indicates that an event occurs in the system due to some external or internal stimulus; typically this invokes further activities and processing

Send and Receive Events can be added from the Analysis and Activity Element pages of the Toolbox.

If you should select the wrong type of event, or otherwise want to change the type, right-click on the Event and select the Advanced | Make Sender or Advanced | Make Receiver context menu option, as appropriate.

Toolbox Icon:


Hyperlinks [Enterprise Architect User Guide]

Hyperlinks

Description

You can place a Hyperlink element onto a diagram. This element is a type of text element, but one that can contain a pointer to a range of objects such as associated document files, web pages, Help, model features and even other Enterprise Architect model files. When you double-click on the element, Enterprise Architect executes the link. To add a Hyperlink element, drag the Hyperlink icon from the Common page of the Toolbox onto the diagram.

(Alternatively, click on the Hyperlink icon in the UML Elements toolbar and then click on the diagram.)

Configure the Hyperlink:

When you add the Hyperlink to the diagram, the Hyperlink Details dialog displays. If you want to display the information in a more readable layout, you can resize the dialog.

You first select the type of object to link to; click on the drop-down arrow in the Type field and select a type. The Hyperlink Details dialog then displays the appropriate fields, prompts or dialog to enable you to specify the object to link to. For example, if you intend to hyperlink to:

  • an attribute, the Set Attribute dialog displays to enable you to select that attribute
  • a file, the Action field displays to enable you to specify whether to Open the file in read only mode, or Edit the file; in either case the file is opened within Enterprise Architect if possible, or, if not possible, with the Windows default viewer/editor for the file type. For example, if you hyperlink to a .rtf file, you can view it in whichever viewer is appropriate; however, you cannot edit .rtf files in Enterprise Architect, so the file always opens in the Windows default .rtf editor.
  • a diagram, the Select a Diagram dialog displays, which enables you to select the diagram from anywhere in the project; you can filter the selection to diagrams of certain types.

In most cases you define the location of the hyperlinked object in the Address field, either by overtyping the field or by clicking on the ( ... ) (Browse) button. You can use full paths or local (path substitution) paths.

If you select EA Command as the link type, the Address field is replaced by a drop-down list of Enterprise Architect commands. You can select LocalPath and click on the ( ... ) (Browse) button to display the Local Paths dialog, which you complete as required. Subsequently, when you click on the hyperlink the Local Paths dialog immediately displays and you can apply, switch, expand or update the current path.

In the Alias field, type the text to display in the hyperlink. If you do not provide an alias, either the text defaults to the link itself, or (for certain link targets such as a matrix profile) the dialog generates a simple text instruction.

If you prefer to display only the hyperlink text, without the icon, select the Hide Icon checkbox.

Notes:

  • If required, you can create a number of empty hyperlinks to complete later; if you then double-click on an empty hyperlink, the Hyperlink Details dialog displays and you can enter the details
  • Once you have created the hyperlink, you can also edit the hyperlink text by clicking once on the field and once on the text, then right-clicking and selecting the Edit Selected context menu option
  • You can add notes to the hyperlink, which display in the Hyperlink Details dialog when you right-click on the hyperlink and select the Properties context menu option; you can format these notes using the Notes toolbar

Learn More:

  • Hyperlinks to Files
  • Hyperlinks to Scripts
  • Add Action as a Hyperlink
  • Hyperlinks between Diagrams


Hyperlinks To Files [Enterprise Architect User Guide]

Hyperlinks To Files

To create a hyperlink on a diagram to an external file, simply click on the file in a file list (such as Windows Explorer) or on your Desktop and drag it onto the diagram.

A short context menu displays with two options - Hyperlink and Artifact. Click on the Hyperlink option to create the hyperlink on the diagram.

The link is effective immediately, and you can right-click on it to add or change properties as necessary.

Files of most types - including .sql and .ddl - are opened within the appropriate Enterprise Architect code editor.

Learn More:

  • Hyperlinks


Script Hyperlinks [Enterprise Architect User Guide]

Script Hyperlinks

You can create a hyperlink on a diagram to execute a script. Simply drag the required script from the Execution Analyzer window onto the diagram. A context menu displays, from which you select whether the script to be executed is a Build, Test, Run, Debug or Deploy script. The hyperlink is effective immediately; when you click on it, the script executes.


Add Action As Hyperlink [Enterprise Architect User Guide]

Add Action As Hyperlink

To create an Action element to represent a wide range of behaviors and actions, including a hyperlink, follow the steps below

Step | Action
1 | Drag an Action element from the Activity page of the Toolbox onto the diagram A context menu immediately displays
2 | Select the Other menu option The New Action dialog displays, with the Other radio button selected
3 | Click on the drop down arrow on the field in the Select Kind panel, and click on the Hyperlink option
4 | Click on the OK button The Hyperlink Action element displays on the diagram
5 | Right click on the element and select the Advanced | Set Hyperlink menu option The Hyperlink Details dialog displays
6 | Set the hyperlink's properties


Hyperlinks Between Diagrams [Enterprise Architect User Guide]

Hyperlinks Between Diagrams

To create a hyperlink between diagrams, follow the steps below

Step | Action
1 | Open the diagram in which to display the hyperlink to another diagram From the Project Browser select the diagram you want to create a hyperlink to HyperlinkProjView
2 | Drag the diagram on to the current diagram The Select Type dialog displays
3 | Select the Hyperlink option and click on the OK button The final hyperlinked diagram should resemble the diagram below, where the Class diagram is the diagram to which the Product Order diagram hyperlinks (notice that the hyperlink icon is different)

Example

Notes:

  • If the hyperlink appears as a Sub Activity, select the Tools | Options | Diagram | Behavior menu option and deselect the Use Automatic SubActivities checkbox


Image [Enterprise Architect User Guide]

Image

Description:

An Image is a System Boundary element that automatically displays first the Boundary Properties dialog and then the Select Alternate Image dialog to change its representation to an imported image. You can use it as an icon for an element or group of elements, or as a diagram background.

Image elements are available from the Common page of the Toolbox.

Toolbox Icon:

Learn More:

  • System Boundary


N-Ary Association [Enterprise Architect User Guide]

N-Ary Association

Description

An n-Ary Association element is used to model complex relationships between three or more elements, typically in a Class diagram. It is not a commonly-employed device, but can be used to good effect where there is a dependant relationship between several elements. It is generally used with the Association connector, but the relationships can include other types of connector.

In the example above there is a relationship between a Company, an Employee and a Salary.

Toolbox Icon

Learn More:

  • Class Diagram
  • Association


Process [Enterprise Architect User Guide]

Process

Description:

A Process is an Activity element with the stereotype process, which expresses the concept of a business process. Typically this involves inputs, outputs, work flows, goals and connections with other Processes. The Process element is typically used in Analysis diagrams.

Business processes typically range across many parts of the organization and span one or more systems.

Toolbox Icon:

Learn More:

  • Analysis diagram


Packaging Component [Enterprise Architect User Guide]

Packaging Component

Description

A Packaging Component is an element that appears very similar to a Component in a diagram but behaves as a Package in the Project Browser (that is, it can be version controlled and can contain other Packages and elements). It is typically used in Component diagrams.

In the Project Browser, the three elements display as shown below:

The Component element cannot contain child Packages or Packaging Components.

Toolbox Icon

Learn More:

  • Component diagrams
  • Component
  • Package


Risk [Enterprise Architect User Guide]

Risk

Description

A Risk is defined as the effect of uncertainty on objectives. In Project Management, it is necessary to try to identify risks and assess:

  • the likelihood that they have a negative effect on a project and
  • how large that effect is likely to be.

Those risks with a high probability of occurrence and/or a large impact on the project can be mitigated.

A Risk Management process might consist of the following five steps:

  1. Identify risks and represent each with a Risk element.
  2. Identify which elements (e.g. Components, Use Cases, Features) are vulnerable to each risk. You might decide to create «trace» dependencies from these elements to the Risk elements.
  3. Assess the likelihood and magnitude of the risks.
  4. Identify ways to mitigate the risks.
  5. Prioritize the risk reduction measures based on their likelihood, magnitude and ease of mitigation.

Risk elements are not the same as the risks that you assign to an element through the Project Management window. Such risks are internal to the selected element, whilst a Risk element can be associated with a number of elements, either in a logical group or totally separate.

Risk elements are available from the Requirements page of the Toolbox.

Notes:

  • Risk elements can be displayed with or without an identifying R in the top right corner of the element; to toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page.

Toolbox Icon


Task [Enterprise Architect User Guide]

Task

Description:

A Task element represents a task that must be performed in relation to an element. The Task element enables you to assign resources to the task itself, rather than just to the parent element.

You can create a hierarchy or tree structure of Task elements to break a large task into separate parts and assign different resources to each part.

Toolbox Icon:

Learn More:

  • Resource Management
  • Relationship Matrix


Test Case [Enterprise Architect User Guide]

Test Case

Description:

A Test Case is a stereotyped Use Case element. You might use it to extend the facilities of the Testing window, by applying element properties and capabilities to the tests of a feature represented by another element or - more appropriately - set of elements. That is, you can define in one go - in the Testing window for the Test Case element - the details of the tests that apply to each of several elements, instead of recording the details separately in each element.

Within the Test Case element properties you can define test requirements and constraints, and associate the test with test files. You can also link the element to Document Artifacts or (in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions) directly to linked documents, such as a Test Plan.

The Test Case element enables you to give greater visibility to tests, in the Project Browser, Diagram List, Package Browser, Model Search, Relationship Matrix, Traceability window and reports.

The Test Case element is available through the Use Case and Maintenance pages of the Toolbox.

Toolbox Icon:

Learn More:

  • The Testing Workspace


Model Transformation [Enterprise Architect User Guide]

Model Transformation

Model Driven Architecture (MDA) Transformations provide a fully configurable way of converting model elements and model fragments from one domain to another. This typically involves converting Platform-Independent Model (PIM) elements to Platform-Specific Model (PSM) elements. A single element from the PIM can be responsible for creating multiple PSM elements across multiple domains.

Topics:

Topic

Detail

See also

Overview

Transformations are a huge productivity boost, and reduce the necessity of manually implementing stock Classes and elements for a particular implementation domain; for example, database tables generated from persistent PIM Classes

Enterprise Architect includes a number of basic built-in Transformations (see Included Transformations, below); Sparx Systems intend to make further Transformations available over time, either as built in Transformations or as downloadable modules from the Sparx Systems website

For a further productivity boost, Enterprise Architect can automatically generate code for your transformed Classes that target code languages; see the Generate Code on result option on the Model Transformation dialog

A Transformation is defined using Enterprise Architect's simple code generation template language, and involves no more than writing a template to create a simple intermediary source file; Enterprise Architect reads the source file and binds that to the new PSM

Transform Elements

Transformation Dependencies

Enterprise Architect also creates internal bindings (Transformation Dependencies) between each PSM created and the original PIM

This is essential, as it enables you to forward synchronize from the PIM to the PSM many times, adding or deleting features as you go; for example, adding a new attribute to a PIM Class can be forward synchronized to a new column in the Data Model

You can observe the Transformation Dependencies for a package using the Traceability window; this enables you to check the impact of changes to a PIM element on the corresponding elements in each generated PSM, or to verify where a change required in a PSM should be initiated in the PIM (and also to reflect back in other PSMs)

The Transformation Dependencies are a valuable tool in managing the traceability of your models

Enterprise Architect does not delete or overwrite any element features that were not originally generated by the transform; therefore, you can add new methods to your elements, and Enterprise Architect does not act on them during the forward generation process

Traceability

Included Transformations

Transformations that are currently built-in include:

  • C# - Converts a PIM to a standard C# implementation set
  • Data Model to ERD - Transforms a Data Model to an Entity Relationship Diagram (ERD)
  • DDL - Transforms platform-independent Class elements to platform-specific table elements
  • EJB Entity - Transforms platform-independent Class elements to packages containing the Class and Interface elements that comprise an EJB Entity Bean
  • EJB Session - Transforms platform-independent Class elements to packages containing the Class and Interface elements that comprise an EJB Session Bean
  • ERD to Data Model - Transforms an Entity Relationship Diagram into a Data Model
  • Java - Transforms platform-independent elements to Java language elements
  • JUnit - Converts a Java model to a model where test methods are created for each public method of any original Class
  • NUnit - Converts a .Net language specific model to a model where test methods are created for each public method of any original Class
  • WSDL - Converts a simple representation of a WSDL interface into the elements required to generate that interface
  • XSD - Transforms platform-independent elements to XSD elements

Example:

The following diagram highlights how Transformations work and how they can significantly boost your productivity:

Notes:

  • If you are using the Corporate, Business and Software Engineering, System Engineering or Ultimate edition, if security is enabled you must have Transform Package access permission to perform an MDA Transform on a package

Learn More:

  • Permission List
  • Transform Elements
  • Import Transformations
  • Transformation Templates
  • Built-in Transformations
  • Write Transformations
  • Chaining Transformations


Transform Elements [Enterprise Architect User Guide]

Transform Elements

There are two modes for initiating a Model Transformation, each of which can be started in two ways.

Access:

To transform selected elements on a diagram: Tools | Model Transformation (MDA) | Transform Selected Elements
Class context menu | Transform (Ctrl + H)

To transform elements in the package currently selected in the Project Browser:

Tools | Model Transformation (MDA) | Transform Current Package
Project Browser package context menu | Transform Current Package

Use To:

  • Transform elements
  • Transform packages

Reference:

Field

Usage

See also

Elements

Indicates the individual elements to be included in the transformation

All

Indicates all of the elements from the list to be included in the transformation

None

Deselects all of the elements from the list

Include child packages

Specifies inclusion of elements in child packages of the selected package

Transformations

Indicates which transformations to perform and the package each of them should be transformed to (use the ( ... ) button to select the package in which the transformed elements are being created)

Generate Code on result

Specify whether or not to automatically generate code for transformed Classes that target code languages

Automatically generating code helps boost productivity in development

With this option selected, the first time you transform to the selected Class Enterprise Architect enables you to select a filename to generate to; subsequent transformations automatically generate any Class with a filename set

Perform Transformations on result

Specify if transformations previously done on target Classes should be automatically executed

Chaining Transformations

Intermediary File

Specify the filename of the intermediary file (if any)

Write Always

Write the intermediary file to disk

Write Now

Generate the intermediary file but do not perform the transform

Do Transform

Execute the transform command

Notes:

  • When the dialog displays, all elements are selected and all transformations previously performed from any of these Classes are checked


Chaining Transformations [Enterprise Architect User Guide]

Chaining Transformations

Chaining transformations provide an extra degree of flexibility and power to transformations.

Topics:

Topic | Detail | See also
Example | Two transformations have a common element; you might separate this element out into its own transformation, and then perform the original transformations from the common point The separated transform could even produce a useful model itself |
Setting | Enterprise Architect provides for chaining transformations, by enabling you to set transformations that have already been performed on target Classes to be performed automatically next time that Class is transformed to To do this, select the Perform Transformations on result checkbox in the Model Transformation dialog |


Built-in Transformations [Enterprise Architect User Guide]

Built-in Transformations

Enterprise Architect provides a number of built-in transformations. These transformations are intended to be useful to as many users as possible, acting as a good base to modify to include the specifics of your custom domain, and to be good examples of how to write transformations.

The following transformations are included in Enterprise Architect:

Transformations | Detail | See also
C# | Converts Platform-Independent Model (PIM) elements to language-specific C# Class elements | C# Transformation
Data Definition Language | Creates a data model from the logical model, generating a model targeted at the default database type that is ready for DDL generation | DDL Transformation
Entity Relationship Diagram to Data Model | Creates a data model from the ERD logical model, generating a model targeted at the default database type ready for DDL generation | ERD To Data Model Transformation
Data Model to Entity Relationship Diagram | A reverse of the ERD to Data Model transformation | Data Model To ERD Transformation
EJB Session Bean | Generates a single Class elements to EJB session | EJB Transformations
EJB Entity Bean | Generates a single Class elements to EJB entity | EJB Transformations
Java | Converts Platform-Independent Model (PIM) elements to language-specific Java Class elements | Java Transformation
JUnit | Creates a Class with test methods for all public methods of an existing Java Class | JUnit Transformation
NUnit | Creates a Class with test methods for all public methods of an existing .Net compatible Class | NUnit Transformation
WSDL | Creates an expanded model of a WSDL interface from a simple model, which is suitable for generation | WSDL Transformation
XSD | Converts Platform-Independent Model (PIM) elements to UML Profile for XML elements as an intermediary step to creating an XML Schema | XSD Transformation


C# Transformation [Enterprise Architect User Guide]

C# Transformation

The C# transformation converts Platform-Independent Model (PIM) elements to language-specific C# Class elements.

The transformation converts PIM model types to C# types and creates encapsulation according to Enterprise Architect's options for creating properties from C# attributes, which you set on the C# Specifications page of the Options dialog.

Example:

The Platform-Independent Model (PIM):

After transformation, becomes the PSM:

Learn More:

  • C# Options Page


Data Model To ERD Transformation [Enterprise Architect User Guide]

Data Model To ERD Transformation

The Data Model to ERD transformation is a reverse engineering of the ERD to Data Model transformation.

The transformation uses and demonstrates support in the intermediary language for the following database-specific concepts:

Reference:

Concept | Definition | See also
Entity | Mapped one-to-one onto table elements. |
Attribute | Mapped one-to-one onto columns. |
Primary Key | Comes from the PrimaryKey type of column. |

Notes:

  • Sometimes you might want to limit the stretch of the diamond-shape Relationship connectors. Simply pick a Relationship connector, right-click to display the context menu, and select the Bend Line at Cursor option

Learn More:

  • ERD to Data Model Transformation


DDL Transformation [Enterprise Architect User Guide]

DDL Transformation

The purpose of the DDL transformation is to create a data model from the logical model, generating a model targeted at the default database type that is ready for DDL generation. The data model can then be used to automatically generate DDL statements to run in one of the Enterprise Architect supported database products.

The DDL Transformation uses and demonstrates support in the intermediary language for the following database-specific concepts:

Reference:

Concept | Definition | See also
Table | Mapped one-to-one onto Class elements. |
Column | Mapped one-to-one onto attributes. |
Primary Key | Lists all the columns involved; this ensures that they exist in the Class and creates a primary key method for them. |
Foreign Key | This is a special sort of connector. The Source and Target sections list all of the columns involved; this ensures that they exist and that a matching primary key exists in the destination Class, and that the transformation creates the appropriate foreign key. |

Example:

The following two diagrams show a typical PIM to Data Model Transformation.

The Platform-Independent Model (PIM):

After transformation becomes the PSM:

Generalizations are handled by providing the child element with a foreign key to the parent element, as in the following diagram. Copy-down inheritance is not supported.

Learn More:

  • Intermediary Language


EJB Transformations [Enterprise Architect User Guide]

EJB Transformations

The purpose of the EJB Session Bean transformation and the EJB Entity Bean transformation is to reduce the work required in generating the internals of Enterprise Java Beans, thus enabling you to concentrate on modeling at a higher level of abstraction.

Topics:

Topic

Detail

See also

EJB Session Bean transformation

The EJB Session Bean transformation generates the following from a single Class element containing the attributes, operations and references required for code generation by the javax.ejb.* package:

  • An implementation Class element
  • A home interface element
  • A remote interface element

EJB Entity Bean transformation

The EJB Entity Bean transformation generates the following from a single Class element containing the attributes, operations and references required for code generation by the javax.ejb.* package:

  • An implementation Class element
  • A home interface element
  • A remote interface element
  • A primary key element

Both transformations also generate a META-INF package containing a deployment descriptor element.

Example:

The Platform-Independent Model (PIM):

After transformation generates a set of Entity Beans, where each one takes the following form (for the Account Class):


ERD To Data Model Transformation [Enterprise Architect User Guide]

ERD To Data Model Transformation

The purpose of the Entity Relationship Diagram (ERD) to Data Model transformation is to create a data model from the ERD logical model, generating a model targeted at the default database type ready for DDL generation. Before doing the transformation, make sure you have defined the common data type for each attribute and selected a database type as the default database. The data modeling diagram can then be automatically generated. This data model can be used for generating DDL statements to run in one of the Enterprise Architect supported database products.

The transformation uses and demonstrates support in the intermediary language for the following database-specific concepts:

Reference:

Concept | Definition | See also
Table | Mapped one-to-one onto Class elements. |
Column | Mapped one-to-one onto attributes. |
Primary Key | Lists all the columns involved; this ensures that they exist in the Class and creates a primary key method for them. |
Foreign Key | This is a special sort of connector. The Source and Target sections list all of the columns involved; this ensures that they exist and that a matching primary key exists in the destination Class, and that the transformation creates the appropriate foreign key. |

Generalization

Generalization can be handled in ERD technology, as illustrated by the following example. Note that the copy-down inheritance is currently supported with two levels only.

Example:

This transforms to:

Notes:

  • Sometimes you might go back to the ERD, make some changes and then want to do another transformation. To achieve better results, always delete the previous transformation package before doing the next transformation


Java Transformation [Enterprise Architect User Guide]

Java Transformation

The purpose of the Java transformation is to convert Platform-Independent Model (PIM) elements to language-specific Java Class elements. The transformation converts the PIM model types to Java types and creates encapsulation according to Enterprise Architect's options for creating properties from Java attributes; that is, producing the getters and setters according to the rules you have defined. Notice that the public attributes in the PIM are converted to private attributes in the PSM.

You set the code generation options for Java code generation on the Java Specifications page of the Options dialog.

Example:

The Platform-Independent Model (PIM):

After transformation becomes the PSM:

Learn More:

  • Java Options


JUnit Transformation [Enterprise Architect User Guide]

JUnit Transformation

The purpose of the JUnit transformation is to create a Class with test methods for all public methods of an existing Java Class. The resulting Class can then be generated and the tests filled out and run by JUnit.

Example:

The Java model originally transformed from the PIM:

After transformation becomes the PSM:

Notes:

  • Note that for each Class in the Java model, a corresponding test Class has been created. Each of these test Classes contains a test method for every public method in the source Class, plus the methods required to appropriately set up the tests. It is your responsibility to fill in the details of each test

Learn More:

  • Unit Testing


NUnit Transformation [Enterprise Architect User Guide]

NUnit Transformation

The purpose of the NUnit transformation is to create a Class with test methods for all public methods of an existing .Net compatible Class. The resulting Class can then be generated and the tests filled out and run by NUnit.

Example:

The C# model originally transformed from the PIM:

After transformation becomes the PSM:

Notes:

  • Note that for each Class in the C# model, a corresponding test Class has been created. Each of these test Classes contains a test method for every public method in the source Class, plus the methods required to appropriately set up the tests. It is your responsibility to fill in the details of each test

Learn More:

  • Unit Testing


WSDL Transformation [Enterprise Architect User Guide]

WSDL Transformation

The purpose of the WSDL transformation is to create from a simple model an expanded model of a WSDL interface that is suitable for generation.

Topics:

Topic

Detail

See also

WSDL Transformation

Take the following example interface:

This generates the corresponding WSDL component, service, port type, binding and messages as follows.

  • Classes are handled in the same way as the XSD Transformation
  • All in parameters are transformed into WSDL Message Parts in the Request message
  • The return value and all out and return parameters are transformed into WSDL Message Parts in the Response message
  • All methods where a value is returned are transformed into Request-Response operations while all methods not returning a value are transformed into OneWay operations
  • The transformation does not handle generation of Solicit-Response and Notification methods or faults

The resulting package can then have the specifics filled out using the WSDL editing capabilities of Enterprise Architect, and finally be generated using WSDL generation.

XSD Transformation

WSDL Generation

Learn More:

  • WSDL Model Structure
  • Model WSDL


XSD Transformation [Enterprise Architect User Guide]

XSD Transformation

The purpose of the XSD transformation is to convert Platform-Independent Model (PIM) elements to UML Profile for XML elements as an intermediary step to creating an XML Schema. Each selected PIM Class element is converted to an
«XSDcomplexType» element.

Example:

The Platform-Independent Model (PIM):

After transformation becomes the PSM:

Which in turn generates the following XSD:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Account" type="Account"/>

<xs:complexType name="Account">

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="billingAddress" type="xs:string"/>

<xs:element name="emailAddress" type="xs:string"/>

<xs:element name="closed" type="xs:boolean"/>

<xs:element name="deliveryAddress" type="xs:string"/>

<xs:element ref="Order"/>

<xs:element ref="ShoppingBasket"/>

</xs:sequence>

</xs:complexType>

<xs:element name="LineItem" type="LineItem"/>

<xs:complexType name="LineItem">

<xs:sequence>

<xs:element name="quantity" type="xs:integer"/>

<xs:element ref="StockItem"/>

</xs:sequence>

</xs:complexType>

<xs:element name="Order" type="Order"/>

<xs:complexType name="Order">

<xs:sequence>

<xs:element name="date" type="xs:date"/>

<xs:element name="deliveryInstructions" type="xs:string"/>

<xs:element name="orderNumber" type="xs:string"/>

<xs:element ref="LineItem"/>

<xs:element name="status" type="OrderStatus"/>

</xs:sequence>

</xs:complexType>

<xs:simpleType name="OrderStatus">

<xs:restriction base="xs:string">

<xs:enumeration value="new"/>

<xs:enumeration value="packed"/>

<xs:enumeration value="dispatched"/>

<xs:enumeration value="delivered"/>

<xs:enumeration value="closed"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="ShoppingBasket" type="ShoppingBasket"/>

<xs:complexType name="ShoppingBasket">

<xs:sequence>

<xs:element ref="LineItem"/>

</xs:sequence>

</xs:complexType>

<xs:element name="StockItem" type="StockItem"/>

<xs:complexType name="StockItem">

<xs:sequence>

<xs:element name="catalogNumber" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:element name="Transaction" type="Transaction"/>

<xs:complexType name="Transaction">

<xs:sequence>

<xs:element name="date" type="xs:date"/>

<xs:element name="orderNumber" type="xs:string"/>

<xs:element ref="Account"/>

<xs:element ref="LineItem"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Learn More:

  • For more information, see the Generate XSD topic


Transformation Templates [Enterprise Architect User Guide]

Transformation Templates

Note that the Transformation Template mechanism is based very strongly on the Code Generation Template mechanism. For further information on Transformation Templates see the Code Template Editor section and also - for information on the Common Code Editor and intellisense - the Code Editors topic.

Access: Settings | Transformation Templates

To modify Transformation templates, follow the steps below

How To:

Step | Action | See also
1 | Select the Settings | Transformation Templates menu option. The Transformation Templates Editor displays. |
2 | In the Language field, type or select the name of the transformation to modify. |
3 | Select a template from the Templates list, and edit its contents in the editor pane. |
4 | Click on the Save button. |

Reference:

Field | Usage | See also
Language | Select the name of the transformation. |
Template | Display the contents of the active template. Provide the editor for modifying templates. |
Templates | List the base transformation templates. The active template is highlighted. The Modified field indicates whether you have changed the default template for the current transformation. |
New Transformation Type | Create a new transformation. |
Stereotype Overrides | List the stereotyped templates, for the active base template. The Modified field indicates whether you have modified a default stereotyped template. |
Add New Stereotyped Override | Invoke a dialog for adding a stereotyped template, for the currently selected base template. |
Add New Custom Template | Invoke a dialog for creating a custom stereotyped template. |
Help | Launch the Enterprise Architect Help topic for this dialog. |
Get Default Template | Update the editor display with the default version of the active template. |
Save | Overwrite the active templates with the contents of the editor. |
Delete | If you have overridden the active template, delete the override and replace it with the corresponding default transformation template. |

Learn More:

  • Code Template Editor
  • Code Editors


Import Transformations [Enterprise Architect User Guide]

Import Transformations

Access: Project | Model Import/Export | Import Reference Data

Use To:

  • Transfer Transformation templates between models

To import a Transformation template, follow the steps below

How To:

Step | Action | See also
1 | Select the Project | Model Import/Export | Import Reference Data menu option. The Import Reference Data dialog displays. |
2 | Click on the Select File button and browse to a .XML file containing the required Transformation template. |
3 | Select the name of one or more template datasets and click on the Import button. |


Write Transformations [Enterprise Architect User Guide]

Write Transformations

This topic provides help in writing your own transformations. Subjects covered are:

Topic | Detail | See also
Default Transformation Templates | Enterprise Architect provides a set of default transformation templates to customize to your requirements | Default Transformation Templates
General Syntax for the Intermediary Language | Describes the grammar for the transformation | General Syntax for the Intermediary Language
Syntax for Creating Objects | Describes the syntax followed in creating objects or elements | Syntax for Creating Objects
Syntax for Creating Connectors | Describes the syntax followed in creating connectors | Syntax for Creating Connectors
Transforming Duplicate Information | Describes how information is copied during transformation | Transforming Duplicate Information
Converting Types | Describes methods for converting data types to different target platform types | Converting Types
Converting Names | Describes methods for converting names of elements to different target platform naming conventions | Converting Names
Cross References | Provides cross verification of transformed elements | Cross References
Code template Framework | Provides forward engineering of UML models | Code Template Framework
Code Editors | Provides the list of editors supported by Enterprise Architect | Code Editors

Notes:

  • Further hints and tips can be gleaned from a close study of the Transformation Templates provided with Enterprise Architect; writing transformations is very similar to writing code generation templates, so an understanding of the Code Template Framework can greatly assist in understanding transformations
  • The Transformation Template editor provides the facilities of the Common Code Editor
  • Transformation Templates are accessed from the Settings | Transformation Templates menu option


Default Transformation Templates [Enterprise Architect User Guide]

Default Transformation Templates

In most transformations, there is a lot of information that is simply copied to the target model. In order to make writing new transformations simpler, Enterprise Architect provides a default set of transformation templates. These templates perform a simple copy of the source model to the target model. This means that in order to write a new transformation you can modify the default templates to make the required changes.

Notes:

  • When creating a new transformation you must modify at least one template before the transformation becomes available


Intermediary Language [Enterprise Architect User Guide]

Intermediary Language

All transformations in Enterprise Architect work by generating an intermediary text form of the model to generate.

Topics:

Topic

Detail

See also

Usage

Any element is represented in this language by the type of element (for example, Class, Action, Method, Generalization or Tag) followed by the properties of the element and the elements that it is made from; the grammar for this resembles the following:

element:

elementName { (elementProperty | element)* }

elementProperty:

packageName

stereotype

propertyName = " propertyValueSymbol* "

packageName:

name = " propertyValueSymbol* " ( . " propertyValueSymbol* " )*

stereotype:

stereotype = " propertyValueSymbol* " (, " propertyValueSymbol* " )*

propertyValueSymbol:

\\

\"

Any character except " (U+0022), \ (U+005C)

  • elementName is any one of the set of element types
  • propertyName is any one of the set of properties

Literal strings can be included in property values by escaping a quote character; for example:

default = "\"Some string value.\""

Objects

Connectors


Objects [Enterprise Architect User Guide]

Objects

Topics:

Topic

Detail

See also

Objects

Objects are created in Enterprise Architect by generating text in the following form:

objectType

{

objectProperties

}

where:

objectType is one of the following object types:

  • Action
  • ActionPin
  • Activity
  • ActivityParameter
  • ActivityPartition
  • ActivityRegion
  • Actor
  • Association
  • Change
  • Class
  • Collaboration
  • CollaborationUse
  • Component
  • DeploymentSpecification
  • DiagramFrame
  • Decision
  • EntryPoint
  • Event
  • ExceptionHandler
  • ExecutionEnvironment
  • ExitPoint
  • ExpansionNode
  • ExpansionRegion
  • ExposedInterface
  • GUIElement
  • InteractionFragment
  • InteractionOccurrence
  • InteractionState
  • Interface
  • InterruptibleActivityRegion
  • Issue
  • Iteration
  • Object
  • ObjectNode
  • MessageEndpoint
  • Node
  • Package
  • Parameter
  • Part
  • Port
  • ProvidedInterface
  • RequiredInterface
  • Requirement
  • Sequence
  • State
  • StateMachine
  • StateNode
  • Synchronization
  • Table
  • TimeLine
  • Trigger
  • UMLDiagram
  • UseCase

objectProperties is zero, or one or more of the following properties:

  • Abstract
  • Alias
  • Arguments
  • Author
  • Cardinality
  • Classifier
  • Complexity
  • Concurrency
  • Filename
  • Header
  • Import
  • IsActive
  • IsLeaf
  • IsRoot
  • IsSpecification
  • Keyword
  • Language
  • Multiplicity
  • Name
  • Notes
  • Persistence
  • Phase
  • Scope
  • Status
  • Stereotype
  • Version
  • Visibility

and zero, or one or more of the following elements:

  • Attribute
  • Classifier
  • Parameter
  • Operation
  • Parent
  • Tag
  • XRef
  • Any object

  • Some of the above only apply to certain object types
  • Every object created in a transformation should include an XRef element, as it enables Enterprise Architect to synchronize with the element and makes it possible to create a connector to that Class in a transformation

XRef element

Classes

A simple Class can be created as follows:

Class

{

name = "Example"

}

It is then easy to add to this; the following example sets the language to C++, and adds a Tagged Value and an attribute:

Class

{

name = "Example"

language = "C++"

Tag

{

name = "defaultCollectionClass"

value = "List"

}

Attribute

{

name = "count"

type = "int"

}

}

Attributes

Attributes are created with the same structure as objects, and include the following properties:

  • Alias
  • Classifier
  • Collection
  • Container
  • Containment
  • Constant
  • Default
  • Derived
  • LowerBound
  • Name
  • Notes
  • Ordered
  • Scope
  • Static
  • Stereotype
  • Type
  • UpperBound
  • Volatile

and the following elements:

  • Classifier
  • Tag
  • XRef

Operations

Operations are created with the same structure as objects, and include the following properties:

  • Abstract
  • Alias
  • Behavior
  • Classifier
  • Code
  • Constant
  • IsQuery
  • Name
  • Notes
  • Pure
  • ReturnArray
  • Scope
  • Static
  • Stereotype
  • Type

and the following elements:

  • Classifier
  • Parameter
  • Tag
  • XRef

Parameters

Parameters are created with the same structure as objects, and include the Tag element and the following properties:

  • Classifier
  • Default
  • Fixed
  • Name
  • Notes
  • Kind
  • Stereotype

Packages

Packages differ from other objects in the following ways:

  • A reduced set of properties of alias, author, name, namespaceRoot, notes, scope, stereotype and version
  • The extra property namespaceRoot
  • Must have a name specified
  • Name can be a qualified name; when a qualified name is specified the properties given are applied only to the final package
  • Can contain other packages
  • Can't contain attributes and operations

Tables

Tables are a special sort of object, with the following differences from other object types:

  • Can include columns and primary keys
  • Cannot include attributes

Columns

Columns are similar to attributes, but have an autonumber element containing Startnum and increment, and the following added properties:

  • Length
  • NotNull
  • Precision
  • PrimaryKey
  • Scale
  • Unique

In the column definition, you cannot assign a value to the NotNull, PrimaryKey or Unique properties


Connectors [Enterprise Architect User Guide]

Connectors

Creating connectors in a transformation can be complex, but the process has the same form as creating elements. The difference is that you must also specify each end.

Topics:

Topic

Detail

See also

Connector Types

The different connectors that can be created are as follows:

  • Aggregation
  • Assembly
  • Association
  • Collaboration
  • ControlFlow
  • Connector
  • Delegate
  • Dependency
  • Deployment
  • ForeignKey
  • Generalization
  • InformationFlow
  • Instantiation
  • Interface
  • InterruptFlow
  • Manifest
  • Nesting
  • NoteLink
  • ObjectFlow
  • Package
  • Realization
  • Sequence
  • Transition
  • UseCase
  • Uses

There are two different types of Class that you can use as a connector end: one created by a transformation, and one for which you already know the GUID

Connect to a Class Created by a Transformation

The most common connection is to connect to a Class created by a transformation; to do this you must have three items of information:

  • The original Class GUID
  • The name of the transformation
  • The name of the transformed Class

This type of connector is created using the TRANSFORM_REFERENCE function macro; when the element is in the current transformation, it can be safely omitted from the transformation

The simplest example of this is when you have created multiple Classes from a single Class in a transformation and want a connector between them; consider this example from the EJB Entity transformation:

Dependency

{

%TRANSFORM_REFERENCE("EJBRealizeHome",classGUID)%

stereotype="EJBRealizeHome"

Source

{

%TRANSFORM_REFERENCE("EJBEntityBean",classGUID)%

}

Target

{

%TRANSFORM_REFERENCE("EJBHomeInterface",classGUID)%

}

}

There are three uses of the TRANSFORM_REFERENCE macro: one to identify this connector for synchronization purposes and the other two to identify the ends; all three use the same source GUID, because they all come from the one original Class

None of the three have to specify the transformation because the two references are referencing something in the current transformation - each of them then only has to identify the transform name

Of course, it is also possible to create a connector from another connector

You can create a connector template and list over all connectors connected to a Class from the Class level templates; you don't have to worry about only generating it once, because if you have created a TRANSFORM_REFERENCE for the connector then Enterprise Architect automatically synchronizes them

The following copies the source connector:

%connectorType%

{

%TRANSFORM_CURRENT()%

%TRANSFORM_REFERENCE("Connector",connectorGUID)%

Source

{

%TRANSFORM_REFERENCE("Class",connectorSourceGUID)%

%TRANSFORM_CURRENT("Source")%

}

Target

{

%TRANSFORM_REFERENCE("Class",connectorDestGUID)%

%TRANSFORM_CURRENT("Target")%

}

}

Cross References

Connecting to a Class for which you know the GUID

The second type of Class that you can use as a connector end is one for which you know the current GUID

To do this, specify the GUID of the target Class in either the source or target end; the following example creates a dependency from a Class created in a transformation, to the Class it was transformed from:

Dependency

{

%TRANSFORM_REFERENCE("SourceDependency",classGUID)%

stereotype="transformedFrom"

Source

{

%TRANSFORM_REFERENCE("Class",classGUID)%

}

Target

{

GUID=%qt%%classGUID%%qt%

}

}

Notes:

  • ForeignKey is a special case where not just a connector is created - you must also list the columns involved in the transformation; in addition, tags specified on the connector are actually created on the foreign key operation in the source Class, and a cascade property can be added - for example, cascade="update","delete"
  • Also, the nullable property of the foreign key is set to true if either end has a multiplicity that includes zero; this can be overridden by setting nullable="1" or nullable="0" in the source section of the foreign key
  • Each connector is transformed at both end objects, therefore the connector might appear twice in the transformation; this is nothing to be concerned about, but you should check carefully that the connector is generated exactly the same way, regardless of which end is on the current Class


Copy Information [Enterprise Architect User Guide]

Copy Information

In many transformations there is a substantial amount of information to be copied.

It would be tedious to type all of the common information into a template so that it is copied to the transformed Class; the alternative is to use the TRANSFORM_CURRENT and TRANSFORM_TAGS function macros.

Reference:

Topic

Detail

See also

TRANSFORM_CURRENT

TRANSFORM_CURRENT(<listOfExcludedItems>)

The function generates an exact copy of all the properties of the current item, except for the items named in <listOfExcludedItems>

Another form of the function is available when transforming connectors that enables either end of the connector to be copied:

  • TRANSFORM_CURRENT(<connectorEnd>,<listOfExcludedItems>)

This generates an exact copy of the connector end specified by <connectorEnd> except for the items named in <listOfExcludedItems>, where <connectorEnd> is either Source or Target

TRANSFORM_TAGS

TRANSFORM_TAGS(<listOfExcludedItems>)

The function generates an exact copy of all the Tagged Values of the current item, except for the items named in <listOfExcludedItems>


Convert Types [Enterprise Architect User Guide]

Convert Types

Topics:

Topic

Detail

See also

Synopsis

Different target platforms almost certainly require different data types, so you often require a method of converting between types, as offered by the following macro:

  • CONVERT_TYPE(<destinationLanguage>, <originalType>)

This function converts <originalType> to the corresponding type in <destinationLanguage>, using the datatypes and common types defined in the model, where <originalType> is assumed to be a platform independent common type

A similar macro is available when transforming common datatypes to the datatypes for a specified database:

  • CONVERT_DB_TYPE(<destinationDatabase>, <originalType>)

This function converts <originalType> to the corresponding datatypes in <destinationDatabase>, which is defined in the model; <originalType> refers to a platform independent common datatype


Convert Names [Enterprise Architect User Guide]

Convert Names

Different target platforms use different naming conventions. As a result you might not want to copy the names of your elements directly into the transformed models. To facilitate this requirement, Enterprise Architect's transformation templates provide a CONVERT_NAME function macro.

Another way in which you can transform a name is to remove a prefix from the original name, with the REMOVE_PREFIX macro.

Topics:

Topic

Detail

See also

CONVERT_NAME <originalName>, <originalFormat>, <targetFormat>)

This macro converts <originalName>, which is assumed to be in
<originalFormat>, to <targetFormat>.

The supported formats are:

  • Camel Case: New words start with a capital letter except for the first word, which begins with a lower case letter; for example, myVariableTable
  • Pascal Case: Same as Camel Case but the first letter of the first word is upper case; for example, MyVariableTable
  • Spaced: Words are separated by spaces; the case of letters is ignored
  • Underscored: Words are separated by underscores; the case of letters is ignored

The original format might also specify a list of delimiters to be used. For example a value of ' _' breaks words whenever either a space or underscore is found.

The target format might also use a format string that specifies the case for each word and a delimiter between them. It takes the following form:

<firstWord>(<delimiter>)<otherWords>

  • <firstWord> controls the case of the first word (see below)
  • <delimiter> is the string generated between words
  • <otherWords> applies to all words after the first word

<firstWord> and <otherWords> are both a sequence of two characters. The first character represents the case of the first letter of that word, and the second character represents the case of all subsequent letters. An upper case letter forces the output to upper case, a lower case letter forces the output to lower case, and any other character preserves the original case.

Example 1: To capitalize the first letter of each word and separate multiple words with a space:

"Ht( )Ht" to output "My Variable Table"

Example 2: To generate the equivalent of Camel Case, but reverse the roles of upper and lower case; that is, all characters are upper case except for the first character of each word after the first word:

"HT( )hT" to output "MY vARIABLE tABLE"

REMOVE_PREFIX(<originalName>, <prefixes>)

This macro removes any prefix found in <prefixes> from <originalName>. The prefixes are specified in a semi-colon separated list.

The macro is often used in conjunction with the CONVERT_NAME macro. For example, this code creates a get property name according to the options for Java.

$propertyName=%REMOVE_PREFIX(attName,genOptPropertyPrefix)%

%if genOptGenCapitalisedProperties=="T"%

$propertyName=%CONVERT_NAME($propertyName, "camel case", "pascal case")%

%endIf%

Notes:

  • Acronyms are not supported when converting from Camel Case or Pascal Case


Cross References [Enterprise Architect User Guide]

Cross References

Topics:

Topic

Detail

See also

Abstract

Cross References are an important part of transformations. They are used to:

  • Find the transformed Class to synchronize with
  • Create connectors between transformed Classes
  • Specify a classifier of a type
  • Determine where to transform to for future transformations

Each cross reference has three different parts:

  • A Namespace, corresponding to the transformation that generated the element
  • A Name, which is a unique reference to something that can be generated in the above transformation
  • A Source, which is the GUID of the element that this element was created from

When writing the templates for a transformation, it is easiest to create the cross references using the TRANSFORM_REFERENCE macro that is defined for this purpose. It has three optional parameters.

TRANSFORM_REFERENCE(<name>, <sourceGuid>, <namespace>)

Generates a reference that can be used in the ways described above. It resembles the following.

XRef{namespace="<namespace>" name="<name>" source="<sourceGuid>"

Where:

  • If <name> is not specified it gets the name of the current template
  • If <sourceGUID> is not specified it gets the GUID of the current Class
  • If <namespace> is not specified it gets the name of the current transformation

The only time that this should be specified is when creating a connector to a Class created in a different transformation.

A good example of the use of cross references is in the DDL templates provided with Enterprise Architect. In the Class template a cross reference is created with the name table. Then up to two different connectors can be created, each of which must identify the two Classes it connects using cross references while having its own unique cross reference.

DDL Transformation

Specify Classifiers

Objects, attributes, operations and parameters can all reference another element in the model as their type. When this type is created from a transformation you must use a cross reference to specify it, using the TRANSFORM_CLASSIFIER macro.

TRANSFORM_CLASSIFIER(<name>, <sourceGuid>, <namespace>)

Generates a cross reference within a classifier element, where the parameters are identical to the TRANSFORM_REFERENCE macro but the name Classifier is generated instead of XRef.

If the target classifier already exists in the model before the transformation, a TRANSFORM_CLASSIFIER is inappropriate and instead the GUID can be given directly to a classifier attribute.

If a classifier is specified for any type it overrides the type specified.


Database Engineering [Enterprise Architect User Guide]

Database Engineering

This section describes database engineering, explaining:

  • How to import database schema, and
  • How to generate DDL for the model

Learn More:

  • Import Database Schema
  • Generate DDL
  • Physical Data Model


Physical Data Model [Enterprise Architect User Guide]

Physical Data Model

The Physical data model visually represents the structure of the data as implemented by a relational database schema.

Topics:

Topic

Detail

See also

Benefit

In addition to providing a visual abstraction of the database structure, an important benefit of defining a Physical data model is that you can automatically derive the database schema from the model; this is possible due to the richness of meta-data captured by a Physical data model and its close mapping to aspects of the database schema, such as tables, columns, primary and foreign keys

Example

The following is an example of a Physical data model that could be used to automatically generate a database schema

Each table is represented by a UML Class; columns, including Primary and Foreign Keys, are modeled using UML attributes and operations

A Physical data model defined using a UML Profile and the Information Engineering notation

A Physical data model defined using a UML Profile and the Information Engineering notation

The above model is defined using Enterprise Architect's UML Profile for Data Modeling; the relationship between the tables uses the Information Engineering notation

Information Engineering is one of three notations that Enterprise Architect supports to help Data Modelers distinguish cardinality in relationships

Learn more:

  • Tables and Columns
  • Data Types
  • Primary and Foreign Keys
  • Stored Procedures
  • Indexes
  • Triggers
  • Check Constraints
  • Views
  • Supported Databases
  • Oracle Packages
  • Forward and Reverse Engineer Databases
  • Transform Abstract Models to Physical Data Models Using MDA


Tables and Columns [Enterprise Architect User Guide]

Tables and Columns

The basic structural element of a relational database is the table, which represents a set of records, or rows, that have the same structure. Each row contains one or more columns. Every individual item of data entered into a relational database is represented by a value in a column of a row in a table. Enterprise Architect's UML Profile for Data Modeling represents database tables as Classes with a stereotype of <<table>>. Columns are represented by Attributes with a stereotype of <<column>>. Tables and columns form the basis of Physical data models.

Enterprise Architect can generate simple DDL scripts to create the tables in your model. You can also perform Model Driven Architecture (MDA) Transformations to DDL - Enterprise Architect provides a template specifically for DDL transformations.

To help you map Class Attributes to Table fields, you can create connectors between specific attributes (features) in the Class element and the column Attributes in the Table element.

A simple example of a Physical data model in Enterprise Architect is shown below. The example consists of two tables represented by UML Classes, named SalesPerson and Customer. The table stereotype is denoted by the icon in the top-right corner of each Class. The tables each define three columns using UML Attributes typed appropriately for the target DBMS, which happens to be MySQL.

A simple Data model consisting of two tables, represented by UML Classes

A simple Data model consisting of two tables, represented by UML Classes

So far, Primary Key and Foreign Key information modeling is not discussed; this is considered in later topics.

Learn more:

  • Create a Table
  • Model Transformation
  • DDL Transformation
  • Connect to Element Feature
  • Create Columns
  • Primary and Foreign Keys


Create a Table [Enterprise Architect User Guide]

Create a Table

How To:

To add a Table to your data model, follow the steps below:

Step | Action | See Also
1 | Open a diagram. |
2 | Select the More tools | Data Modeling menu option on the Toolbox. |
3 | Click on the Table element in the list of elements, then click on the diagram. The Table element is displayed on the diagram. |
4 | Use the Table Properties dialog to set the table name and other properties as required. |

Learn more:

  • Set the properties of a Table


Working with Table Properties [Enterprise Architect User Guide]

Working with Table Properties

Once you have created a table, you must set its properties to define database-specific information that can be used to generate the schema in DDL.

Table properties, including the database type, for all supported DBMSs are set using the Properties dialog.

For MySQL and Oracle, some additional properties are defined using Tagged Values, such as the Table Owner and DBMS-specific options. Additional table properties for other DBMs are not yet supported.

Once the table properties are defined, you are ready to add columns.

Topics:

Topic

Link

Set the Database type for a table - other than the table name, the most important property to set for a table is the database type, which defines:

  • The list of data types that are available for defining columns, and
  • Which dialect of DDL is generated

Set the Database Type

Set the Table Owner - Some relational databases enable you to assign a table to one of several owners within the database; Enterprise Architect enables you to model this using the Owner Tagged Value, so that in the generated DDL script the table name is prefixed by the owner name

Set Table Owner/Schema

Example MySQL options - To make use of foreign keys in MySQL, you must declare the table type as InnoDB

Set MySQL Options

Example Oracle options - To set additional Oracle table properties, use the table's Tagged Values

Set Oracle Table Properties

Learn more:

  • Create Columns


Set the Database Type [Enterprise Architect User Guide]

Set the Database Type

The most important property to set for a table (after its name) is the database type. This defines the list of data types that are available for defining columns, and also declares which dialect of DDL is generated.

Access: Properties Dialog (Table element) > General page: Database

How To:

Step | Action | See Also
1 | Open the Property dialog for a Table element |
2 | Locate the Database field on the General page |
3 | Drop-down the list and select the required database type |
4 | Save changes by clicking on the Apply or OK buttons |


Set Table Owner/Schema [Enterprise Architect User Guide]

Set Table Owner/Schema

Some relational databases enable you to assign a table to one of several schemas (or owners) within the same database. Enterprise Architect enables you to model this information using the Owner Tagged Value. By setting this optional value, you can tailor the generated DDL script, causing the table name to be prefixed by its assigned owner name.

How To:

Step | Action | See Also
1 | Add a Tagged Value named Owner, to the Table element |
2 | Type the owner name for this table in the Value field of the Tagged Value Changes are automatically saved |

Notes:

  • For a PostgreSQL database, you should instead create a Tagged Value named OWNER TO with the corresponding value

Learn More:

  • How to Add a Tagged Value


Set MySQL Options [Enterprise Architect User Guide]

Set MySQL Options

To make use of foreign keys in MySQL, you must declare the table type as InnoDB.

How To:

Step | Action | See Also
1 | Add a Tagged Value named Type, to the table |
2 | Set the Value field to InnoDB |

When you generate DDL for this table, the table type is included in the SQL script.

To allow for later versions of MySQL, additional table options that can be added in the same manner include:

Tag | Value (Example)
ENGINE | InnoDB
CHARACTER SET | latin1
CHARSET | latin1
COLLATE | latin1_german2_ci

Learn More

  • How to Add a Tagged Value


Set Oracle Table Properties [Enterprise Architect User Guide]

Set Oracle Table Properties

To set additional Oracle table properties, you use the table's Tagged Values

How To:

Step | Action | See Also
1 | Add one or more Tagged Values to the table, using the names provided in the Property/Tag column of the reference table below |
2 | Specify the appropriate value for each tag Examples are provided in the Value column of the reference table below |

The same properties can be added to indexes and constraints, by highlighting the index or constraint Operation and adding the appropriate Tagged Values.

Reference:

Property/Tag | Value
BUFFER_POOL | DEFAULT
CACHE | NOCACHE
DBVERSION | 9.0.111
FREELISTS | 1
GRANT OWNER1 | SELECT
GRANT OWNER2 | DELETE, INSERT, SELECT, UPDATE
INITIAL | 65536
INITRANS | 1
LOGGING | LOGGING
MAXEXTENTS | 2147483645
MAXTRANS | 255
MINEXTENTS | 1
MONITORING | MONITORING
OWNER | OWNER1
PARALLEL | NOPARALLEL
PCTFREE | 10
PCTINCREASE | 0
PCTUSED | 0
SYNONYMS | PUBLIC:TABLE_PUB;OWNER2:TABLE_OWNER2
TABLESPACE | MY_TABLESPACE
TEMPORARY | YES

Learn More

  • How to Add a Tagged Value


Create Columns [Enterprise Architect User Guide]

Create Columns

Columns are represented in the UML Data Modeling Profile as a stereotyped attribute; that is, an attribute with the Column stereotype.

How To:

To create columns, follow the steps below:

Step

Action

See Also

1

Right-click on the required Table in a diagram, and select the Attributes context menu option

The Attributes dialog displays, showing the columns of the selected Table

2

In the Name field, type the column name

3

In the Data Type field, click on the drop-down arrow and select the data type (ensure the Table's target database is set first; this populates the Data Type drop-down list)

Click on the Save button

Set the Database Type

Oracle Data Types

4

Complete the required optional fields, listed in the reference table below

5

Click on the Column Properties button

The Database Columns Properties dialog displays

Supported column properties are identified below; it is assumed that you understand which data types these properties apply to:

Property | DBMS | Notes
Autonum | Oracle MySQL SQL Server DB2 PostgreSQL Sybase ASA Sybase ASE | If you require a sequence, select the AutoNum property, set the value to True and, if necessary, define the start number and increment
Zerofill | MySQL |
Unsigned | MySQL |
LengthType | Oracle | Character semantics

6

Click on the OK button to return to the Attributes dialog, and then click on the Save button

7

Click on the:

  • New button to define another column or
  • Close button to exit from the dialog

Reference:

Field | Description | See also
Primary Key | Indicates whether the column is the primary key for this table |
Not Null | Indicates whether empty values are forbidden for this column |
Unique | Indicates whether it is forbidden for any two values of this column to be identical The unique stereotype applied to an index ensures that no two combinations of values across a set of columns can be identical |
Initial | A value that can be used as a default value for this column, if required |
Access | Determines the column's scope (Private, Protected or Public) The default value is Public |
Alias | An alternative name for the field for display and documentation purposes |
Notes | Additional information necessary to document the column You can format the text using the Notes toolbar at the top of the field |

Notes:

  • For MySQL, before creating columns you must first add ENUM and SET datatypes

Learn more:

  • Reorder Columns
  • Data Types
  • MySQL Data Types
  • Options - Code Editors


Reorder Columns [Enterprise Architect User Guide]

Reorder Columns

You can change the order in which columns are listed in a table, to define the order in which columns appear in the generated DDL that defines your database schema.

How To:

To change the column order, follow the steps below:

Step

Action

See Also

1

In the Columns dialog, highlight a column name in the Columns panel

2

Click on the:

  • uphand button to move the column up one position
  • downhand button to move the column down one position


Data Types [Enterprise Architect User Guide]

Data Types

Each column that you define in your data model has a data type that is appropriate to the information being stored by that column. Data types vary from one DBMS product to another and also vary between versions of a given database product. Therefore Enterprise Architect provides you with tools to add new data types to your model repository and to convert data types between DBMS products.

Learn more:

  • Add New Datatype to Your Model Repository
  • Map Data Types between DBMS products


Add New Datatypes [Enterprise Architect User Guide]

Add New Datatypes

Using Enterprise Architect's Database Datatypes screen, you can add to the set of data types that are available for a particular DBMS. This enables you to include any new datatypes that are supported by later versions of the DBMS and not yet included with Enterprise Architect.

You can also add an entire DBMS product and its built-in data types. This is helpful if you want to create a physical data model for a DBMS product that is not yet supported natively by Enterprise Architect.

Access: Settings | Database Datatypes

How To:

To add a new datatype to a DBMS product, follow the steps below:

Step | Action | See Also
1 | Select the Database Datatypes menu option The Database Datatypes screen displays |
2 | In the Product Name field click on the drop-down arrow and select an existing DBMS If your DBMS is not listed, you can click the Add Product button to add it |
3 | In the Datatype field, type a name for the data type |
4 | Select the appropriate Size radio button and, if appropriate, specify the default and maximum values |
5 | In the Common Type field, click on the drop-down arrow and select a common type to which your data type applies |
6 | Click on the Save button to create your data type |

You can transport these data types between models using Enterprise Architect's Reference Data

Learn more:

  • Add MySQL Data Types
  • Customize Oracle Data Types
  • Export Data Types as Reference Data
  • Import Data Types as Reference Data


MySQL Data Types [Enterprise Architect User Guide]

MySQL Data Types

MySQL supports the ENUM and SET data types, which must be added to your Enterprise Architect model before you can use them as the types for columns.

Access: Settings | Database Datatypes

How To:

To add the ENUM and SET data types for MySQL, follow the steps below:

Step | Action | See Also
1 | Select the Database Datatypes menu option The Database Datatypes dialog displays |
2 | In the Product Name field select MySQL |
3 | Add the data types ENUM and SET |

When using these data types later in a Column's Initial field, type the values as a comma-separated list, in the format:

('one','two','three')

If one value is the default, use the format:

('one','two','three') default 'three'


Oracle Data Types [Enterprise Architect User Guide]

Oracle Data Types

The Oracle data types NUMBER and VARCHAR have additional properties that you can model.

Reference:

Data Type

Detail

See also

NUMBER

The NUMBER data type requires precision and scale properties

The Precision and Scale fields are displayed on the Attributes dialog when the data type is set to NUMBER; if you enter information into these fields, it is displayed on your diagrams

For example:

create NUMBER by setting Precision = 0 and Scale = 0
create NUMBER(8) by setting Precision = 8 and Scale = 0
create NUMBER(8,2) by setting Precision = 8 and Scale = 2

VARCHAR

Oracle VARCHAR2(15 CHAR) and VARCHAR2(50 BYTE) data types can be created by adding the Tagged Value LengthType with the value CHAR or BYTE

Learn more:

  • How to Add a Tagged Value


Map Data Types between DBMS products [Enterprise Architect User Guide]

Map Data Types between DBMS products

One of the advantages of using visual models to hide implementation details is that you can more easily change the target technology or platform when required. Enterprise Architect provides tools such as Datatype Mapping to help you do this for physical data models. For example, your project might involve migration from one DBMS platform to another.

After reverse engineering your database into a physical data model, you must remap the data types before generating the schema for the new DBMS product. Enterprise Architect provides a set of default mappings to help you automate the conversion process. However, you might want to customize the default mappings to suit your specific project requirements.

Access: Settings | Database Datatypes: Datatype Map

Use to:

  • Streamline conversion of one implementation-specific database product to another
  • Map data types from one DBMS product to another
  • Maximize portability of your database designs
  • Customize default mappings

How To:

To map data type sizes between databases, follow the steps below:

Step

Action

See Also

1

In the From Product Name field, click on the drop-down arrow and select the DBMS product to map data types from

The Defined Datatypes for Databases panel displays all the defined data types for the product and, where appropriate, their sizes and values

2

Click on the data type to map - this must have a defined size unit and value

The Datatype and Common Type fields under the From Product Name field display this data type

3

In the To Product Name field, click on the drop-down arrow and select the DBMS product to map data types to

The Datatype and Common Type fields under this field display the corresponding values to those in the fields for the 'From' product

4

In the Size panel, click on the radio button for the appropriate size unit and type the default values in the corresponding data fields

5

Click on the Save button to save the mapping.

You can repeat this process for all the data types you want to map.

Once you are satisfied with the data type mappings, you can then convert either individual tables or an entire package of tables to the new target DBMS product.


Data Type Conversion Procedure [Enterprise Architect User Guide]

Data Type Conversion Procedure

Once a database schema has been set up on an Enterprise Architect diagram (either by importing through ODBC or manually setting up the tables), the DBMS can be changed to another type and the column datatypes are mapped accordingly.

To map the DBMS type of a table to another DBMS type

How To:

Step | Action | See Also
1 | Double-click on the Table element in a diagram The Table Properties dialog displays |
2 | The Database field shows the current DBMS for this table. |
3 | To map the column datatypes to another DBMS, select the target from the Database drop-down and click on the Apply button. |
4 | The datatypes are converted to match those of the new DBMS, and these are reflected in any DDL generated from this table. |


Data Type Conversion for a Package [Enterprise Architect User Guide]

Data Type Conversion for a Package

The DBMS Package procedure or mapper enables you to convert a package of database tables from one DBMS type to another DBMS type, as well as providing the ability to change the ownership of tables.

Access: Project Browser Package Context Menu | Code Engineering | Reset DBMS Options > Manage DBMS Options

How To:

To map the DBMS types of a package to another DBMS type, follow the steps below:

Step | Action | See Also
1 | In the Current DBMS field, click on the drop-down arrow and select the current DBMS |
2 | In the New DBMS field click on the drop-down arrow and select the target DBMS |
3 | Select the Convert DBMS Type checkbox |
4 | If there are child packages that also require changing, select the Process Child Packages checkbox |
5 | Click on the OK button All tables in the selected packages are mapped to the new DBMS |

To change the owner of the table or all of the tables in a package, follow the steps below:

Step

Action

See Also

1

In the New Owner field, type the name of the new table owner

2

In the Current Owner field, click on the drop-down arrow and select either:

  • The current owner to change, or
  • <All> to change the ownership of all tables in the package to the name you typed in the New Owner field

3

Select the Change Table Owner checkbox.

4

If there are child packages that also require changing, select the Process Child Packages checkbox

5

Click on the OK button

The ownership changes for all Tables in the selected packages that have the specified current owner

Learn More:

  • Set Table Owner
  • Diagram Properties


Database Keys [Enterprise Architect User Guide]

Database Keys

Two types of key are used to access tables in a relational database: Primary Keys and Foreign Keys.

  • A Primary Key uniquely identifies a record in a table
  • A Foreign Key accesses data in some other related table via its Primary Key

Topics:

Topic

Detail

See also

General Usage

In Enterprise Architect, Primary Keys and Foreign Keys are represented by stereotyped UML attributes and operations

The following example shows a data model that includes both Primary Key and Foreign Key columns

Example
A Physical data model defined using a UML Profile that includes Primary and Foreign Keys

A Physical data model defined using a UML Profile that includes Primary and Foreign Keys

Primary Key

In each table, one of the columns is designated as the Primary Key, indicated by the PK label beside the column, and a corresponding Primary Key Operation

Foreign Keys

Foreign Keys are shown denoted by the FK labels

Association Notation

The Association that defines a Foreign Key relationship between SalesPerson and Customer uses the Information Engineering notation; this is one of three notations that Enterprise Architect supports to help Data Modelers distinguish cardinality in relationships

Enterprise Architect also supports:

  • IDEF1X notation
  • UML notation

Learn more:

  • Primary Keys
  • Foreign Keys


Primary Key [Enterprise Architect User Guide]

Primary Key

A Primary Key uniquely identifies a record in a table and can consist of one or more columns.

Topics:

Topic

Detail

See also

Types of Primary Key

In Enterprise Architect, a:

  • Simple Primary Key (single column) is defined as the attribute of a stereotyped operation
  • Complex Primary Key (several columns) is defined as the stereotyped operation itself

    For example, a column LastName might not be unique within a table, so a Primary Key is created from the LastName, FirstName and DateOfBirth columns

Learn more:

  • Create a Primary Key
  • Define a Primary Key Name Template
  • Foreign Keys


Create a Primary Key [Enterprise Architect User Guide]

Create a Primary Key

How To:

To define a simple Primary Key consisting of a single column, follow the steps below:

Step | Action | See Also
1 | Right-click on the table in a diagram and select the Attributes context menu option The Attributes dialog displays |
2 | Select the column that makes up the Primary Key |
3 | Select the Primary Key checkbox and click on the Save button A stereotyped operation is automatically created; it is this operation that defines the Primary Key for the table To remove a Primary Key, simply delete this operation |

To define a complex Primary Key, consisting of more than one column, follow the steps below:

Step | Action | See Also
1 | Follow the steps above to create a Simple Primary Key; it doesn't matter which column you choose |
2 | Right-click on the table in a diagram and select the Operations context menu option The Operations dialog displays |
3 | Select the Primary Key operation (its name begins with PK_) and then click on the Column tab |
4 | Click on the New button to add a column to the Primary Key, select a column from the Column Name list box, and then click on the Save button |
5 | Click on the Hand buttons (up and down arrow) to change the order of columns in the Primary Key, if necessary |

Learn more

  • Creating Non-Clustered Primary Keys for SQL Server


Define Primary Key Name Template [Enterprise Architect User Guide]

Define Primary Key Name Template

Enterprise Architect enables you to customize the way Primary Keys are named by default. This is helpful if you have specific modeling conventions that stipulate how Primary Keys are documented.

By changing the Primary Key Name Template, you adjust the name that Enterprise Architect assigns to the UML Operation that represents the Primary Key.

Access: Tools | Options | Source Code Engineering | Code Editors: DDL Name Templates

How To:

To define the name template for a Primary Key, follow the steps below:

Step | Action | See Also
1 | Click on the DDL Name Templates button The DDL Name Template dialog displays, showing the default name templates |
2 | Edit or replace the template in the Primary Key Name Template field For example, if you want to display the Primary Key description as PK_tablename_columnname then change the Primary Key Name Template field to PK_%tablename%_%columnname% |
3 |  |
4 | Click on the Save button |


SQL Server Non Clustered Keys [Enterprise Architect User Guide]

SQL Server Non Clustered Keys

When you create a primary key in SQL Server, it is created with a 'clustered index' by default. Therefore when you model a primary key for SQL Server in an Enterprise Architect data model, the corresponding DDL creates a clustered index for that primary key by default.

Clustered indexes provide improved performance for accessing the column(s) involved, but only one clustered index is allowed per table.

In some situations, you might be more interested in the performance of columns other than the Primary Key, and therefore must change the default assignment of the clustered index. Enterprise Architect allows you to model this.

How To:

To define a Primary Key as non-clustered for a SQL Server table, follow the steps below:

Step | Action | See Also
1 | Right-click on the table in a diagram and select the Operations context menu option The Table Operations dialog displays |
2 | Highlight the Primary Key Operation and click on the Extended Properties button The Database Operation Properties dialog displays |
3 | Select the SQL Server Non Clustered Primary Key checkbox |
4 | Click on the Save & Close button |

Subsequently, you can model an index for that table and define it as clustered instead.

Learn more

  • Indexes


Foreign Key [Enterprise Architect User Guide]

Foreign Key

A Foreign Key accesses data in some other related table via its Primary Key.

Topics:

Topic | Detail | See also
The nature of Foreign Keys | A Foreign Key consists of a collection of columns (UML Attributes) that together have some operational meaning (they enforce a relationship to the Primary Key in the other table) |
Modeling | Foreign keys are modeled in Enterprise Architect as operations with the stereotype FK The operation's parameters become the columns involved in the key |
Necessity of Use | It is not necessary to define a Foreign Key just to access another table through its Primary Key Foreign Keys are a feature of some database management systems, providing 'extras' such as referential integrity checking that prevents the deletion of a record if its Primary Key value exists in some other table's Foreign Key The same thing can be achieved programmatically |

Learn more

  • Create a Foreign Key
  • Composite Foreign Key
  • Define a Foreign Key Name Template


Create a Foreign Key [Enterprise Architect User Guide]

Create a Foreign Key

How To:

To create a Foreign Key, follow the steps below:

Step | Action | See Also
1 | Locate the required Tables in a diagram Both tables must have defined database types | Set The Database Type
2 | Select an Associate connector in the Class Relationships page of the Toolbox |
3 | Click on the Table to contain the Foreign Key (source) and draw the connector to the other Table (target) |
4 | Right-click on the connector and select the Foreign Keys context menu option The Foreign Key Constraint dialog displays |
5 | The default foreign key name is set by the Foreign Key Name Template To change the name to something other than the default provided by the template, select the Override Template checkbox and edit the foreign key name | Define Foreign Key Name Template
6 | In the Source: panel and the Target: panel, click on the name of each of the two columns involved in the Foreign Key relationship |
7 | From the On Delete and/or On Update combo boxes, select the appropriate referential integrity constraint |
8 | Click on the Apply or OK buttons to automatically generate the Foreign Key operations |

Example:

The example below shows how a Foreign Key looks in a diagram:

Notes:

  • For MySQL databases, Foreign Keys are supported for InnoDB tables only.

    InnoDB is the default MySQL storage engine as of version 5.5; if you are modeling a MySQL database that is earlier than version 5.5 and you want to use Foreign Keys, you must ensure the Engine Tagged Value is set to InnoDB

Learn More:

  • Set MySQL Options


Composite Foreign Key [Enterprise Architect User Guide]

Composite Foreign Key

How To:

To create a composite Foreign Key, follow the steps below:

Step | Action | See Also
1 | Locate the required Tables in a diagram Both tables must have defined database types | Set The Database Type
2 | Select an Associate connector in the Class Relationships page of the Toolbox |
3 | Click on the Table to contain the Foreign Key (source) and draw the connector to the other Table (target) |
4 | Right-click on the connector and select the Foreign Keys context menu option The Foreign Key Constraint dialog displays |
5 | The default foreign key name is set by the Foreign Key Name Template To change the name to something other than the default provided by the template, select the Override Template checkbox and edit the foreign key name | Define Foreign Key Name Template
6 | In the Source: panel and the Target: panel, click on the names of the required columns in each panel |
7 | Click on the OK button The Foreign Key columns are sorted according to data type to match the data types of the targeted composite Primary Key |
8 | If required, you can change the order of the key columns by clicking on the uphand and downhand buttons |

Example:

The example below shows how a Composite Foreign Key looks in a diagram:


Define Foreign Key Name Template [Enterprise Architect User Guide]

Define Foreign Key Name Template

Enterprise Architect enables you to customize the way Foreign Key relationships are named by default. This is helpful if you have specific modeling conventions that stipulate how Foreign Keys are documented.

By changing the Foreign Key Name Template, you adjust the name that Enterprise Architect assigns to the Association connector and the Operation that define the Foreign Key relationship.

Access: Tools | Options | Source Code Engineering | Code Editors: DDL Name Template

How To:

To define the name template for a Foreign Key, follow the steps below:

Step | Action | See Also
1 | Select the Code Editors menu option The Code Editors page of the Options dialog displays |
2 | Click on the DDL Name Template button The DDL Name Template dialog displays, showing the default name templates |
3 | Edit or replace the name template in the Foreign Key Name Template field For example, if you want to display the Foreign Key description as FK_foreigntablename_FKcolumnname_primarytablename_PKcolumnname then change the Foreign Key Name Template field to FK_%foreigntablename%_%fkcolumnname%_%primarytablename%_%pkcolumnname%. |
4 | Click on the Save button. |


Stored Procedures [Enterprise Architect User Guide]

Stored Procedures

Topics:

Topic | Detail | See also
What is a Stored Procedure? | A stored procedure is a group of SQL statements that form a logical unit and perform a particular task. Stored procedures are used to encapsulate a set of operations or queries to execute on a database server. You can compile and execute stored procedures with different parameters and results, and they can have any combination of input, output and input/output parameters. Enterprise Architect models stored procedures using stereotyped UML Classes and Operations. |

Learn more

  • Create a Stored Procedure


Indexes [Enterprise Architect User Guide]

Indexes

Topics:

Topic | Detail | See also
What is an Index? | An index is a sorted look-up for a table. When it is known in advance that a table must be sorted in a specific order, it is usually worth the small processing overhead to always maintain a sorted look-up list rather than sort the table every time it is required. In Enterprise Architect, an index is modeled as a stereotyped operation. On generating DDL, the necessary instructions for generating indexes are written to the DDL output. |

Learn more

  • Create an Index


Create a Stored Procedure [Enterprise Architect User Guide]

Create a Stored Procedure

How To:

To create a stored procedure as a UML Class, follow the steps below.

Step | Action | See Also
1 | Open the required diagram. |
2 | From the Data Modeling page of the Toolbox (More tools | Data Modeling) drag the Procedure icon onto the diagram. |
3 | If the Properties dialog does not automatically display, double-click on the element. |
4 | In the Database field click on the drop-down arrow and select the target DBMS to model The field displays the default database if it has already been set |
5 | In the Procedure definition field, type the entire procedure text. |
6 | Click on the OK button. |
7 | To rename the stored procedure, select the element, press (F2) and type the new name. |

Example:


Create an Index [Enterprise Architect User Guide]

Create an Index

How To:

To create an Index, follow the steps below:

Step | Action | See Also
1 | Ensure that the column(s) to be used in the index have already been defined in the table. |
2 | Right-click on the required table either in a diagram or in the Project Browser. |
3 | Select the Operations context menu option The Operations dialog displays. |
4 | Add an operation with a name such as IDX_CustomerID. The IDX_ prefix is optional, but helps to identify the operation. |
5 | In the Stereotype field for the operation, select index (check and unique are also supported). |
6 | Click on the Column tab. |
7 | Select the required columns from the Columns drop-down list in the required order |
8 | Click the Save button to save changes. |

Example:

In the example below, the Order element shows how an index looks in a diagram:

Notes:

  • The unique characteristic applied to a single column ensures that no two data values in the column can be identical. The unique stereotype applied to an index ensures that no two combinations of values across a set of columns can be identical

Learn more:

  • Define Columns


Triggers [Enterprise Architect User Guide]

Triggers

Topics:

Topic | Detail | See also
What is a Trigger? | A trigger is an operation automatically executed as a result of the modification of data in the database, and usually ensures consistent behavior of the database. For example, a trigger might be used to define validations that must be performed every time a value is modified, or might perform deletions in a secondary table when a record in the primary table is deleted. In Enterprise Architect, a trigger is modeled as a stereotyped operation. |

Learn more

  • Create a Trigger


Create a Trigger [Enterprise Architect User Guide]

Create a Trigger

How To:

To create a Trigger, follow the steps below

Step | Action | See Also
1 | Locate the required table in either a diagram or the Project Browser |
2 | Use the context menu to open the Operations dialog |
3 | Add an operation with a name such as TRG_OnCustomerUpdate The TRG_ prefix is optional, but helps to identify the operation |
4 | In the Stereotype field select trigger |
5 | Click the Save button |
6 | Select the trigger operation, then the Behavior tab |
7 | In the Initial Code field, enter the entire trigger code including the CREATE_TRIGGER statement |
8 | Click the Save button |


Check Constraints [Enterprise Architect User Guide]

Check Constraints

Topics:

Topic | Detail | See also
What is a Check Constraint? | A Check Constraint enforces domain integrity by limiting the values that are accepted by a column. |

Learn more:

  • Create a Check Constraint


Create a Check Constraint [Enterprise Architect User Guide]

Create a Check Constraint

How To:

To create a Constraint, follow the steps below:

Step | Action | See Also
1 | Locate the required table in either a diagram or the Project Browser |
2 | Use the context menu to open the Operations dialog |
3 | Add an operation with a name such as CHK_ColumnName The CHK_ prefix is optional, but helps to identify the operation |
4 | In the Stereotype field select check |
5 | Click the Save button |
6 | Select the check constraint operation, then the Behavior tab |
7 | In the Initial Code field, enter the entire check constraint clause (for example, col1 < 1000) |
8 | Click on the Save button |


Views [Enterprise Architect User Guide]

Views

Topics:

Topic | Detail | See also
What is a Database View? | A Database View defines a subset of the database, aggregated into a dynamic, 'virtual' table'. The information presented by a Database View is not physically replicated, rather it is automatically derived based on the query that defines the view. Enterprise Architect models Database Views as stereotyped UML Classes. |

Learn more

  • Create a View


Create a View [Enterprise Architect User Guide]

Create a View

How To:

To create a database View, follow the steps below:

Step | Action | See Also
1 | On the Data Modeling page of the Toolbox (More tools | Data Modeling), drag the View icon onto your Data Modeling diagram |
2 | If the View Properties dialog does not immediately display, double-click on the element |
3 | From the Database drop-down list, select the target DBMS to model. The default database displays if it has already been set |
4 | Click on the OK button |
5 | To rename the View, select the element, press (F2) and type the new name |

To create the View definition, follow the steps below

Step | Action | See Also
1 | Create a Dependency connector from the View to the table or tables on which the View depends |
2 | Double-click on the View to display the Properties dialog The tables are now listed in the Dependencies field |
3 | In the View definition field, type the full view definition The code editor provides intellisense for basic SQL keywords and functions | Code Editor
4 | Click on the OK button to save your definition |

Example:

Example of a Database View Diagram

Notes:

  • The View definition and certain other parameters are held as Tagged Values; the View definition is held in the viewdef memo Tagged Value

    You can select and view the viewdef Tagged Value in the Tagged Values window, and include it in RTF reports by inserting the valueOf(viewdef) field in the Package::Package Element or Package::Element sections

Learn More:

  • Tagged Values
  • valueOf(viewdef)


Oracle Packages [Enterprise Architect User Guide]

Oracle Packages

How To:

To create an Oracle package, follow the steps below:

Step | Action | See Also
1 | Add a Class element to your data model. |
2 | Open the Properties dialog for the element and, in the Stereotype field, type the value Package. |
3 | For the package specification, create an Operation with the name Specification and with no return type. |
4 | Open the Properties dialog for the Specification Operation and, on the Behavior tab, type the entire package specification into the Initial Code field. |
5 | For the package body, create an Operation with the name Body and with no return type. |
6 | Open the Properties dialog for the Body Operation and, on the Behavior tab, type the entire package body into the Initial Code field. |

Learn more

  • How to Use the Initial Code Field


Supported Databases [Enterprise Architect User Guide]

Supported Databases

Topics:

Topic

Detail

See also

Supported DBMS Products

Enterprise Architect supports modeling and reverse engineering of database schema for these DBMS products:

  • DB2
  • Firebird/InterBase*
  • Informix
  • Ingres
  • MS Access 97, 2000, 2003
  • Access 2007
  • MS SQL Server 2000, 2005, 2008
  • MySQL
  • SQLite
  • Oracle 9i, 10g and 11g
  • PostgreSQL
  • Sybase Adaptive Server Anywhere (Sybase ASA)
  • Sybase Adaptive Server Enterprise (Sybase ASE)

Notes:

  • * Firebird 1.5 database tables can be modeled and generated as InterBase tables; Firebird tables can be imported, but are treated as InterBase tables
  • You can download data types for SQL Server 2005, SQL Server 2008, Informix and MS Acess 2007 from the Resources page of the Sparx Systems web site

Learn More:

  • Online Resources


Default Constraints [Enterprise Architect User Guide]

Default Constraints

Default Constraints only apply to SQL Server, and are supported to maintain compatibility with earlier versions.

Access: Table context menu | Operations

Use to:

  • Create a default constraint

How to:

To create a Default Constraint using the Operations Properties dialog, follow the steps below:

Step | Action
1 | In the Name field, type the new operation name DF_<ColumnName> The DF_ is optional, but helps to identify the operation
2 | In the Stereotype field type or select the value default
3 | Click on the Save button
4 | In the Operations list, click on the default operation name, then click Column in the left panel
5 | Select the appropriate column from the Column Name drop down list
6 | Click on Behavior in the left-hand panel
7 | In the Initial Code field, type the default value
8 | Click on the Save button


A Data Model Diagram [Enterprise Architect User Guide]

A Data Model Diagram

An example of a Data Model diagram is provided below, showing three tables that are linked on primary to foreign key pairs with associated multiplicity.

Example:


Import Database Schema [Enterprise Architect User Guide]

Import Database Schema

Analysis of legacy database systems is possible using Enterprise Architect’s reverse engineering capabilities. By connecting to a live database via ODBC, you can import the database schema into a standard UML model. Subsequent imports enable you to maintain synchronization between the data model and the live database.

Enterprise Architect supports importing database tables from an ODBC data source. Tables are imported as stereotyped Classes with suitable data definitions for the source DBMS.

How To:

To import database schema and objects, follow the steps below

Step

Action

See Also

1

Select any package in the Logical View

2

To import into:

  • The package only, right-click on the package to display the context menu, and select the Code Engineering | Import DB Schema from ODBC menu option
  • A diagram, right-click on the diagram in the selected package to open the context menu, and select the Import DB schema from ODBC menu option

The Import DB Schema from ODBC Source dialog displays

3

In the Database field, click on the ( ... ) (Browse) button and select a suitable ODBC data source from the ODBC dialog (ODBC must be installed and configured on your machine for this to work correctly)

When you have selected the data source, the Database field shows the DBMS, the database server ID and the database name, separated by full stops; that is:

dbms.dbserver.database.

Select a Suitable Data Source

4

You can filter objects to be retrieved from the database by schema or owner

In the Schema/Owner field, type the schema/owner as a single entry, or as a comma-separated list

The filter is useful for databases that support multiple schemas or owners, such as SQL Server 2005/2008, Oracle, PostgreSQL and DB2 Express

By default, when importing database objects from Oracle, Enterprise Architect inserts the Oracle user name in this field to avoid unnecessary retrieval of large numbers of objects not owned by that user

5

In the Filter panel, select the appropriate checkboxes for additional items to include in the import

Select the appropriate checkboxes to import system tables and views, user views, triggers and/or Oracle packages

If you select to import User Functions and/or User Sequences as individual Classes, then they are imported as separate elements and the Properties dialog is solely concerned with the Function or Sequence definition; for Stored Procedures, always select this option

If you select to import User Functions and/or User Sequences as Class operations, then they are imported as operations (methods) and you view and edit them through the Operations Properties dialog of the parent Class

6

In the Synchronization panel, select the appropriate option to determine whether the existing Classes are to be synchronized, or the database objects imported as new objects

If you select the Synchronize existing classes option, also select the appropriate checkboxes to determine whether model comments, column default values and/or table constraints are to be retained or overwritten with the comments, values and constraints of the imported objects

7

Click on the Import button to start the import

8

Select the database objects to import

Select Tables

Imported Class Elements

Notes:

  • Import of stored procedures and views is supported for: DB2; SQL Server; Firebird/Interbase; Informix; Ingres; Oracle 9i, 10g and 11g; MySQL; SQLite, PostgreSQL; Sybase Adaptive Server Enterprise (ASE) and Sybase Adaptive Server Anywhere (ASA)
  • If you are importing database schema from an MS Access Jet 4.0 database, please ensure that you have selected the Use Jet 4.0 checkbox on the General page of the Options dialog, otherwise the Jet 3.5 routines are loaded; you must restart Enterprise Architect after selecting the checkbox
  • Enterprise Architect requires 32-bit ODBC drivers to connect to a repository through ODBC; to set up the ODBC configuration on 64-bit clients, run the 32-bit ODBC Data Source Administrator from C:\Windows\SysWOW64\odbcad32.exe
  • The ODBC connection should use the ODBC driver available from the DBMS vendor, such as MySQL's ODBC driver for MySQL, and Oracle's ODBC driver for Oracle; drivers provided by third-party vendors are not supported, including the Microsoft ODBC driver for Oracle
  • If setting up a ODBC connection for reverse engineering, the default settings are sufficient
  • Additional data types are available from the Datamodeling Data Types section of the Resources page on the Sparx Systems website
  • For importation, you can select the Tools | Database Engineering | Import DB Schema from ODBC menu option as an alternative
  • It is only possible to import into a diagram if it is in the selected package - if a diagram from another package is open, a message displays to give the option to cancel the import or to continue importing into the package only; the Import DB Schema from ODBC Source dialog includes checkbox options to import into the diagram and package, or into the package only
  • If no diagram is open, the Package Only radio button defaults to selected and the options are disabled; if the open diagram is in the selected package, you can select either option

Learn More:

  • Import Source Code
  • General Settings
  • Data Modeling Data Types (Online Resource)


Select a Data Source [Enterprise Architect User Guide]

Select a Data Source

Topics:

Topic

Detail

See also

General Usage

To import DDL from existing data sources, you must have a suitable ODBC connection installed and configured

From the Import DB Schema from ODBC Source dialog you can select the ODBC data source using the standard windows ODBC set-up dialog; click on the data source name and then click on the OK button

Learn More:

  • Connect to a Data Repository


Select Tables [Enterprise Architect User Guide]

Select Tables

When you have opened the ODBC data source, Enterprise Architect acquires a list of database objects suitable for importing. This is presented in a list form for you to select from.

Highlight the schema to import from the top list. Alternatively, select individual objects from the lower list.

Topics:

Topic

Detail

See also

Selection Shortcuts
  • To select all objects, click on the Select All button
  • To clear all objects, click on the Select None button
  • Hold down ( Ctrl ) while clicking to select multiple objects
  • Hold down ( Shift ) and click on the first and last objects in a range to select that range

When you have selected the objects, click on the OK button


The Imported Class Elements [Enterprise Architect User Guide]

The Imported Class Elements

When you import DDL table definitions they are converted to stereotyped Classes according the UML Data Modeling Profile.

The image below shows some example tables imported into the model using an ODBC data connection.

Example:


Generate DDL [Enterprise Architect User Guide]

Generate DDL

Enterprise Architect enables you to generate DDL from your model for Tables and Packages.

Learn More:

  • Generate DDL for Tables
  • Generate DDL for Packages


Generate DDL For a Table [Enterprise Architect User Guide]

Generate DDL For a Table

How To:

To generate DDL for a table, follow the steps below:

Step | Action | See Also
1 | In the diagram, right-click on the table for which to generate DDL The context menu displays |
2 | Select the Generate DDL option The Generate DDL dialog displays |
3 | In the Path field, use the ( ... ) (Browse) button to select the filename of the script to create |
4 | To include comments in the DDL, in the Comment Level field select the appropriate level For example, Column for comments on columns, or All for comments on all structures |
5 | Select the checkboxes for the appropriate inclusions; for example, to include a 'drop table' command in the script, select the Create Drop SQL checkbox Deselect the checkboxes for inclusions you do not require |
6 | To create the DDL, click on the Generate button |
7 | To view the output, click on the View button (you must configure a DDL viewer in the Local Settings dialog first) |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Generate Source Code and DDL permission to generate DDL
  • Some checkboxes display only if the appropriate database is defined for the table; for example, IF EXISTS displays only if the database for the table is PostgreSQL, and SEQ_ and _SEQ radio buttons display only if the database for the table is Oracle
  • For a PostgreSQL database, you must select the Generate Sequences checkbox to enable auto increment columns to be created
  • If generating Oracle sequences, you must always select the Generate Triggers and Generate Sequences checkboxes - this ensures that a pre-insert trigger is generated to select the next sequence value to populate the column; also set the AutoNum property to True in the column properties
  • If generating Oracle sequences, to generate the sequence name and trigger name with the syntax SEQ_<sequence_name> and TRG_<trigger_name>, select the SEQ_ option; conversely, to generate them with the syntax <sequence_name>_SEQ and SET_<trigger_name>, select the _SEQ option

Learn More:

  • Permission List
  • Create Columns


Generate DDL for a Package [Enterprise Architect User Guide]

Generate DDL for a Package

In this procedure, you can generate DDL for a package, and also compare the DDL with the database.

Access: Project Browser package context menu | Code Engineering | Generate DDL
Select package Tools | Database Engineering | Generate Package DDL

How To:

To generate DDL for a package, follow the steps below:

Step | Action | See Also
1 | Select the menu option The Generate Package DDL dialog displays |
2 | Select the checkbox against each inclusion required Deselect the checkboxes for inclusions you do not require |
3 | To recursively generate DDL, select the Include All Child Packages checkbox |
4 | Select the Save Generated Order checkbox to save the order in which the objects are generated This is useful where the order is changed to resolve object dependencies; the order is saved when you click on the Generate button |
5 | If you click the Refresh button with the Save Generated Order checkbox unchecked, the objects are restored to their original order |
6 | Click on the Generate button to proceed Enterprise Architect prompts you for file names as the process executes |

To compare the generated DDL with the database, follow the steps below

Step | Action | See Also
1 | On the Generate Package DDL dialog, click on the Compare button The Compare With Database dialog displays |
2 | Click on the ( ... ) button and locate the required database on the Select Data Source dialog |
3 | For an Oracle database, if required you can also specify the Owner in the Schema/Owner field |
4 | Click on the View button to perform the comparison The Comparison Database dialog displays with the results of the comparison Click on each table name to review information on that table |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Generate Source Code and DDL permission to generate DDL
  • Some checkboxes display only if the appropriate database is defined for the table. For example, IF EXISTS displays only if the database for the table is PostgreSQL, and SEQ_ and _SEQ radio buttons display only if the database for the table is Oracle
  • For a PostgreSQL database, you must select the Generate Sequences checkbox to enable auto increment columns to be created
  • If generating Oracle sequences, you must always select the Generate Triggers and Generate Sequences checkboxes - this ensures that a pre-insert trigger is generated to select the next sequence value to populate the column; also set the AutoNum property to True in the column properties
  • If generating Oracle sequences, to generate the sequence name and trigger name with the syntax SEQ_<sequence_name> and TRG_<trigger_name>, select the SEQ_ option; conversely, to generate them with the syntax <sequence_name>_SEQ and SET_<trigger_name>, select the _SEQ option

Learn More:

  • Permission List
  • Create Columns


Entity Relationship Diagrams (ERDs) [Enterprise Architect User Guide]

Entity Relationship Diagrams (ERDs)

 Return to Introduction

According to the online Wikipedia:

An entity-relationship model (ERM) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called Entity-Relationship Diagrams, ER Diagrams, or ERDs.

Entity Relationship Diagrams in Enterprise Architect:

Entity Relationship Diagrams in Enterprise Architect are based on Chen's ERD building blocks: entities are represented as rectangles, attributes are represented as ellipses and relationships are represented as diamond-shape connectors.

ERD technology in Enterprise Architect assists you in every stage from building conceptual data models to generating Data Definition Language (DDL) for the target DBMS.

Topics:

Topic

Detail

See also

MDG Technology for ERD and ERD Transformations

Enterprise Architect enables you to develop Entity Relationship diagrams quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The Entity Relationship diagram facilities are provided in the form of:

  • An Entity Relationship diagram type, accessed through the New Diagram dialog
  • An Entity Relationship Diagram page in the Toolbox
  • Entity Relationship element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

Enterprise Architect also provides transformation templates to transform Entity Relationship Diagrams into Data Modeling Diagrams, and vice versa.

New Diagram Dialog

Toolbox Shortcut

Quick Linker

ERD to Data Model Transformation

Data Model to ERD Transformation

Entity Relationship Diagram Toolbox Page

You can access the Entity Relationship Diagram page of the Toolbox through the More tools | Entity Relationship Diagrams menu option.

  • Entity is an object or concept that is uniquely identifiable. The property of Multiplicity in the SourceRole and TargetRole definitions for the Relationship connector (below) can be used to define the cardinality of an Entity that participates in this relationship.
  • Attribute is a property of an entity or a relationship type
  • N-ary Association represents unary (many-to-many recursive) or ternary relationships and can also be used to represent relationships that have attributes among the entities; Note that the N-ary Association element should always be at the target end of a connector
  • Connector is a connector between an Entity and an Attribute, and between two Attributes
  • Relationship is a diamond-shape connector, representing the meaningful association among entities.
  • Disjoint and Overlapping represent the relationships between the super-class Entity and the sub-class Entity

A typical Entity Relationship Diagram

Entity Relationship Diagram

Disable Entity Relationship Diagrams

If you prefer not to use Entity Relationship Diagrams in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies

Tagged Values:

Some of the Entity Relationship diagram components can be modified by Tagged Values, as indicated below:

Component

Tagged Value

Notes

Entity

isWeakEntity

If true, this entity is a weak entity.

Attribute

attributeType

Four options:

  • normal Attribute
  • primary key attribute
  • multi-valued Attribute
  • derived Attribute

commonDataType

Defines the common data type for each attribute.

dbmsDataType

Defines the customized DBMS data type for each attribute.

You must define the customized type first through the Settings | Database Datatypes menu option

Also, set the commonDataType tag to na to activate the dbmsDataType tag.

N-ary Association

isRecursive

If true, the N-ary Association represents the many-to-many recursive relationship.

For one-to-many and one-to-one recursive relationships, we suggest using the normal Relationship connector.

Sometimes you might want to limit the stretch of the diamond-shape Relationship connectors. Simply pick a Relationship connector, right-click to display the context menu, and select the Bend Line at Cursor option.

Relationship

isWeak

If true, the Relationship is a weak relationship.

Disjoin
Overlapping

Participation

Two options: partial and total.

Notes:

  • Entity Relationship Diagrams are supported in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect


Software Engineering [Enterprise Architect User Guide]

Software Engineering

Software Engineering is the process of designing, implementing and maintaining software. This section describes how Enterprise Architect can assist in this process by providing a design environment and tools including automated code generation, reverse engineering of source code and synchronization between the source code and model.

Topics:

Topic | Link
Software Design | GoF Patterns
Development Environment | Development Tools Code, Build & Debug MDG Integration and Code Engineering
Generate Source Code | Generate Source Code
Importing Source Code | Importing Source Code

Learn More:

  • Enterprise Architect provides a set of tools that goes beyond traditional debugging capabilities, see Visual Execution Analyzer
  • Database Engineering is also available, including keys, triggers, constraints, RI and other relational database features, for and from a range of database products
  • Enterprise Architect provides technologies to support Service Oriented Architecture; see SOA and XML Engineering


Development Tools [Enterprise Architect User Guide]

Development Tools

Topics:

Topic

Detail

See also

A Tightly Integrated Development Environment with Outstanding Tools and Functionality
  • Design and elaborate your Class model in UML and other technologies
  • Generate code and reverse engineer existing code
  • Customize code generation with templates
  • Invoke compilers and other command line tools to build, run and deploy
  • Use the built in source code editor to write and maintain source files
  • Use the built in debugger to inspect and correct code at run time
  • Use the Profiler to fine tune Windows native C/C++ code
  • Use the visualization tools to generate sequence diagrams from executing code
  • Use the testing capabilities to validate execution with class and method level constraints and invariants
  • Link to jUnit and nUnit test cases
  • Link or integrate with Eclipse or Visual Studio when necessary to further enhance your development process

Abstract

Enterprise Architect (Professional edition and above) provides an extraordinary range of features and a unique, rich, tightly coupled toolset for rapidly developing, visualizing, debugging, testing, maintaining and generally working with even the most complex source code

A wide range of standard programming languages are supported for design and reverse engineering; inbuilt editors with custom syntax highlighting and tight integration with the model provide a powerful and effective programming environment; coupled with the build/debug and testing capabilities, Enterprise Architect is both a remarkable analysis and design tool, and a formidable debug and testing environment

Enterprise Architect's Visual Execution Analyzer also supports Java, .NET and native Windows applications written in C/C++ using Microsoft's compilers; in addition to powerful tools for standard debugging, Enterprise Architect supports recording of Sequence diagrams from executing code, capturing of method calls and conversion into custom call sets for testing purposes, validation of execution against State diagrams, and more

The Model Driven Development Environment (MDDE) provides one of the richest and most useful feature sets available for working with source code and ensuring the construction of robust and effective applications; the MDDE integrates code and model by providing options to either generate source code from the model or reverse engineer existing source code into a model - source code and model can be synchronized in either direction

Application Patterns

Enterprise Architect provides complete starter projects, including model information, code and build scripts, for several basic application types including:

  • MFC Windows applications
  • Java programs
  • ASP.NET web services
  • Android Mobile Application

Generate Application Pattern

Relationships of Software Engineering Units

VEA MDDE FlowChart

Supported Languages

Popular languages supported include:

  • C/ C++
  • Java
  • Microsoft .NET family
  • ADA
  • Python
  • Perl

Toolboxes provide for different modeling technologies

Notes:

  • Although you can generate and reverse engineer code in a range of languages, Execution Analysis debugging and recording are supported for the following platforms / languages only:
  • Microsoft Windows Native C
  • Microsoft Windows Native C++
  • Microsoft Windows Visual Basic
  • Microsoft .NET Family (C#, J#, VB)
  • Sun Microsystems Java

Learn More:

  • Getting Started
  • Basic Setup
  • Software Engineering
  • Using Code Editors
  • Build
  • Debugging Actions
  • Testing
  • Add Run Command
  • Add Deploy Command


Overview of Development [Enterprise Architect User Guide]

Overview of Development

Code Engineering with Enterprise Architect broadly encompasses various processes for generating or transforming code from your UML model and importing code into the model, to support model development in several coding languages, database development and SOA development.

Topics:

Topic

Detail

See also

Model Driven Code Engineering
  • Source code generation and reverse engineering for many popular languages, including C++, C#, Java, Delphi, VB.Net, Visual Basic, ActionScript, Python and PHP
  • A built in 'syntax highlighting' source code editor
  • Code generation templates, which enable you to customize the generated source code to your company specifications

Software Engineering

Transformations for Rapid Development
  • Advanced Model Driven Architecture (MDA) transformations using transformation templates
  • Built-in transformations for DDL, C#, Java, EJB and XSD
  • One Platform Independent Model can be used to generate and synchronize multiple Platform Specific Models, providing a significant productivity boost

Model Transformations - MDA

Visual Execution Analysis / Debugging, Verification and Visualization

  • Execute Build, test, debug, run and deploy scripts
  • Integrate UML development and modeling with source development and compilation
  • Generate NUnit and JUnit test Classes from source Classes using MDA Transformations
  • Integrate the test process directly into the Enterprise Architect IDE
  • Debug .NET, Java and Microsoft Native (C, C++ and Visual Basic) applications
  • Design and Execute Test suites based on Programming by Contract principles

Visual Execution Analysis

Database Modeling

Enterprise Architect enables you to:

  • Reverse engineer from many popular DBMSs, including SQL Server, My SQL, Access, PostgreSQL and Oracle 9i, 10g or 11g
  • Model database tables, columns, keys, foreign keys and complex relationships using UML and an inbuilt data modeling profile
  • Forward generate DDL scripts to create target database structures

Database Engineering

XML Technology Engineering

Enterprise Architect enables you to rapidly model, forward engineer and reverse engineer two key W3C XML technologies:

  • XML Schema (XSD)
  • Web Service Definition Language (WSDL)

XSD and WSDL support is critical for the development of a complete Service Oriented Architecture (SOA), and the coupling of UML 2.3 and XML provides the natural mechanism for implementing XML-based SOA artifacts within an organization

XML Schema - XSD

Web Services - WSDL


Application Patterns (Model + Code) [Enterprise Architect User Guide]

Application Patterns (Model + Code)

 Return to Introduction

To get you going with a code based project as fast as possible, Enterprise Architect enables you to generate starter projects including model information, code and build scripts for one of several basic application types. Patterns include:

  • MFC Windows applications
  • Java programs
  • ASP.NET web services

Access: Project | New Model (Ctrl+Shift+M) > Application Patterns
Project Browser | Package context menu | Add | Add a New Model using Wizard > Application Patterns

Reference:

Field

Usage

See also

Technology

Select the appropriate technology

Name

Displays the application patterns available for the selected technology; select the required pattern to import

description field

Displays a description of the selected pattern

Destination folder

Browse for and select the directory in which to load the source code for the application

Use Local Path

Enable the selection of an existing local path to place the source code under; changes the Destination folder field to a drop-down selection

Compiler command

Displays the default compiler command path for the selected technology; you must either:

  • Confirm that the compiler can be found at this path, or
  • Edit the path to the compiler location

Local Paths

Local Paths Dialog

Edit Local Paths

Many application patterns specify their compiler using a local path

The first time you use any pattern you must click on this button to ensure the local path points to the correct location

The Local Paths dialog displays

Local Paths

Local Paths Dialog

Notes:

  • If required, you can define custom application patterns by adding files to the AppPatterns directory where Enterprise Architect is installed; top level directories are listed as Technologies and can contain an icon file to customize the icon displayed for the technology

    Directories below this are defined as groups in the patterns list; the patterns are defined by the presence of four files with a matching name: a zip file (.zip), XMI file (.xml), config file (.cfg) and optional icon (.ico)
  • The config file supports the following fields:
  • [provider], [language], [platform], [url], [description], [version] - all displayed in the description field
  • [xmirootpaths] - the root path of the source code in the exported xmi; this is replaced with the selected destination folder when the user applies the application pattern

Learn More:

  • Model Wizard


Code, Build & Debug [Enterprise Architect User Guide]

Code, Build & Debug

This section discusses the integrated Model Driven Development Environment (MDDE).

Topics:

Topic

Detail

See also

Abstract

Model Driven Development provides a more robust, accessible and faster development cycle than traditional coding-driven cycles

A well constructed model, intimately linked with source code build, run, debug, test and deploy capabilities provides a rich, easily navigated and easily understood target architecture

Traceability, linkage to Use Cases, Components and other model artifacts, plus the ability to readily record and document pre-existing or recently developed code, make Enterprise Architect's development environment uniquely powerful

Enterprise Architect incorporates industry standard intelligent editing, debuggers and modeling languages

Getting Started

Setup

Code Editors

Build

Clean

Debugging

Add Run Command

Testing

Add Deploy Command

Searching Files

The MDDE provides tools to design, build and debug an application:

  • UML technologies and tools to model software
  • Code generation tools to generate/reverse engineer source code
  • Tools to import source code and binaries
  • Code editors that support different programming languages
  • Intellisense to aid coding
  • Analyzer scripts that enable a user to describe how to build, debug, test and deploy the application

Development Tools

MDG Technologies

Modeling Basics

Generate Source Code

Import Source Code

Import Binary Module

Code Editors

Intellisense

Managing Analyzer Scripts


Getting Started [Enterprise Architect User Guide]

Getting Started

To quickly start development in the Model Driven Development Environment, check through the following topics:

  • Prerequisites
  • General Workflow
  • Workspace Layout and Tools
  • Code Generation and Synchronization - Safeguards


Prerequisites [Enterprise Architect User Guide]

Prerequisites

Before using the Model Driven Development Environment:

  • You should be using the correct edition: Enterprise Architect Professional, Corporate or extended editions
  • You should be connected to the required model
  • Relevant source code files should be linked to Classes in the model (sufficient to be editable from the internal code editors) either:
  • Using MDA Transforms to generate stub code files, and internal editing to write code, or
  • Importing existing source code from external files
  • Required External Frameworks or compilers should be installed and operable
  • An Analyzer Script should be configured to link to the compilers in the External Framework

Learn More:

  • Setup
  • Importing Source Code
  • The Source Code Viewer
  • Build
  • Debugging

Learning Center topics:

  • (Alt+F1) | Software Engineering | Import Code
  • (Alt+F1) | Software Engineering | Code Editor | Using Intellisense
  • (Alt+F1) | Software Engineering | Code Editor | Browse to Source File


General Workflow [Enterprise Architect User Guide]

General Workflow

In working with the Model Driven Development Environment, the build-debug workflow is a cyclic process. Beginning with configuring and setting up scripts, each iteration of the cycle can include:

  • Model - Edit - Build - Debug - Test - Visual Analysis - Profile

When the cycle is complete, you document and deploy the solution.

Learn More:

  • Managing Scripts


Workspace Layout and Tools [Enterprise Architect User Guide]

Workspace Layout and Tools

This topic identifies the workspace layouts that you can select for debugging and Visual Execution Analysis, and the tools these layouts make available in the Model Driven Development Environment.

Workspace Layouts:

You can choose from many predefined workspace layouts, depending on the tasks you perform. When you are familiar with the environment and controls available to you, you can also define your own workspace layouts.

You can select from the following debug/execution analysis layouts:

  • Dev - Debug
  • VEA - Profile
  • VEA - Record
  • VEA - Simulate
  • VEA - Testpoints

You select the workspace layout from either the:

  • Workspace Toolbar or
  • Workspace field on the Start Page

VEA Layout Bar Start Workspace
Toolbar Start Page

Tools:

Whether you open the appropriate windows through a workspace layout or select them individually through their menu options, the following tools and facilities are of particular relevance to coding, building and debugging:

  • Code engineering
  • Code editors
  • Intellisense
  • Application management
  • Debug management

Learn More:

  • Workspace Layouts
  • Code Engineering
  • Code Editors
  • Intellisense
  • Application Management
  • Debugger Management


Code Generation and Synchronization - Safeguards [Enterprise Architect User Guide]

Code Generation and Synchronization - Safeguards

It is important that the model and source code are kept synchronized for the Visual Execution Analyzer to produce useful results.

Use the Code Generation tools to synchronize your model after any design changes or code editing.

Always build the application prior to any Execution Analysis session - debugging, recording or profiling.

Learn More:

  • Synchronize Model and Code


Setup [Enterprise Architect User Guide]

The Enterprise Architect Execution Analyzer feature is responsible for building a project, debugging code, recording a Sequence diagram and profiling information from a running program.

In order for this feature to work, it is necessary to record information about the application. This is achieved in Enterprise Architect through the use of Analyzer Scripts.

An Analyzer Script is always associated with a package. The information you provide in a script controls the actions in, and provides support for:

  • Building
  • Debugging
  • Testing
  • Deployment

Learn More:

  • Managing Analyzer Scripts
  • Analyzer Script Editor
  • Build
  • Clean
  • Debugging
  • Testing
  • Add Run Command
  • Add Deploy Command


Managing Analyzer Scripts [Enterprise Architect User Guide]

Managing Analyzer Scripts

The Execution Analyzer window enables you to manage all scripts in the model, using the window toolbar buttons to control script tasks. Many features, such as Debugging, Testing, Profiling and Simulation, depend on and function according to how the active script has been configured.

Scripts are listed by package; packages that do not have any scripts are not included.

Each user can activate one script at any time, independent of other users of the same model; one user activating a script does not impact the currently active scripts for other users or affect the scripts available to them.

Access: Analyzer | Execution Analyzer (Shift + F12)

Toolbar Button | Action | See Also
AnalyzerWindows | List the Analyzer windows; select and display the required window | Debugging Breakpoint and Marker Management View the Call Stack View the Local Variables View Variables in Other Scopes Inspect Process Memory The Recording History The Testpoints Window Profiling Native Applications Model Simulation
VEA - AddScript | Add new Analyzer Script A prompt displays to browse for and select the parent package | Analyzer Script Editor
VEA - ExportScripts | Export Scripts You can export one or more Analyzer Scripts to an XML file, which can be used to import the scripts into another model; a prompt displays for the target file name and location |
VEA- ImportScripts | Import Scripts You can import one or more Analyzer Scripts from a previously exported XML file; a prompt displays for the source file name and location |
VEA - Debug | Execute the Debug command of the active script | Setup for Debugging
VEA - Build | Execute the Build command of the active script | Add Commands
VEA - Test | Execute the Test command of the active script | Add Testing Command
VEA - Run | Execute the Run command of the active script | Add Run Command
VEA - Deploy | Execute the Deploy command of the active script | Add Deploy Command
scenHelp | Display the Help topic for this window |

Learning Center topics:

  • (Alt+F1) | Build and Debug | Overview | Analyzer Scripts


Analyzer Script Editor [Enterprise Architect User Guide]

Analyzer Script Editor

Scripts are associated with a Package. When you create an Analyzer Script you can define a number of actions. The Execution Analyzer Script Editor a has a number of pages for configuring various features:

If you plan to use any of the features of the Execution Analyzer, you must complete at least the Build and Debug pages.

Task | Page | Actions | See also
Build | Build | Enter script or command to build the application | Build
 | Clean | Enter script or command to clean the previous build | Clean
Test | Test | Enter script or command to test the application | Test
 | Testpoints | Specify where the output from a Testpoint run is sent | Testpoint Output
Debug | Platform | Specify the debugging platform, the application to be debugged, and the mode of debugging (attach to process or run ) | Debug
 | Tracepoints | Specify where the output from Tracepoints encountered during a debug session are sent | Trace Output
 | Workbench | Specify required information for using the Object Workbench control | Workbench Setup
Run | Run | Enter a script or command to run the application | Add Run Command
Deploy | Deploy | Enter a script or command to deploy the project | Add Deploy Command
Recording | Recording | Exclude areas of the application from being recorded; you can specify wildcard expressions to exclude operations, Classes and modules | Configure Recording Detail
Simulation | Simulation | Complete the configuration for Simulation Control | Model Simulation


Code Editors [Enterprise Architect User Guide]

Code Editors

Enterprise Architect provides a number of editors that you can use across the development environment to maintain scripts, code and templates. Each editor has its own features, but they are all based on a common Code Editor control.

Topics:

Topic

Detail

See also

Editors

The provided editors are:

  • Shape Script Editor*
  • Code Generation Template Editor*
  • Transformation Template Editor*
  • Custom SQL Search Filter Editor*
  • Database View Editor*
  • HTML Report Template Editor
  • Source Code Viewer*
  • Script Editor*

You can have several code editors (or files within a code editor) open at the same time, as separate tabs in the central view area of the Enterprise Architect work area

You can also close the editors individually or all together, leaving views of other types (such as diagrams or RTF reports) still open

Shape Script Editor

Code Generation Template Editor

Transformation Template Editor

Custom SQL Search Filter Editor

Database View Editor

HTML Report Template Editor

Source Code Viewer

Script Editor

Diagram Tabs

Code Editor

The common Code Editor provides a variety of functions to assist with the code editing process, including:

  • Syntax Highlighting
  • Bookmarks
  • Cursor history
  • Brace matching
  • Automatic indentation
  • Commenting selections
  • Scope guides
  • Zooming
  • Line selection
  • intellisense
  • Find and Replace
  • Find in Files

A range of these functions is available through keyboard key combinations and/or context menu options

You can customize several of the Code Editor features by setting properties in the Code Editor configuration files; for example, by default the line containing the cursor is always highlighted, but you can turn the highlighting off

Additional information is provided in the Code Editor Configuration Guide, located as a PDF file in the Config directory under your Enterprise Architect installation directory

Syntax Highlighting

Bookmarks

Cursor history

Brace matching

Automatic indentation

Commenting selections

Scope guides

Zooming

Line selection

intellisense

Find and Replace

Find in Files

Code Editor Key Bindings

Code Editor Context Menu


Syntax Highlighting [Enterprise Architect User Guide]

Syntax Highlighting

The Code Editor highlights - in colored text - the standard code syntax of most language file formats supported by Enterprise Architect. You can define how the Code Editor implements syntax highlighting, through the Code Editors page of the Options dialog.

Topics:

Topic

Detail

See also

Supported Languages
  • Ada (.ada, .ads, .adb)
  • ActionScript (.as)
  • BPEL Document (.bpel)
  • C++ (.h, .hh, .hpp, .c, .cpp, .cxx)
  • C# (.cs)
  • Delphi/Pascal (.pas)
  • Diff/Patch Files (.diff, .patch)
  • Document Type Definition (.dtd)
  • DOS Batch Files (.bat)
  • DOS Command Scripts (.cmd)
  • HTML (.html)
  • Interface Definition Language (.idl, .odl)
  • Java (.java)
  • Javascript (.javascript)
  • JScript (.js)
  • Modified Backus-Naur Form Grammar (.mbnf)
  • PHP (.php, .php4, .inc)
  • Python (.py)
  • Standard Generalized Markup Language (.sgml)
  • Structured Query Language (.sql)
  • SystemC (.sc)
  • Visual Basic 6 (.bas)
  • VB.NET (.vb)
  • VBScript (.vbs)
  • Verilog (.v)
  • VHSIC Hardware Description Language (.vhdl)
  • Visual Studio Resource Configuration (.rc)
  • eXtensible Markup Language (.xml)

Editor Language Properties


Bookmarks [Enterprise Architect User Guide]

Bookmarks

Topics:

Topic

Detail

See also

Usage

Bookmarks denote a line of interest in the document; you can toggle them on and off for a particular line by pressing (Ctrl+F2)

Additionally, you can press (F2) and (Shift+F2) to navigate to the next or previous bookmark in the document


Cursor History [Enterprise Architect User Guide]

Cursor History

Topics:

Topic

Detail

See also

Usage

The Code Editor Control keeps a history of the previous 50 cursor positions

An entry in the history list is created when:

  • The cursor is moved more than 10 lines from its previous position
  • The cursor is moved in a find/replace operation

You can navigate to an earlier point in the cursor history by pressing (Ctrl+-), and to a later point by pressing (Ctrl+Shift+-)


Brace Matching [Enterprise Architect User Guide]

Brace Matching

Topics:

Topic | Detail | See also
Usage | When you place the cursor over a brace or bracket, the Code Editor highlights its corresponding partner. You can then navigate to the matching brace by pressing (Ctrl+E) |


Automatic Indentation [Enterprise Architect User Guide]

Automatic Indentation

Topics:

Topic | Detail | See also
Usage | For each supported language, the Code Editor adjusts the indentation of a new line according to the presence of control statements or scope block tokens in the lines leading up to the cursor position For more information on customizing automatic indentation for a language, see the Configuration Guide | Code Editors


Commenting Selections [Enterprise Architect User Guide]

Commenting Selections

Topics:

Topic

Detail

See also

Usage

For languages that support comments, the Code Editor can comment entire selections of code

The Code Editor recognizes two types of commenting:

  • Line Commenting - entire lines are commented from the start (for example:
    // This is a comment)
  • Stream Commenting - sections of a line are commented from a specified start point to a specified end point (for example:
    /* This is a comment */)

You can toggle comments on the current line or selection by pressing:

  • (Ctrl+Shift+C) for line comments, or
  • (Ctrl+Shift+X) for stream comments

For more information on customizing selection commenting for each language, see the Configuration Guide

Code Editors


Scope Guides [Enterprise Architect User Guide]

Scope Guides

Topics:

Topic

Detail

See also

Usage

If the cursor is placed over an indentation marker, the Code Editor performs a 'look back' to find the line that started the scope at that indentation level; if the line is found and is currently on screen, it is highlighted in light blue

Alternatively if the line is off screen, a calltip is displayed advising of the line number and contents.


Zooming [Enterprise Architect User Guide]

Zooming

Topics:

Topic

Detail

See also

Usage

You can zoom into and out of the contents of the Code Editor using:

  • (Ctrl) + keypad ( + ) and
  • (Ctrl) + keypad ( - )

Zoom can be restored to 100% using (Ctrl) + keypad ( / )


Line Selection [Enterprise Architect User Guide]

Line Selection

Topics:

Topic | Detail | See also
Usage | If you want to move the cursor to a specific line of code, press (Ctrl + G) and, in response to the prompt, type in the line number Press the OK button; the editor displays the specified line of code with the cursor at the left |


Intellisense [Enterprise Architect User Guide]

Intellisense

Intellisense is a feature that provides choices of code items and values as you type. Not all code editors use intellisense; those that do are indicated by an asterisk in the list of Enterprise Architect code editors. Intellisense provides you with context-based assistance through autocompletion lists, calltips and mouseover information.

Intellisense is also disabled while you record a macro in the Source Code Viewer.

Topics:

Topic

Detail

See also

Autocompletion List

An autocompletion list provides a list of possible completions for the current text;the list is automatically invoked when you enter an accessor token (such as a period or pointer accessor) after an object or type that contains members

You can also invoke the autocompletion list manually by pressing
(Ctrl + Spacebar); the Code Editor then searches for matches for the word leading up to the invocation point

Select an item from the list and press (Enter) or (Tab) to insert the item into the code; to dismiss the autocompletion list, press (Escape)

Calltips

Calltips display the current method's signature when you type the parameter list token (for example, opening parenthesis); if the method is overloaded, the calltip displays arrows that you can use to navigate through the different method signatures

Mouseover Information

You can display supporting documentation for code elements (for example, attributes and methods) by hovering the cursor over the element in question

Learn More:

  • Code Editors
  • Source Code Viewer


Code Editor Key Bindings [Enterprise Architect User Guide]

Code Editor Key Bindings

Key | Description
Ctrl + G | Move cursor to a specified line
â | Move cursor down one line
Shift + â | Extend selection down one line
Ctrl + â | Scroll down one line
Alt + Shift + â | Extend rectangular selection down one line
á | Move cursor up one line
Shift + á | Extend selection up one line
Ctrl + á | Scroll up one line
Alt + Shift + á | Extend rectangular selection up one line
Ctrl+ ( | Move cursor up one paragraph
Ctrl+Shift+ ( | Extend selection up one paragraph
Ctrl+ ) | Move cursor down one paragraph
Ctrl+Shift+ ) | Extend selection down one paragraph
ß | Move cursor left one character
Shift + ß | Extend selection left one character
Ctrl + ß | Move cursor left one word
Ctrl + Shift + ß | Extend selection left one word
Alt + Shift + ß | Extend rectangular selection left one character
à | Move cursor right one character
Shift + à | Extend selection right one character
Ctrl + à | Move cursor right one word
Ctrl + Shift + à | Extend selection right one word
Alt + Shift + à | Extend rectangular selection right one character
Ctrl + / | Move cursor left one word part
Ctrl + Shift + / | Extend selection left one word part
Ctrl + \ | Move cursor right one word part
Ctrl + Shift + \ | Extend selection right one word part
Home | Move cursor to the start of the current line
Shift + Home | Extend selection to the start of the current line
Ctrl + Home | Move cursor to the start of the document
Ctrl + Shift + Home | Extend selection to the start of the document
Alt + Home | Move cursor to the absolute start of the line
Alt + Shift + Home | Extend rectangular selection to the start of the line
End | Move cursor to the end of the current line
Shift + End | Extend selection to the end of the current line
Ctrl + End | Move cursor to the end of the document
Ctrl + Shift + End | Extend selection to the end of the document
Alt + End | Move cursor to the absolute end of the line
Alt + Shift + End | Extend rectangular selection to the end of the line
Page Up | Move cursor up a page
Shift + Page Up | Extend selection up a page
Alt + Shift + Page Up | Extend rectangular selection up a page
Page Down | Move cursor down a page
Shift + Page Down | Extend selection down a page
Alt + Shift + Page Down | Extend rectangular selection down a page
Delete | Delete character to the right of the cursor
Shift + Delete | Cut selection
Ctrl + Delete | Delete word to the right of the cursor
Ctrl + Shift + Delete | Delete until the end of the line
Insert | Toggle overtype
Shift + Insert | Paste
Ctrl + Insert | Copy selection
Backspace | Delete character to the left of the cursor
Shift + Backspace | Delete character to the left of the cursor
Ctrl + Backspace | Delete word to the left of the cursor
Ctrl + Shift + Backspace | Delete from the start of the line to the cursor
Alt + Backspace | Undo delete
Tab | Indent cursor one tab
Ctrl + Shift + I | Indent cursor one tab
Shift + Tab | Unindent cursor one tab
Ctrl + keypad( + ) | Zoom in
Ctrl + keypad( - ) | Zoom out
Ctrl + keypad( / ) | Restore Zoom
Ctrl + Z | Undo
Ctrl + Y | Redo
Ctrl + X | Cut selection
Ctrl + C | Copy selection
Ctrl + V | Paste
Ctrl + L | Cut line
Ctrl + Shift + L | Delete line
Ctrl + T | Transpose line
Ctrl + Shift + T | Copy line
Ctrl + A | Select entire document
Ctrl + D | Duplicate selection
Ctrl + U | Convert selection to lowercase
Ctrl + Shift + U | Convert selection to uppercase
Ctrl + E | Move cursor to matching brace
Ctrl + Shift + E | Extend selection to matching brace
Ctrl + Shift + C | Toggle line comment on selection
Ctrl + Shift + X | Toggle stream comment on selection
Ctrl + F2 | Toggle bookmark
F2 | Go to next bookmark
Shift + F2 | Go to previous bookmark
Ctrl + Shift + W | Toggle whitespace characters
Ctrl + Shift + L | Toggle EOL characters
Ctrl + Spacebar | Invoke autocomplete
Ctrl + - | Go backwards in cursor history
Ctrl + Shift + - | Go forwards in cursor history
F12 | Start/Cancel search for keyword in file(s).
Ctrl + F | Find text
Ctrl + R | Replace

Notes:

  • In addition to the following keys, you can assign (Ctrl + Alt + n) key combinations to macros that you define within the Source Code Editor

Learn More:

  • Editor Language Properties
  • Source Code Viewer Toolbar


Code Editor Context Menu [Enterprise Architect User Guide]

Code Editor Context Menu

When working on a file with a code editor, you can access a number of options through the context menu. Right-click on a text string to display the menu.

Topics:

Topic

Detail

See also

Options

The options on the menu can vary depending on which editor you are using, but should include some or all of the following:

  • Go to Declaration locates the declaration of a symbol in the source code
  • Go to Definition locates the definition of a symbol in the source code (applicable to languages where symbols are declared and defined in separate places, such as C++ or Delphi)
  • Search for '<string>' - displays a submenu that enables you to locate the search string in a range of locations:
  • Find in Project Browser finds the object containing the selected text in the Project Browser
  • Search in Open Files opens the Execution Analyzer File Search facility, then searches for the selected text string in other code files of the same type and in the same folder as the current file that are open, displaying the results in Tree View; you can change the folder path, search text and file type as required within the File Search window
  • Search in Files performs the same search as Search in Open Files, except that the search is in all comparable files whether they are open or not
  • Search in Model performs an Element Name search in the Model Search facility, and displays the results on the Model Search tab
  • EA User Guide displays the description of the code item in the Enterprise Architect User Guide
  • Google displays the results of a search on the text from a Google search
  • MSDN displays the results of a search on the text in the Microsoft Developer Network (MSDN)
  • Sun Java SE displays the results of a search on the text in the Sun Microsystems 'Sun Search' facility
  • Wikipedia displays any entry on the object on the Wikipedia web site
  • Koders displays the results of the search for the text string on Koders.com
  • Set Debugger to Line - (if the debugger is executing and has reached a breakpoint) moves the execution point to the current line; ensure that you do not skip over any code or declarations that affect the next section of code being debugged
  • Display Variable - (if the debugger is executing) opens the Locals window and highlights the local variable for the current point in the code
  • Create Use Case for '<string>' - displays the Create Use Case For Method dialog, through which you create a Use Case for the method containing the text string
  • Breakpoint - displays a submenu of options for creating a breakpoint or recording marker on the selected line of code
  • Open (Close) IME - opens the Input Method Editor to enable you to enter text in your selected foreign language script (such as Japanese); you set the keyboard language using the Windows Control Panel - Regional and Language Options facility
  • Line Numbers - (Script Editor only) shows or hides the code line numbers on the left hand side of the editor screen

The remaining six context menu options provide simple editing functions

Code Editor

Find In Files

Pre-Defined Searches

Model Search

View the Local Variables

Create Use Case For Method

Marker Types

Script Editor

If you select the Search for '<string>' context menu option while working in the Script Editor, a slightly different submenu displays

The Search in Scripts option opens the Execution Analyzer File Search facility, setting the Search Path field to Search in Scripts and the Search Text field to the selected text, then searching all scripts for the text string and displaying the results of the search in Tree View

Script Editor

Notes:

  • The options in the lower half of the menu (after Search in Model) are configurable; you can add new search tools or remove existing ones by editing the searchProviders.xml file in the Sparx Systems > EA > Config folder - this file is in OpenSearch description document format

Learn More:

  • OpenSearch Description Document Format (Online Resource)


Create Use Case for Method [Enterprise Architect User Guide]

Create Use Case for Method

The code editor context menu enables you to create a Use Case element for a method that you select from the code. You can also link the Use Case directly to the method in a diagram, and hide any attributes or methods that are not the targets of feature links.

How To:

To create a Use Case for a method, follow the steps below:

Step

Action

See also

1

If you want to depict the Use Case and its link to the method in a diagram, click on the diagram name in the Project Browser

2

In the code editor, right click on either the method name or any part of the method body, and select the Create Method for <methodname> context menu option

The Create Use Case for Method dialog displays

3

The basic function of this dialog is to create a Use Case for the selected method:

  • If this is all that is required, click on the OK button. The Use Case element is created in the Project Browser, in the same package as the parent Class for the method, and with the same name as the method
  • If you intend to make the relationship tangible, continue with the procedure

4

To create a Trace connector linking the Use Case to the method, select the Link Use Case to Method check box.

5

To add the method's parent Class to the diagram, if it is not already there, select the Add Class to Diagram check box.

6

To add the newly-created Use Case to the diagram, select the Add Use Case to Diagram check box. This would now show the Use Case, Class and Trace connector on the diagram.

7

To only show the features (attributes and methods) of the parent Class that are the targets of 'link to feature' relationships, select the Display only linked features in Class checkbox.

The Class might contain any number of attributes and methods, but those without a 'link to feature' relationship are hidden.

Connect to Element Feature

8

Click on the OK button to create and depict the Use Case and relationship. If you selected all options, the diagram now contains linked elements resembling the following:

UCLinkedMethod

Learn More:

  • Code Editor Context Menu


Script Editor [Enterprise Architect User Guide]

Script Editor

The Script Editor enables you to edit scripts, and to run and stop an open script.

The editor is based on, and provides the facilities of, the common Code Editor.

To open the Script Editor, double-click on the required script in the Scripts tab of the Scripting window. The editor opens in the main work area.

Use to:

  • Save changes to the current script
  • Save the current script under a different name
  • Run the script
  • Stop the executing script
  • View the script output in the Scripts tab of the Output window

Topics:

Topic

Detail

See also

Enterprise Architect Script Objects

Enterprise Architect adds to the available functionality and features of the editor script language by providing inbuilt objects. These are either Type Libraries, providing intellisense for editing purposes, or Runtime objects, providing access to objects of the types described in the Type Libraries.

The available intellisense scripting objects are:

  • EA
  • MathLib
  • System
  • The runtime scripting objects (below)

The available runtime scripting objects are:

  • Repository ( Type: IDualRepository ) - this is the Enterprise Architect automation interface
  • Maths ( Type: IMath )
  • Session ( Type: ISession )

Automation Interface

Script Editing Intellisense (Required Syntax)

Intellisense is available not only in the Script Editor, but also in the Script Console. Intellisense at its most basic is presented for the inbuilt functionality of the script engine. For intellisense on the additional Enterprise Architect scripting objects listed above, you must declare variables according to syntax that specifies a type. It is not necessary to use this syntax to execute a script properly. It is only present so that the correct intellisense can be displayed for an item. The syntax can be seen in the above diagram in, for example:

Dim e as EA.Element

Then, when you type, in this case, e. the editor displays a list of member functions and properties of e's type.

You select one of these to complete the line of script. You might, therefore, type:

VBTrace( e.

As you type the period, the editor presents the appropriate list and you might double-click on, for example, Abstract. This is inserted in the line, and you continue to type or select the rest of the statement. In this case, adding the end space and parenthesis.

VBTrace( e.Abstract )

Keystrokes

In the Script Editor or Console, intellisense is presented on the following keystrokes.

  • Press ( . ) (period) after an item to list any members for that item's type
  • Press ( Ctrl ) +( Spacebar ) on a word to list any intellisense items with a name starting with the string at the point keystroke was pressed
  • Press ( Ctrl ) +( Spacebar ) when not on a word to display any available top level intellisense items - these are the intellisense objects described above plus any built-in methods and properties of the current scripting language

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions
  • Enterprise Architect's scripting supports declaring variables to match the EA types. This enables the editor to present intellisense, but is not necessary for executing the script

Learn More:

  • Code Editor
  • Script Tabs


The Source Code Viewer [Enterprise Architect User Guide]

The Source Code Viewer

Access: View | More Element Tools | Source Code (Alt+7)
Tools | Open Source File (Ctrl+Alt+O)

Use the Source Code viewer to view any source code files for an element. If a Class is selected, the Source Code viewer shows the source code for that Class, provided it has already been generated. For C++ a second tab displays to show the implementation file.

The Source Code viewer also displays any DDL generated for a selected table in your diagram.

A number of options change the way the Source Code viewer works. They can be altered via the Options dialog (select the Tools | Options | Source Code Engineering | Code Editors menu option). There are also many options for developing the code, available through the code editor context menu and through the Toolbar.

Topics:

Topic

Detail

See also

Source Code Viewer

By default the Source Code viewer is set to:

  • Parse all opened files, and show a tree of the results
  • Show line numbers

If you are editing an XML file, the structure tree is presented in a folder hierarchy rather than a Class structure hierarchy, as follows:

External File Editor

If you intend to edit external code, XML and DDL files (that is, code not selected from the Project Browser) use the Tools | Open Source File menu option, or press (Ctrl+Alt+O).

If you try to close the window or select another file, the editor prompts you to save your changes.

File Parsing

The Source Code viewer parses files for a number of reasons. The first is to enable it to jump to the location in the file at which the currently selected item is found (but not when editing external files).

Additionally, parsing displays a structure tree showing an overview of the file in a similar fashion to the main Project Browser. You can also select anything in that and jump to the appropriate line in the editor.

The viewer cannot parse DDL, and therefore does not show the structure tree for a DDL file.

Notes:

  • You view source code for an element by selecting menu options in a number of places, or by pressing either ( Ctrl+E ) or ( F12 ) . If the element does not have a generation file (that is, code has not been or cannot be generated, such as for a Use Case), Enterprise Architect checks whether the element has a link to either an operation or an attribute of another element. If such a link exists, and that other element has source code, the code for that element displays

Learn More:

  • Connect to Element Feature
  • Generate Source Code
  • Code Editors
  • Code Editor Context Menu
  • Source Code Viewer Toolbar


Source Code Viewer Toolbar [Enterprise Architect User Guide]

Source Code Viewer Toolbar

The toolbar buttons in the Source Code viewer enable you to edit, view and interact with the code contained in the Source Code viewer. The function of each button, from left to right, is described below:

The Toolbar:

Topics:

Topic

Detail

See also

Toolbar Options
  • Structure Tree - shows or hides the element hierarchy panel (the left panel of the Source Code viewer)
  • Line Numbers - shows or hides the line numbers against the lines of code
  • Source Code Engineering Properties - displays the Source Code Engineering page of the Options dialog, from which you can configure display and behavior options for source code engineering
  • Editor Functions - provides quick access to the following functions:
  • Open Corresponding File - opens the header or implementation file associated with the currently-open file
  • Go to Matching Brace - for a selected opening or closing brace, highlights the corresponding closing or opening brace in the pair
  • Go to Line - displays a small dialog on which you select the number of the line to highlight; click on the OK button to move the cursor to that line
  • Cursor History Previous - the Source Code viewer keeps a history of the previous 50 cursor positions, creating a record when the cursor is moved either more than 10 lines away from its previous position, or in a find-and-replace operation; the menu option moves the cursor to the position in the immediately-previous cursor history record
  • Cursor History Next - moves the cursor to the position in the immediately-following cursor history record
  • Record Macro - record the subsequent keystrokes to be saved as a macro
  • Stop Recording and Save Macro - stop recording the keystrokes and specify a name for the macro, on the Save Macro dialog
  • Play Macro - execute the macro to repeat the saved keystrokes, if necessary selecting the macro from the Open Macro dialog
  • Toggle Line Comment - comments out (//) or re-establishes the code for each full line in which text is highlighted
  • Toggle Stream Comment - inserts a stream comment (/* */) at the cursor position or comments out the highlighted characters and lines, or re-establishes the commented text as code
  • Toggle Whitespace Characters - shows or hides the spacing characters: --> (tab space) and . (character space)
  • Toggle EOL Characters - shows or hides the end-of-line characters: CR (carriage return) and LF (line feed)
  • Save Source and Resynchronize Class - saves the source code and resynchronizes the Class
  • Code Templates - accesses the Code Templates Editor
  • Find in Project Browser - for a selected line of code, highlights the appropriate structure in the Project Browser; if there is more than one possibility the Possible Matches dialog displays, listing the occurrences of the appropriate structure from which you can select the required one
  • Search in Files - searches for the selected object name in associated files and displays the results of the search on the File Search window
  • Search in Model - searches for the selected text throughout the model, and displays the results of the search on the Model Search window.
  • Go to Declaration - locates the declaration of a symbol in the source code
  • Go to Definition - locates the definition of a symbol in the source code (applicable to languages where symbols are declared and defined in separate files e.g. C++, Delphi)
  • Autocomplete List - displays the autocompletion list of possible values; double-click on a value to select it
  • Parameter Information - when the cursor is between the parentheses of an operation's parameter list, displays the operation's signature, highlighting the current parameter
  • Find Current Class in Project Browser - displays the name of the currently-selected Class in the code, and highlights that name in the Project Browser; if there is more than one possibility the Possible Matches dialog displays, listing the occurrences of the Class from which you can select the required one
  • Find Member - displays the name of the currently-selected attribute or method in the code, and highlights that name in the Project Browser; if there is more than one possibility the Possible Matches dialog displays, listing the occurrences of the feature from which you can select the required one

Source Code Engineering

Code Templates Editor

Find in Files

Model Search

Notes:

  • The Record Macro function disables Intellisense while the macro is being recorded
  • You can assign key strokes to execute the macro, instead of using the toolbar drop-down and Open Macro dialog

Learn More:

  • Intellisense
  • Editor Language Properties


Find and Replace [Enterprise Architect User Guide]

Find and Replace

Each of Enterprise Architect's code editors facilitates searching for and replacing terms in the editor, through the Find and Replace dialog.

Access:

Highlight the required text string and press:

  • ( Ctrl+F ) for the find controls only, or
  • ( Ctrl+R ) for both find and replace controls

In each instance, the Find what field is populated with the text currently selected in the editor. If no text is selected in the editor, the Find what field is populated with the word at the current cursor position. If no word exists at the current cursor position, the last searched-for term is used.

Basic Operations

Commands:

Command | Action | See also
Find Next | Locate and highlight the next instance (relative to the current cursor position) of the text specified in the Find what field. |
Replace | Replace the current instance of the text specified in the Find what field with the text specified in the Replace with field, and then locate and highlight the next instance (relative to the current cursor position) of the text specified in the Find what field. |
Replace All | Automatically replace all instances of the text specified in the Find what field with the text specified in the Replace with field. |

Options:

Option

Action

See also

Match Case

Specify that the case of each character in the text string in the Find what field is significant when searching for matches in the code.

Match whole word

Specify that the text string in the Find what field is a complete word and should not be matched with instances of the text that form part of a longer string.

For example, searches for ARE should not match those letters in instances of the words AREA or ARENA.

Search up

Perform the search from the current cursor position up to the start of the file, rather than in the default direction of current cursor position to end of file.

Use Regular Expressions

Evaluate specific character sequences in the Find what and Replace with fields as Regular Expressions (see below).

Topics:

Topic

Detail

See also

Regular Expressions

A Regular Expression is a formal definition of a search pattern, which can be used to match specific characters, words or patterns of characters. For the sake of simplicity, the Code Editor's 'find and replace' mechanism supports only a subset of the standard Regular Expression grammar.

Text in the Find what and Replace with fields is only interpreted as a Regular Expression if the Use Regular Expressions checkbox is selected in the Find and Replace dialog.

Meta sequences

If the Use Regular Expressions checkbox is selected, most characters in the Find what field are treated as literals (that is, they match only themselves). The exceptions are called metasequences. Each metasequence recognized in the Code Editor Find and Replace dialog is described in the following table.

Metasequence

Description

.

Represents any single character.

For example: .at is matched to cat, hat, bat and rat.

\<

Indicates that the text is the start of a word.

For example: \<cat is matched to catastrophe and cataclysm, but not concatenate.

\>

Indicates that the text is the end of a word.

For example: hat\> is matched to that and chat, but not hate.

( ... )

Indicates alternative single characters that can be matched. The characters can be specific - ( chr ) - or in an alphabetical or numerical range - ( a-m ) .

For example: ( hc ) at is matched to hat and cat but not bat.

For example: ( a-m ) Class is matched to any name in the range aClass - mClass.

( ^... )

Indicates alternative single characters that should be excluded from a match. The characters can be specific - ( ^chr ) - or in an alphabetical or numerical range - ( ^a-m ) .

For example: ( ^hc ) at is matched to rat and bat but hat and cat are excluded.

For example: ( ^a-m ) Class is matched to any name in the range nClass to zClass but aClass to mClass are excluded.

^

Matches the start of a line.

$

Matches the end of a line.

*

Matches the preceding character (or character set) 0 or more times.

For example: ba*t is matched to bt, bat, baat, baaat and so on.

For example: b( ea ) *t is matched to bt, bet, bat, beat, beet, baat and so on.

+

Matches the preceding character (or character set) 1 or more times.

For example: ba+t is matched to bat, baat and baaat but not bt.

For example: b( ea ) +t is matched to bet, bat, beat, beet and baat but not bt.

If a single character metasequence is preceded with a backslash (\) it is treated as a literal character. For example: c\( at\ ) matches
c( at ) as the square brackets are treated literally.

When the Use Regular Expressions checkbox is selected, a metasequence helper menu is available to the right of both of the Find what and Replace with fields. Selecting a metasequence from this menu inserts the metasequence into the field, replacing or wrapping the currently selected text as appropriate.

Tagged Regions

When 'find and replacing' with Regular Expressions, up to nine sections of the original term can be substituted into the replacement term. The metasequences \( and \) denote the start and the end of a tagged region. The section of the matched text that falls within the tagged region can be included in the replacement text with the metasequence \n (where n is the tagged region number between 1 and 9).

For example:

Find what: \(( A-Za-z ) +\)'s things

Replace with items that belong to \1

Original text: These are all Michael's things.
Replaced text: These are all items that belong to Michael.


Build [Enterprise Architect User Guide]

Build

The topics in this section describe how you specify the commands to build the project or package, using the Execution Analyzer Script Editor.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Build > Build
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Build > Build

Learn more:

  • Analyzer Script Editor
  • Add Commands

Learning Center topics:

  • (Alt+F1) | Build and Debug | Overview | Build


Add Commands [Enterprise Architect User Guide]

Add Commands

The Build page enables you to enter commands to build your project. You can use Enterprise Architect Local Paths and environment variables in composing your command line(s).

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Build > Build
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Build > Build

Reference:

Field

Action

See also

Execute Command As:

Batch File

Use this option to enter multiple commands, which are executed as entered in a command window; the command window has access to your environment variables

Process

Use this option to run a single program

The command should specify the path to the program, plus any command line arguments; if the executable path or any arguments contain spaces, they must be surrounded by quotes

Build Script

Write your script in the large text box, using the standard Windows Command Line commands; the format and content of this section depends on the actual compiler, make system, linker and so on that you use to build your project

You can specify, for example, compiler and linker options, and the names of output files; you can also wrap up all these commands into a convenient batch file and call that here instead

By specifying the token %r immediately preceding the files to be built, you can apply the command entered in the build script to all sub folders of the initial directory; Enterprise Architect iteratively replaces the token with any subpath found under the root and executes the command again

Examples:

Visual Studio:

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" /Rebuild Debug RentalSystem.sln

Using a Local Path:

"%VsCompPath%\devenv.exe" /build Debug Subway.sln

Java:

C:\Program Files (x86)\Java\jdk1.6.0_22\bin\javac.exe" -g -cp "%classpath%;." %r*.java

Using a Local Path:

"%JAVA%\bin\javac.exe" -g -cp "%classpath%;." %r*.java

Local Paths

Default Directory

Type in or browse for the default directory path into which the Build commands are to load the built application files

Parse Output

This enables you to select a method for automatically parsing the compiler output

If you select this option, output from the script is logged in the System Output window; Enterprise Architect parses the output according to the syntax you specify

The Output Window

Locate Compiler Errors in Code

Learning Center topics:

  • (Alt+F1) | Build and Debug | Build and Run | Build Scripts - Native
  • (Alt+F1) | Build and Debug | Build and Run | Build Scripts - .NET
  • (Alt+F1) | Build and Debug | Build and Run | Build Scripts - Java


Locate Compiler Errors in Code [Enterprise Architect User Guide]

Locate Compiler Errors in Code

When you build an application using a Build script, the compiler output is logged in Enterprise Architect's Output window. The output includes any compilation error messages that were generated.

Access: View | System Output

If you double-click on a compiler error message, Enterprise Architect loads the appropriate source file and positions the cursor on the line in the code at which the error was reported, as illustrated below:

Learn more:

  • The Output Window


Clean [Enterprise Architect User Guide]

Clean

This topic explains how you enter a command to clean your project prior to a build; for example, to delete cached items used for building the project so that the next build recreates from scratch.

In Java you might delete all Class files. .jar files and .war files in the project; Visual Studio projects, however, might issue a call to the Visual Studio Clean operation instead.

When you execute the Rebuild menu option on a script, the command you specify here is executed followed by the build command.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Build > Clean
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Build > Clean

Topics:

Topic

Detail

See also

Usage

Enter the command to be executed when you:

  • Click the Execution Analyzer toolbar Clean button or
  • Select Clean from the script context menu

Example

devenv.com /Clean Debug MyProject.sln

Learn more:

  • Add Commands


Debugging [Enterprise Architect User Guide]

Debugging

This section describes how you define the debugging actions:

  • How it works
  • Setup for Debugging
  • Tracepoint Output
  • Breakpoint and Marker Management
  • Debugging Actions
  • Recording Actions


How it Works [Enterprise Architect User Guide]

How it Works

The Model Driven Development Environment provides Debuggers for the following frameworks:

  • Microsoft Native Code applications
  • Microsoft .NET applications
  • Java applications
  • PHP.exe applications

Checklist:

Step | Action | See also
1 | A model must be open |
2 | Ensure any source code for the areas of interest have been generated, or imported into the model | Synchronize Model and Code

Option 1 - No Analyzer Script:

If you have not configured an Analyzer Script, you can still debug a process that is running.

Step

Action

See also

1

Optionally set breakpoints before debugging

2

Use the Attach button on the Debug toolbar

  • Select the debugging platform
  • Select the process to debug

Option 2 - Analyzer Script, with Debug Page Configured:

Step | Action | See also
1 | Ensure the application has been built You can do this internally using the Build Script, or you can build the application externally; the important thing is that the application is built on the latest versions of the source | Build
2 | Set breakpoints | Set Code Breakpoints
3 | Start the debugger | Start & Stop Debugger


Setup for Debugging [Enterprise Architect User Guide]

Setup for Debugging

To begin debugging you must specify

  • The debugger to use
  • The application path
  • Runtime options, if applicable

You specify these on the Platform page of the Analyzer Script dialog.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Debug > Platform
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Debug > Platform

Learn More:

  • Operating System Specific Requirements

Learning Center topics:

  • (Alt+F1) | Build and Debug | Overview | Debug


Operating System Specific Requirements [Enterprise Architect User Guide]

Operating System Specific Requirements

Important - Please read the information provided in this topic.

Topics:

Topic

Detail

See also

Prerequisites

Creation of an Analyzer script and configuration of the Debug command in that script

Supported Platforms

Enterprise Architect supports debugging on these platforms:

.NET

  • Microsoft™ .NET Framework 1.1 and later, including .NET 4
  • Language support: C, C#, C++, J#, Visual Basic

Java

  • Java 2 Platform Standard edition (J2SE) version 5.0
  • J2EE JDK 1.4 and above
  • Requires previous installation of the Java Runtime Environment and Java Development Kit from Sun Microsystems™

Debugging is implemented through the Java Virtual Machine Tools Interface (JVMTI), which is part of the Java Platform Debugger Architecture (JPDA); the JPDA is included in the J2SE SDK 1.3 and later

Windows for Native Applications

Enterprise Architect supports debugging native code (C, C++ and Visual Basic) compiled with the Microsoft™ compiler where an associated PDB file is available

You can import native code into your model, and record the execution history for any Classes and methods

You can also generate Sequence diagrams from the resulting execution path

PHP

Enterprise Architect enables you to perform local and remote debugging with PHP.exe

.NET

Java

Microsoft C++ and Native (C, VB)

The PHP Debugger

Notes:

  • Debugging under Windows Vista (x64) - if you encounter problems debugging with Enterprise Architect on a 64-bit platform, you should build a Win32 platform configuration in Visual Studio; that is, do not specify ANY-CPU, specify WIN32


UAC-Enabled Operating Systems [Enterprise Architect User Guide]

UAC-Enabled Operating Systems

The Microsoft operating systems Windows Vista and Windows 7 provide User Account Control (UAC) to manage security for applications.

The Enterprise Architect Visual Execution Analyser is UAC-compliant, and users of UAC-enabled systems can perform operations with the Visual Execution Analyser and related facilities under accounts that are members of only the Users group.

However, when attaching to processes running as services on a UAC-enabled operating system, it might be necessary to log in as an Administrator.

How To:

To log in as an Administrator, follow the step below:

Step | Action | See also
1 | Before you run Enterprise Architect, right-click on the Enterprise Architect icon on the desktop and select the Run as administrator option |

Alternatively, to edit or create a link to Enterprise Architect and configure the link to run as an Administrator, follow the steps below:

Step | Action | See also
1 | Right-click on the Enterprise Architect icon and select the Properties menu option The Enterprise Architect Properties dialog displays |
2 | Click on the Advanced button The Advanced Properties dialog displays |
3 | Select the Run as administrator checkbox |
4 | Click on the OK button, and again on the Enterprise Architect Properties dialog |


WINE Debugging [Enterprise Architect User Guide]

WINE Debugging

How To:

To configure Enterprise Architect to debug under WINE, follow the steps below:

Step | Action | See also
1 | At the command line, run $ winecfg |
2 | Set the library overrides for dbghelp to (native, builtin), and accept the warning about overriding this DLL |
3 | Set dbghelp to native by using winecfg |
4 | Copy the application source code plus executable(s) to your bottle The path must be the same as the compiled version; that is: If Windows source = C:\Source\SampleApp, under Crossover it must be C:\Source\SampleApp |
5 | Copy any Side-By-Side assemblies that are used by the application |
6 | Import the source code into Enterprise Architect (optional) |
7 | Create a build script on a package Set the path of the application on the Debug tab, and set the Use Debugger field to Microsoft Native | Build
8 | Open the Profiler (Analyzer | Profile) | Visual Execution Profiler
9 | Click on the Launch button (first button on the Profiler window) |
10 | If the sample didn't start, click on the Sampling button (third button on the Profiler window) |
11 | Once you have finished profiling, shut down the application (not Enterprise Architect) |
12 | View the Sampler report by clicking the View Report button (fifth button on the Profiler window) |

Topics:

Topic

Detail

See also

Access Violation Exceptions

Due to the manner in which WINE handles direct drawing and access to DIB data, an additional option is provided on the Debug window toolbar drop-down menu to ignore or process access violation exceptions thrown when your program directly accesses DIB data

Select this option to catch genuine (unexpected) access violations; deselect it to ignore expected violations

As the debugger cannot distinguish between expected and unexpected violations, you might have to use trial and error to capture and inspect genuine program crashes

Notes:

  • If WINE crashes, the back traces might not be correct
  • If you are using MFC remember to copy the debug side-by-side assemblies to the C:\window\winsxs directory
  • To add a windows path to WINE, modify the Registry entry:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment


Microsoft C++ and Native (C, VB) [Enterprise Architect User Guide]

Microsoft C++ and Native (C, VB)

 Return to Introduction

Topics:

Topic

Detail

See also

Usage

You can debug native code only if there is a corresponding PDB file for the executable; you normally create the PDB file as a result of building the application

The build should include full debug information and there should be no optimizations set

The script must specify two things to support debugging:

  • The path to the executable
  • Microsoft Native as the debugging platform

General Setup

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Microsoft Native


General Setup [Enterprise Architect User Guide]

General Setup

This is the general setup for debugging Microsoft Native Applications (C++, C, Visual Basic). You have two options when debugging:

  • Debug an application
  • Attach to an application that is running

Option 1 - Debug an application

Field | Action | See also
Debugger | Select Microsoft Native as the debugging platform |
Mode | Select the Run radio button |
Default Directory | This is set as the default directory for the process being debugged |
Application Path | Select and enter either the full or the relative path to the application executable |
Command Line Arguments | Parameters to pass to the application at startup |
Show Console | Create a console window for the debugger; not applicable for attaching to a process |
Symbol Search Paths | Specify any additional paths to locate debug symbols for the debugger; separate the paths with a semi-colon |

Option 2 - Attach to an application that is running

Field | Action | See also
Debugger | Select Microsoft .NET as the debugging platform |
Mode | Select the Attach to Process radio button |
Symbol Search Paths | Specify any additional paths to locate debug symbols for the debugger You could specify a symbol server here if you prefer; separate the paths with a semi-colon or comma |


Debug Symbols [Enterprise Architect User Guide]

Debug Symbols

Topics:

Topic

Detail

See also

Abstract

For applications built using Microsoft Platform SDK, Debug Symbols are written to an application PDB file when the application is built

The Debugging Tools for Windows, an API used by the Visual Execution Debugger, uses these symbols to present meaningful information to Execution Analyzer controls

These symbols can easily get out of date and cause errant behaviour - the debugger might highlight the wrong line of code in the editor whilst at a breakpoint; it is therefore best to ensure the application is built prior to any debugging or recording session

The debugger must inform the API how to reconcile addresses in the image being debugged; it does this by specifying a number of paths to the API that tell it where to look for PDB files

For system DLLs (kernel32, mfc90ud) for which no debug symbols are found, the Call Stack shows some frames with module names and addresses only

You can supplement the symbols translated by passing additional paths to the API; you pass additional symbol paths in a semi-colon separated list in the Debug tab


Java [Enterprise Architect User Guide]

Java

This section describes how to set up Enterprise Architect for debugging Java applications and Web Servers.

Learn More:

  • General Setup for Java
  • Advanced Techniques
  • Working with Java Web Servers


General Setup for Java [Enterprise Architect User Guide]

General Setup for Java

This is the general setup for debugging Java Applications. You have two options when debugging.

  • Debug an Application
  • Attach to an application that is running

Option 1 - Debug an Application

Field

Action

See also

Debugger

Select Java

Mode

Select Run

Default Directory

This path is added to the class path property when the Java Virtual Machine is created

Application Class

Identify the fully qualified Class name to debug; the Class must have a method declared with the following signature:

public static void main(String( ) );

Command Line Arguments

Specify any parameters to be passed to the main method of the Application Class above

Parameters containing spaces should be surrounded with double quotes

Java Virtual Machine Options

Specify command line options for Virtual Machine creation

You also must provide a parameter (jre) that is a path to be searched for the jvm.dll; this is the DLL supplied as part of the Java runtime environment or Java JDK from Sun MicrosystemsTM

In the example above, a virtual machine is created with a new Class path property that comprises any paths named in the CLASSPATH environment variable plus the default directory

If no Class path is specified, the debugger always creates the virtual machine with a Class path property equal to any path contained in the environment variable plus the path entered in the default working directory of this script

If source files and .class files are located under different directory trees, the Class path property MUST include both root path(s) to the source and root path(s) to binary class files

Option 2 - Attach to Virtual Machine

There is very little to specify when attaching to a VM; however, the VM must have the Sparx Systems debugging agent loaded.

Field | Action | See also
Debugger | Select Java | Attach to Virtual Machine Debug Tomcat Server
Mode | Select Attach to Virtual Machine

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Java


Advanced Techniques [Enterprise Architect User Guide]

Advanced Techniques

In addition to the standard Java debugging techniques, you can:

  • Attach to a Virtual Machine
  • Debug Internet Browser Java Applets.


Attach to Virtual Machine [Enterprise Architect User Guide]

Attach to Virtual Machine

Topics:

Topic

Detail

See also

Abstract

You can debug a Java application by attaching to process that is hosting a Java Virtual Machine; you might want to do this for attaching to a webserver such as Tomcat or JBOSS

The Java Virtual Machine Tools Interface from Sun Microsystems, is the API used by Enterprise Architect; it allows a debugging agent to be specified when the JVM is created

To debug a running JVM from Enterprise Architect, the Sparx Systems' debugging agent must have been specified as a startup option to the JVM when it was started; how this accomplished for products such as Tomcat and JBOSS should be researched from that product's own documentation

For java.exe, the command line option to load the Enterprise Architect debugging agent is:

-agentlib:SSJavaProfiler75

or:

-agentpath:"c:\program files\sparx systems\ea\SSJavaProfiler75"

It is not necessary to configure an Analyzer Script when you attach to a Virtual Machine; you can just use the Attach button on one of the Analyzer toolbars

If you configure an Analyzer Script, there are only two things that must be selected:

  • Select Java as the debugging platform
  • Choose the Attach to Virtual Machine option


Internet Browser Java Applets [Enterprise Architect User Guide]

Internet Browser Java Applets

This topic describes the configuration requirements and procedure for debugging Java Applets running in a browser from Enterprise Architect.

How To:

To attach to the browser process hosting the Java Virtual Machine (JVM) from Enterprise Architect, follow the steps below:

Step | Action | See also
1 | Ensure binaries for the applet code to be debugged have been built with debug information |
2 | Configure the JVM using the Java Control Panel |
3 | In the Java Applet Runtime Settings panel, click on the View button |
4 | On the installed version to use, include the following option in the Runtime Parameters field: -agentpath:c:\program files\sparx systems\ea\SSJavaProfiler75 |
5 | In this field add the required Class paths At least one of these paths should include the root path of the source files to use in debugging |
6 | Set breakpoints | Breakpoint and Marker Management
7 | Launch the browser |
8 | Attach to the browser process from Enterprise Architect |


Working with Java Web Servers [Enterprise Architect User Guide]

Working with Java Web Servers

This topic describes the configuration requirements and procedure for debugging Java web servers such as JBOSS and Apache Tomcat (both Server configuration and Windows Service configuration) in Enterprise Architect.

How To:

To attach to the process hosting the Java Virtual Machine from Enterprise Architect, follow the steps below:

Step | Action | See also
1 | Ensure binaries for the web server code to be debugged have been built with debug information |
2 | Launch the server with the Virtual Machine startup option described in Server Configuration, below |
3 | Import source code into the Enterprise Architect Model, or synchronize existing code |
4 | Set breakpoints | Breakpoint and Marker Management
5 | Launch the client |
6 | Attach to the process from Enterprise Architect |

Topics:

Topic

Detail

See also

Server Configuration

The configuration necessary for the web servers to interact with Enterprise Architect must address the following two essential points:

  • Any VM to be debugged, created or hosted by the server must have the Sparx Systems Agent SSJavaProfiler75 command line option specified in the VM startup option (that is:
    -agentlib:SSJavaProfiler75)
  • The CLASSPATH, however it is passed to the VM, must specify the root path to the package source files

The Enterprise Architect debugger uses the java.class.path property in the VM being debugged, to locate the source file corresponding to a breakpoint occurring in a Class during execution; for example, a Class to be debugged is called:

a.b.C

This is located in physical directory:

C:\source\a\b

So, for debugging to be successful, the CLASSPATH must contain the root path:

c:\source

Analyzer Script Configuration

Using the Debug tab of the Build Script dialog, create a script for the code you have imported and:

  • Select the Attach to process radio button and, in the field below, type attach
  • In the Use Debugger field, click on the drop-down arrow and select Java

All other fields are unimportant; the Directory field is normally used in the absence of any Class path property

General Setup for Java

How To:

To debug, follow the steps below:

Step | Action | See also
1 | Ensure that the server is running, and that the server process has loaded the Sparx Systems Agent DLL SSJavaProfiler75.DLL (Use Process Explorer or similar tools to prove this) |
2 | In Enterprise Architect, open the source code and set some breakpoints | Breakpoint and Marker Management
3 | Click on the Debug button in Enterprise Architect The Attach To Process dialog displays | Start and Stop Debugger
4 | Select the server process hosting the application |
5 | Click on the OK button A confirmation message displays in the Debug Output window, stating that the process has been attached |

The breakpoints could show a question mark. In this case the Class might not have been loaded yet by the VM. If the question mark remains even after you are sure the Class containing the breakpoint has been loaded, then either:

  • The binaries being executed by the server are not based on the source code
  • The debugger cannot reconcile the breakpoint to a source file (check class paths), or
  • The JVM has not loaded the Sparx Systems agent

Learn More:

  • JBOSS Server
  • Apache Tomcat Server
  • Apache Tomcat Windows Service


JBOSS Server [Enterprise Architect User Guide]

JBOSS Server

Topics:

Topic

Detail

See also

Abstract

Consider the JBoss example below; the source code for a simple servlet is located in the directory location:

C:\Benchmark\Java\JBOSS\Inventory

The binaries executed by JBOSS are located in the JAW.EAR file in this location:

C:\JBOSS\03b-dao\build\distribution

The Enterprise Architect debugger has to be able to locate source files during debugging; to do this it also uses the CLASSPATH, searching in any listed path for a matching JAVA source file, so the CLASSPATH must include a path to the root of the package for Enterprise Architect to find the source during debugging

The following is an excerpt from the command file that executes the JBOSS server; the Class to be debugged is at:

com/inventory/dto/carDTO

Therefore, the root of this path is included in the JBOSS classpath

Example Code

RUN.BAT

-------------

set SOURCE=C:\Benchmark\Java\JBOSS\Inventory

set JAVAC_JAR=%JAVA_HOME%\lib\tools.jar

if "%JBOSS_CLASSPATH%" == ""

(

set JBOSS_CLASSPATH=%SOURCE%;%JAVAC_JAR%;%RUNJAR%;

)

else

(

set JBOSS_CLASSPATH=%SOURCE%;%JBOSS_CLASSPATH%;%JAVAC_JAR%;%RUNJAR%;

)

set JAVA_OPTS=%JAVA_OPTS% -agentpath:"c:\program files\sparx systems\ssjavaprofiler75"


Apache Tomcat Server [Enterprise Architect User Guide]

Apache Tomcat Server

Topics:

Topic

Detail

See also

Configuration

This configuration is for the same application as outlined in the JBOSS server configuration topic

The following two points are important:

  • The Java VM option:
    -agentpath:c:\program files\sparx systems\ea\ssjavaprofiler75
  • The addition to the Class path property of the path to the source code:
    C:\JBOSS\03b-dao\common\src;

Tomcat Server Configuration Example

Tomcat Server Configuration Example

JBOSS Server


Apache Tomcat Windows Service [Enterprise Architect User Guide]

Apache Tomcat Windows Service

Topics:

Topic | Detail | See also
Configuration | For users running Apache Tomcat as a WindowsTM service, it is important to configure the service to enable interaction with the Desktop; failure to do so causes debugging to fail within Enterprise Architect tomcat service config Select the Allow service to interact with desktop checkbox |


.NET [Enterprise Architect User Guide]

.NET

This section describes how to configure Enterprise Architect for debugging .NET applications. It covers:

  • General Setup
  • Debugging Managed code in an Unmanaged Application
  • Debug COM Interop
  • Debug ASP .NET


General Setup for .NET [Enterprise Architect User Guide]

General Setup for .NET

This is the general setup for debugging Microsoft .NET applications. You have two options when debugging:

  • Debug an Application
  • Attach to an application that is running

Option 1 -Debug an application

Field | Action | See also
Debugger | Select Microsoft .NET as the debugging platform | Debugging an Unmanaged Application Debug ASP.NET
Mode | Select the Run radio button
Default Directory | This is set as the default directory for the process being debugged
Application Path | Select and enter either the full or the relative path to the application executable
Command Line Arguments | Parameters to pass to the application at startup
Show Console | Create a console window for the debugger; not applicable to attaching to a process
Symbol Search Paths | Specify any additional paths to locate debug symbols for the debugger; separate the paths with a semi-colon

Option 2 - Attach to an application that is running

Field | Action | See also
Debugger | Select Microsoft .NET as the debugging platform | Debugging an Unmanaged Application Debug ASP.NET
Mode | Select the Attach to Process radio button

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Microsoft .NET


Debugging an Unmanaged Application [Enterprise Architect User Guide]

Debugging an Unmanaged Application

Topics:

Topic

Detail

See also

Usage

If you are debugging managed code using an unmanaged application, the debugger might fail to detect the correct version of the Common Language Runtime (CLR) to load

You should specify a config file if you don’t already have one for the debug application specified in the Debug command of your script

The config file should reside in the same directory as your application, and take the format:

name.exe.config

where name is the name of your application

The version of the CLR you specify should match the version loaded by the managed code invoked by the debuggee

The following is a sample config file:

<configuration>

<startup>

<requiredRuntime version="version "/>

</startup>

</configuration>

Version is the version of the CLR targeted by your plugin or COM code

http://www.msdn2.microsoft.com/en-us/library/9w519wzk.aspx (Online Resource)


Debug COM Interop [Enterprise Architect User Guide]

Debug COM Interop

Enterprise Architect enables you to debug .NET managed code executed using COM in either a Local or an In-Process server.

This feature is useful for debugging Plugins and ActiveX components.

How To:

Step | Action | See also
1 | Create a package in Enterprise Architect and import the code to debug | Software Engineering
2 | Ensure the COM component is built with debug information |
3 | Create a Script for the Package |
4 | In the Debug > Platform page, you can select to either attach to an unmanaged process or specify the path to an unmanaged application to call your managed code |
5 | Add breakpoints in the source code to debug |

Topics:

Topic

Detail

See also

Attach to an Unmanaged Process

If you are using:

  • An In-Process COM server, attach to the client process
  • A Local COM Server, attach to the server process

Click on the Debug window Run button (or press ( F6 ) ) to display a list of processes from which you can choose

Notes:

  • Detaching from a COM interop process you have been debugging terminates the process; this is a known issue for Microsoft .NET Framework, and information on it can be found on many of the MSDN .NET blogs


Debug ASP .NET [Enterprise Architect User Guide]

Debug ASP .NET

Topics:

Topic

Detail

See also

Usage

Debugging for web services such as ASP requires that the Enterprise Architect debugger is able to attach to a running service

Begin by ensuring that the directory containing the ASP .NET service project has been imported into Enterprise Architect and, if required, the web folder containing the client web pages

If your web project directory resides under the website hosting directory, you can import from the root and include both ASP code and web pages at the same time

It is necessary to launch the client first, as the ASP .NET service process might not already be running; load the client using your browser - this ensures that the web server is running

In the debug setup you must select the Attach to process radio button, and then type the keyword Attach in the script; this keyword causes the debugger to prompt you for a process at runtime

Click on the Debug window Run button to start the debugger; the Attach To Process dialog displays

The name of the process varies across Microsoft operating systems, as explained in the ASP .NET SDK; for example, under Windows Vista the name of the IIS process is w3wp.exe

On Windows XP, the name of the process resembles aspnet_wp.exe, although the name could reflect the version of the .NET framework that it is supporting

There can be multiple ASP.NET processes running under XP; you must ensure that you attach to the correct version, which would be the one hosting the .NET framework version that your application runs on; check the web.config file for your web service to verify the version of .NET framework it is tied to

The Debug window Stop button should be enabled and any breakpoints should be red, indicating they have been bound

Start and Stop Debugger

Breakpoint and Marker Management

You can set breakpoints at any time in the web server code. You can also set breakpoints in the ASP web page(s) if you imported them.

Notes:

  • Some breakpoints might not have bound successfully, but if none at all are bound (indicated by being dark red with question marks) something has gone out of sync; try rebuilding and re-importing source code


The PHP Debugger [Enterprise Architect User Guide]

The PHP Debugger

The Enterprise Architect PHP Debugger enables you to debug PHP.exe scripts. This section discusses basic setup and the various debugging scenarios that are commonly encountered; the scenarios concern themselves with the mapping of file paths, which is critical to the success of a remote debugging session.

  • Script Setup
  • Local Windows Machine (Apache Server)
  • Local Windows Machine (PHP.exe)
  • Remote Linux Machine (Apache Server)
  • Remote Linux Machine (PHP.exe)

Topics:

Topic

Detail

See also

Script Setup

An Analyzer Script is a basic requirement for debugging in Enterprise Architect; you create a script using the toolbar of the Execution Analyzer

Select PHPXDebug as the debugging platform; when you select this platform the property page displays the following connection settings:

Field | Value | Meaning
port | 9000 | The port that Enterprise Architect listens on for the specified adaptor
host | localhost | The adaptor that Enterprise Architect listens on for incoming connections from PHP
localpath | %LOCAL% | Specifies the local file path to be mapped to a remote file path This is a remote debugging setting; for local debugging, clear the value The value is a placeholder; you should edit it to fit your particular scenario
remotepath | %REMOTE% | Specifies the remote file path that a local file path is to be mapped to This is a remote debugging setting; for local debugging, clear the value The value is a placeholder; you should edit it to fit your particular scenario

Local Machine Apache Server

In this situation, consider the following configuration:

  • O/S: Windows7
  • Network computer name: MyPC
  • Network share MyShare mapped to c:\myshare
  • Source files in Enterprise Architect have been imported from c:\myshare\apache\myapp\scripts
  • Apache document root is set to //MyPC/MyShare/apache

In this scenario an Analyzer Script for the connection parameters might be configured as follows:

  • host: localhost
  • port: 9000
  • localpath: c:\myshare\apache\
  • remotepath: MyPC/MyShare/apache/

Local Machine PHP.EXE

In this scenario an Analyzer Script for the connection parameters might be configured as follows, as file paths always map to same physical path:

  • host: localhost
  • port: 9000
  • localpath:
  • remotepath:

Remote Linux Machine Apache Server

In this situation consider the following configuration:

  • Local Machine
  • O/S: Windows7
  • Source files in Enterprise Architect have been imported from c:\myshare\apache\myapp\scripts
  • Remote Machine
  • O/S: Linux
  • Apache document root is set to home/apache/htdocs
  • Source files in Apache are located at home/apache/htdocs/myapp/scripts

In this scenario an Analyzer Script for the connection parameters might be configured as follows:

  • host: localhost
  • port: 9000
  • localpath: c:\myshare\apache\
  • remotepath: home/apache/htdocs/

Remote Linux Machine PHP.exe

In this situation consider the following configuration:

  • Local Machine
  • O/S: Windows7
  • Source files in Enterprise Architect have been imported from c:\myshare\apache\myapp\scripts
  • Remote Machine
  • O/S: Linux
  • Source files in Apache located at home/myapp/scripts

In this scenario an Analyzer Script for the connection parameters might be configured as follows:

  • host: localhost
  • port: 9000
  • localpath: c:\myshare\apache\
  • remotepath: home/

Learn more:

  • PHP Debugger - System Requirements
  • PHP Debugger Checklist

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | PHP


PHP Debugger - System Requirements [Enterprise Architect User Guide]

PHP Debugger - System Requirements

This topic identifies the system requirements and operating systems for the Enterprise Architect PHP debugger.

System Requirements:

  • Enterprise Architect version 9
  • PHP version 5.3 or above
  • PHP zend extension XDebug 2.1 or above
  • For web servers such as Apache, a server version that supports the PHP version

Supported Operating Systems:

  • Client (Enterprise Architect)
  • Microsoft Windows XP and above
  • Linux running Crossover Office
  • Server (PHP)
  • Microsoft Windows XP and above
  • Linux


PHP Debugger Checklist [Enterprise Architect User Guide]

PHP Debugger Checklist

This topic provides a supplementary checklist and troubleshooting guide for debugging PHP scripts in Enterprise Architect.

Topics:

Topic

Detail

See also

System Requirements
  • Apache HTTP Web Server version 2.2
  • PHP version 5.3 or above
  • XDebug version 2.1.1

http://httpd.apache.org/

http://windows.php.net/

http://www.xdebug.org/download.php

Checklist

Enterprise Architect
  • The model has an Analyzer Script configured to use the PHP XDebug platform
  • PHP source code has been imported into the model (for recording and testpoints)
  • When the PHP XDebug platform is selected from the Analyzer Script dialog, default runtime settings are listed in the Connection field
  • localpath:%LOCAL%
  • remotepath:%REMOTE%

Either define local paths for these default variables or edit the script to provide actual paths

For example: local source, remote source

localpath:c:\code samples\vea\php\sample

remotepath:webserver/sample

where:

  • webserver is a network or local share
  • sample is a folder below share

PHP

In order to debug PHP scripts in Enterprise Architect, it is a requirement that the PHP is configured properly to load the XDebug extension

Settings similar to those below should be used:

  • [xdebug]
  • xdebug.extended_info=1
  • xdebug.idekey=ea
  • xdebug.remote_enable=1
  • xdebug.remote_handler=dbgp
  • xdebug.remote_autostart=1
  • xdebug.remote_host=X.X.X.X
  • xdebug.remote_port=9000
  • xdebug.show_local_vars=1

The IP address X.X.X.X refers to and should match the host specified in the model Analyzer Script

The IP address is the address XDebug connects with and the same address the Enterprise Architect PHP agent listens on

Apache

For debugging using Apache, the following lines should be present in the Apache configuration file, httpd.conf

LoadModule php5_module "php_home/php5apache2_2.dll"
AddHandler application/x-httpd-php .php

PHPIniDir "php_home"

where php_home is the PHP installation path (the path where php.ini and apache dll exist)

Troubleshooting

To prevent both PHP and Apache timeouts during a debugging session, the settings below might require modification

These settings were used while developing the PHP Debugging agent in Enterprise Architect

PHP

File: php.ini

; EA prevent PHP timeouts when debugging PHP extensions
max_execution_time = 0

; EA prevent web server timeouts when debugging PHP extensions
max_input_time = -1

; EA log errors
display_errors = On

; EA display startup errors
display_startup_errors = On

Apache

File: httpd.conf

; EA prevent timeouts while debugging php extensions
Timeout 60000


Tracepoint Output [Enterprise Architect User Guide]

Tracepoint Output

The Tracepoints page of the Analyzer Script enables you to direct where the output from any Trace statements goes during a debug session.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Debug > Tracepoints
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Debug > Tracepoints

Field

Detail

See also

Output

You can select from two options:

  • Screen (Default) - The output is directed to the Debugger Window
  • File - The output is directed to file

Folder

Enter the folder to use for Trace statement log files

Filename

Enter the name to use for the Trace statement log files

Overwrite

If selected, the specified file is overwritten each time a debug session is started

Auto Number

If selected, the Trace log file is composed of the filename you specify and a number

Each time you start a Debug session, the number is incremented

Prefix trace output with function

If selected, any Trace statements executed during the Debug session run are prefixed with the current function call


Breakpoint and Marker Management [Enterprise Architect User Guide]

Breakpoint and Marker Management

Breakpoints work in Enterprise Architect much like in any other debugger. Adding a breakpoint notifies the debugger to trap code execution at the point you have specified. When a breakpoint is encountered by a thread of the application being debugged, the source code is displayed in an editor window, and the line of code where the breakpoint occurred is highlighted.

Selecting a different package in the project affects which breakpoints are displayed. An Enterprise Architect model maintains breakpoints for every package having a Build Script - Debug command.

Access: Analyzer | Breakpoints & Markers

The Breakpoint and Markers Options:

Option

Detail

See also

Delete a breakpoint or marker

To delete a specific breakpoint:

  • If the breakpoint is enabled, click on the red breakpoint circle in the left margin of the Source Code Editor, or
  • Right-click on the breakpoint or marker in the Source Code Editor, the Breakpoints folder or the Breakpoints & Markers window and select the Delete context menu option, or
  • Select the breakpoint in the Breakpoints & Markers tab and press ( Delete )

Setting Code Breakpoints

Delete all breakpoints

Click on the Delete all breakpoints button on the Breakpoints & Markers window toolbar ( Delete Breakpoints )

Convert breakpoint to Start Recording marker or End Recording marker

(For Visual Execution Analysis, when recording execution to generate a Sequence diagram)

In the Breakpoints folder or the Breakpoints & Markers window, right-click on the breakpoint and select the context menu option to convert it to either a Start Recording marker or an End Recording marker

Recording Sequence Diagrams

Disable a breakpoint

Deselect the checkbox against the breakpoint or marker, on the Breakpoints & Markers window

The breakpoint is then shown as an empty grey circle

Enable a breakpoint or marker

Select the checkbox against the breakpoint or marker, on the Breakpoints & Markers window

Disable all breakpoints

Click on the Disable all breakpoints button in the Breakpoints & Markers window toolbar ( Disable all breakpoints )

Enable all breakpoints

Click on the Enable all breakpoints button in the Breakpoints & Markers window toolbar ( Enable all breakpoints )

Change the stack depth

Set the number of stack levels to record to, relative to the level at which recording starts

Control Stack Depth

Identify or change the marker set

Check the VEA-BPSet field in the Breakpoints & Markers window toolbar

If necessary, click on the drop down arrow and select a different marker set

The Default set is normally used for debugging and is personal to your user ID; other marker sets are shared between all users within the model

Working with Marker Sets

Change how breakpoints and markers are grouped on the Breakpoint & Markers window

The breakpoints and markers can be grouped by Class or by code file

To group the items, click on the down arrow on the VEA-BPView icon in the toolbar, and click on the appropriate option

If you do not want to group the items, click on the selected option to deselect it; the breakpoints and markers are line listed by line number

Breakpoint States:

DEBUGGER STATE
 | Running | Not running | See also
 | Bound | Enabled |
disabled breakpoint | Disabled | Disabled |
 | Not bound - this usually means that the DLL is not yet loaded or was not built with debug information | N/a |
 | Failed - this usually means a break could not be set at this time | N/a | Failure to Bind Breakpoint

Learn more:

  • Marker Types


Setting Code Breakpoints [Enterprise Architect User Guide]

Setting Code Breakpoints

Normal Breakpoints are typically set on a line of source code. When the Debugger hits the indicated line during normal execution, the Debugger halts execution and displays the local variables, call stack, threads and other run-time information.

How To:

To set a breakpoint on a line of code, follow the steps below:

Step

Action

See also

1

Open the source code to debug in the integrated source code editor;

2

Find the appropriate code line and click in the left margin column. A solid red circle in the margin indicates that a breakpoint has been set at that position.

If the code is currently halted at a breakpoint, that point is indicated by a blue arrow next to the marker.

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Add Breakpoint


Setting Data Breakpoints [Enterprise Architect User Guide]

Data Breakpoints

Data breakpoints enable the debugger to halt execution when the value of a pre-determined memory variable is changed. This can be useful when trying to track down the point at which a variable is modified during program execution, especially if it is not clear how program execution is affecting a particular object state.

Topics:

Topic

Detail

See also

Setting Data Breakpoints

Data breakpoints can be set by right-clicking on the variable in the Locals window and selecting the Break When Variable is Modified context menu option

This means that in order to establish a data breakpoint you must first set a normal breakpoint at a point in the code that presents the required scope of local variables to choose from

Once the program has halted execution, locate the variable of interest and select the Break When Variable is Modified context menu option

Viewing the value of local variables

Breakpoint and Marker Management

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Add Data Breakpoint


Breakpoint Properties [Enterprise Architect User Guide]

Breakpoint Properties

Breakpoints in Enterprise Architect support a number of additional properties that change when a breakpoint is hit, and determine what happens when it is hit.

Access: Breakpoint Context Menu | Properties

Use to:

  • Change breakpoint actions
  • Move the breakpoint to another line
  • Add constraints to restrict when a breakpoint is hit
  • Add information to be logged when the breakpoint is hit

Reference:

Field | Usage | See also
Action | Change the behavior when the breakpoint is hit | Marker Types
Line | Change the line that this breakpoint is on |
Constraints | Associate a condition with the breakpoint The program is allowed to run if the condition is not met when the breakpoint is encountered |
Log | Log information to the Debug Output window when the breakpoint is hit |

Specifying constraints:

You can compose constraints using any variables that are in scope at the time the breakpoint occurs. For example:

m_strName="John"

m_strName=""

m_nCount > 0

You can also join constraints using logical operands, for example:

m_strName="John" AND m_nCount > 0

You can access elements of an array or pointer, for example:

m_pNames[10]="John"

You can also nest constraints using parentheses to impose precedence, for example:

( x>0 AND y>0) OR (x < 0 AND y < 0)

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Breakpoint Properties


Failure to Bind Breakpoint [Enterprise Architect User Guide]

Failure to Bind Breakpoint

Topic

Detail

See also

Breakpoint Failures

A breakpoint failure occurs if there is a problem in binding the breakpoint

A warning message displays in the Details column of the Breakpoints & Markers window, identifying the type of problem; for example:

  • The source file for the breakpoint does not match the source file used to build the application image
  • The time date stamp on the file is greater than that of the image

A warning message is also output to the Debug Output window


Trace Statements [Enterprise Architect User Guide]

Trace Statements

Tracepoints are set in the code editor. Like breakpoints, they are placed on a line of code. When that line of code executes, the Execution Analyzer evaluates and prints the statement either to the Debugger output window or to file, if this has been configured in the Analyzer script.

How to:

To set Tracepoints, follow the steps below:

Step | Action | See also
1 | Open the source code to debug in the integrated source code editor |
2 | Find the appropriate code line, right-click in the left margin and select the Analyzer | Add Tracepoint Marker context menu option |
3 | VEA-TracePoint |
4 | Right-click on the Tracepoint and choose the Properties context menu option |
5 | In the Log field type the required Trace statement | Testpoint Management

Specifying Tracepoints:

Using the example in the image above, we could output the number of people getting off a train by using the following statement:

There were @Passengers before @PeopleOFF got off the train

To print a variable, precede the variable name with the @ token. If a variable represents a string you should precede the variable with a $ token.

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | Add Tracepoint


Debugging Actions [Enterprise Architect User Guide]

Debugging Actions

This section describes the actions you perform in running a debug session. It covers:

  • Starting and Stopping the Debugger
  • Debugging a Subsequent Process
  • Stepping Over Lines of Code
  • Stepping Into Function Calls
  • Stepping Out of Functions
  • View the Call Stack
  • Viewing the Local Variables
  • Viewing the Content of Long Strings
  • Viewing Variables in Other Scopes
  • Inspecting Process Memory
  • Setting Breaks for When a Variable Changes Value
  • Showing Loaded Modules
  • Showing Output from the Debugger
  • Debugging Tooltips in Code Editors.


View the Call Stack [Enterprise Architect User Guide]

View the Call Stack

The Call Stack window is used to display all currently running threads in a process. It can be used to identify which thread is operational immediately before program failure occurs. A Stack trace is displayed whenever a thread is suspended, through one of the step actions or through encountering a breakpoint. The Call Stack can record a history of Stack changes along with the ability to generate Sequences Diagrams from this history.

Access: Analyzer | Call Stack

Use To:

  • View Stack history to understand the execution of a process
  • View Threads
  • Save a Call Stack for later use
  • Record Call Stack changes for Sequence Diagram generation
  • Generate a Sequence Diagram from the Call Stack
  • View the related code line in Source Code Editor

Topics:

Topic

Icon

Detail

See also

Indicators
  • A green or yellow arrow highlights the current stack frame
  • A blue arrow indicates a thread that is running
  • A red arrow indicates a thread for which a stack trace history is being recorded

Actions

Toolbar Actions:

  • Save a Call Stack to file
  • Generate a Sequence diagram from the current Stack
  • Copy Stack to Recording History - adds the stack details to the Record History for Sequence Diagram generation
  • Toggle Stack Depth - show either the full Stack View or only frames with source
  • Double-clicking a thread/frame takes you to the related line of code in the Source Code Editor; local variables are also refreshed for the selected frame

Right-click on an items in the Stack list and select context menu options to:

  • Record Stack changes
  • Auto-Record
  • Stop the Recording
  • Generate a Sequence Diagram of the Stack
  • Copy Stack to Record History

Toolbar

Saveicon

Save Stack to file

seqicon

Generate Sequence diagram from Stack

Copystackicon

Copy Stack to recording history

VEA - StackToggle

Toggle Stack View

Stoprecordingicon

Stop recording

Learn More:

  • Breakpoint and Marker Management


View the Local Variables [Enterprise Architect User Guide]

View the Local Variables

Whenever a thread encounters a breakpoint, this window displays all the local variables for the thread at its current stack frame.

Access:

The value and the type of any in-scope variables are displayed in a tree. Local variables are displayed with colored box icons with the following meanings:

Color | Meaning
Blue | Object with members
Green | Arrays
Pink | Elemental types
Yellow | Parameters
Red | Workbench Instance

Learn More:

  • Breakpoint and Marker Management
  • View the Call Stack


View Content Of Long Strings [Enterprise Architect User Guide]

View Content Of Long Strings

Topics:

Topic

Detail

See also

Debugging Actions - View Entire Content Of Long Strings

For efficiency, the Locals window only shows partial strings; the size of any variable value displayed in the window can be up to 256 characters

To view the entire value of a variable, right-click on it and select the View in Editor context menu option; the String Viewer dialog displays


View Elements of Array [Enterprise Architect User Guide]

View Elements of Array

Access: Analyzer | Watches

It is not always possible to evaluate the content of large data structures or arrays using the local variables display. To inspect one or more elements of an array you can use the Watches window. In the toolbar edit box you type the name of the variable followed by the start element and the number of elements to display. The start element is enclosed in square brackets and the count of elements is enclosed in parentheses, as follows:

variable[ start_element ]( count_of_elements )

m_pStrings[0](10) | Displays ten elements of string array starting at element zero. | char* m_pStrings;
m_Numbers[100] | Displays the 100th element of integer array m_Numbers | int m_Numbers[200]


View Variables in Other Scopes [Enterprise Architect User Guide]

View Variables in Other Scopes

Topics:

Topic

Detail

See also

Watches

The Watches window is most useful for native code (C, C++, VB) where it can be used to evaluate data items that are not available as Local Variables - data items with module or file scope and static Class member items

You can also use the window to evaluate static Class member items in Java and .NET

To use the Watches window, type the name of the variable to examine in the field in the window toolbar, and either press ( Enter ) or click on the Add new watched item icon

To examine a static Class member variable in C++, Java or Microsoft .NET, enter its fully qualified name; for example:

CMyClass::MyStaticVar

To examine a C++ data symbol with module or file scope, just enter its name

Variables are evaluated by looking at the current scope; that is, the module of the current stack frame (you can change the scope at a breakpoint by double-clicking the frame in the call stack)

If the global variable exists in a different module, you can examine the variable by prefixing the module name to the variable; for example:

modulename!variable_name

The names of the items to evaluate persist for the package and user ID, so the next time you debug the same project, the items evaluate automatically whenever a breakpoint occurs; they do not appear if another user debugs the same code

If necessary, you can delete items using the Delete all watched items icon in the toolbar, or the right-click context menu option inside the window

View the Local Variables

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | View Global Variable


Variable Snapshots [Enterprise Architect User Guide]

Variable Snapshots

Snapshots allow you to compare the value of an object at one point in time with its value at a later point in time. You can take a snapshot of a variable when the program is at a breakpoint. The debugger copies the values of not only the selected variable but any of its members and and so on until it can find no debug information for a member or no more members can be found.

The procedure for using variable snapshots is typically as follows:

  1. Set two breakpoints (called start and end ) The start is usually placed at the start of a function and the end breakpoint at the end of the function.
  2. At the start breakpoint select a variable in the Locals window and select the Save Variable Snapshot context menu option.
  3. Run the program.
  4. When the end breakpoint is reached, select the Compare Variable Snapshots context menu option; a dialog displays that details the original value from the first snapshot and the current value from the second snapshot (see the example below).

The following image shows the comparison between values of a variable, captured using this feature. (This is taken from the EA.Example model.)


Inspect Process Memory [Enterprise Architect User Guide]

Inspect Process Memory

Access: Analyzer | More Analyzer Windows | Memory Viewer

Topics:

Topic

Detail

See also

Memory Viewer

You can display the raw values at a memory address or for a variable in a window using the Memory Viewer - select the View Memory at Address context menu option

The Memory Viewer displays the raw values at a memory address

The Memory Viewer is available for debugging Microsoft Native Code Applications (C, C++, VB) running on Windows or within WINE on Linux

Learning Center topics:

  • (Alt+F1) | Build and Debug | Debug | View Memory


Break When a Variable Changes Value [Enterprise Architect User Guide]

Break When a Variable Changes Value

You can set a breakpoint on a variable such that when it is modified the debugger halts at the line of code that has just caused the memory to be changed. When such a breakpoint occurs the code editor is displayed and the line highlighted. The log in the Debugger window also prints a statement to the effect.

Topics:

Topic

Detail

See also

Usage

An invalid or uninitialised variable can cause the program behaviour to differ from expected. This tool enables you to halt execution whenever a certain variable has its value changed.

The example below creates a notification on a variable from the Locals window. The item being watched is the Passengers integer member of the CTrain class.

VEA - Variable Notification

Notes:

  • This feature is not presently supported by the Microsoft .NET platform.


Show Loaded Modules [Enterprise Architect User Guide]

Show Loaded Modules

The debugger Modules window lists the modules loaded by the process being debugged.

The columns on this window are described below:

Column | Action
Path | Determine the file path of the loaded module.
Modified Date | Determine the local file date and time the module was modified.
Debug Symbols | Establish the debug symbols type, whether debug information is present in the module and whether line information is present for the module (required for debugging).
Symbol File Match | Check the validity of the symbol file; if the value is false, the symbol file is out of date.
Symbol Path | Determine the file path of the symbol file, which must be present for debugging to work.
Modified Date | Determine the local file date and time the symbol file was created.


Show Output from Debugger [Enterprise Architect User Guide]

Show Output from Debugger

Topics:

Topic

Detail

See also

Usage

During a debug session the Debugger emits messages detailing both startup and termination of session, to its Output tab. Details of exceptions and any errors are also output to this tab. Any trace messages such as those output using Java System.out or .NET System.Diagnostics.Debug are also captured and displayed here.

If you double-click on a debug message, either:

  • A pop-up displays with more complete message text, or
  • If there has been a memory leak, the file is displayed at the point at which the error occurred


Debug Tooltips in Code Editors [Enterprise Architect User Guide]

Debug Tooltips in Code Editors

Topics:

Topic

Detail

See also

Inspecting Member Variables

During debugging, whenever a thread is suspended at a line of execution, you can inspect member variables in the Editor window.

To evaluate a member variable, use the mouse to move the cursor over the variable in the Editor window, as shown in the following examples.


Start & Stop Debugger [Enterprise Architect User Guide]

Start & Stop Debugger

Topics:

Topic | Detail | See also
Usage | If Basic Setup has been completed, pressing ( F6 ) starts the application using the configured Debugger. If not, debugging is still possible by using the Attach button on either one of the Debugger toolbars. To stop debugging, click on the Stop button [image] in the Debug window toolbar, or press ( Ctrl+Alt+F6 ) . | Setup

Notes:

  • In most situations, the debugger ends:
  • when it encounters breakpoints (which should be set beforehand)
  • when the debug process terminates
  • when the Java Class thread exits
  • However, due to the nature of the Java Virtual Machine, it is necessary at times for Java developers to stop the debugger manually with the Stop button


Debug Another Process [Enterprise Architect User Guide]

Debug Another Process

Topics:

Topic

Detail

See also

Usage

When debugging another process, the Attach To Process dialog is displayed.

You can limit the processes displayed using the radio buttons at the top of the dialog. To find a service such as Apache Tomcat or ASP.NET, select the System radio button.

You must choose the debugger when you select a process. However, if the selected Package has already been configured for debugging then the Debugger listed is the one specified in the Script.

Once Enterprise Architect is attached to the process, any breakpoints encountered are detected by the debugger and the information is available in the Debugger windows.

To detach from a process, click on the Debug Stop button.


Step Over Lines of Code [Enterprise Architect User Guide]

Step Over Lines of Code

Topics:

Topic | Detail | See also
Stepping Over | You can step over the lines of a function using the Debug toolbar buttons. When you step to the end of the function, you step back to the caller. VEA - Debugger Docked Toolbar Alternatively, press ( Alt+F6 ) or select the Analyzer | Debug | Step Over context menu option. |


Step Into Function Calls [Enterprise Architect User Guide]

Step Into Function Calls

Topics:

Topic | Detail | See also
Stepping In | The Step In function is executed by clicking on the Step In button. Alternatively, press ( Shift+F6 ) or select the Analyzer | Debug | Step In context menu option. If no source is available for the function then the debugger continues stepping until it either enters a new function or reaches the next line of the current one. |


Step Out of Functions [Enterprise Architect User Guide]

Step Out of Functions

Topics:

Topic | Detail | See also
Stepping In | The Step Out function is executed by clicking on the Step Out button. Alternatively, press ( Ctrl+F6 ) or select the Analyzer | Debug | Step Out menu option. If no source is available for the function then the debugger continues stepping until it either enters a new function or reaches the next line of the current one. |


Recording Actions [Enterprise Architect User Guide]

Recording Actions

This section describes how to perform the following debug recording actions:

  • Step through function calls
  • Create a Sequence diagram of the Call Stack


Step Through Function Calls [Enterprise Architect User Guide]

Step Through Function Calls

Topics:

Topic

Detail

See also

Stepping Through

The Step Through function can be executed by clicking on the Step Through button on the Record & Analyze window toolbar

Alternatively, press ( Shift+F6 ) or select the Analyzer | Debug | Step Into context menu option

The Step Through command causes a Step Into command to be executed; if any function is detected, then that function call is recorded in the History window

The debugger then steps out, and the process can be repeated

This button enables you to record a call without having to actually step into a function; the button is only enabled when at a breakpoint and in manual recording mode


Create Sequence Diagram of Call Stack [Enterprise Architect User Guide]

Create Sequence Diagram of Call Stack

Topics:

Topic | Detail | See also
Usage | To generate a Sequence diagram from the current Stack, click on the Generate Sequence Diagram of Stack button on the Call Stack window toolbar This immediately generates a Sequence diagram in the Diagram View VEA - Stack Seq Diagram |


Testing [Enterprise Architect User Guide]

Testing

The Execution Analyzer supports testing using xUnit testing applications and Testpoints.

This section describes how to create commands for performing unit testing and Testpoint testing on your code.

Learn More:

  • Add Testing Command
  • Testpoints Output

Learning Center topics:

  • (Alt + F1) | Execution Analysis | xUnit Testing
  • (Alt + F1) | Execution Analysis | Testpoint Testing


Add Testing Command [Enterprise Architect User Guide]

Add Testing Command

This topic explains how to configure the Test Page of an Analyzer Script for performing unit testing on your code.

In order for this to be possible, you must first create a Build script for the appropriate package.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Test > Test
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Test > Test

Topics:

Topic

Detail

See also

Usage

A sample script would contain a line to execute the testing tool of your choice, with the filename of the executable produced by the Build command as the option

Testing could be integrated with any test tool using the command line provided, but in these examples you can see how to integrate NUnit and JUnit testing with your source code

Enterprise Architect provides inbuilt MDA Transforms from source to Test Case, plus the ability to capture xUnit output and use it to go directly to a test failure; xUnit integration with your model is a powerful means of delivering solid and well-tested code as part of the complete model-build-test-execute-deploy life-cycle

NUnit and JUnit must be downloaded and installed prior to their use; Enterprise Architect does not include these products in the base installer

Managing Analyzer Scripts

Build

JUnit Transformation

NUnit Transformation

Unit Testing

Execute Command As:

Process

Enter the path to a program or batch file to run followed by any parameters

Batch File

When using this option you can enter multiple commands, which are then executed as a single script in a command console; you have access to any environment variables available in a standard command console

Example

NUnit

"C:\Program Files\NUnit\bin\nunit-console.exe "pin\debug\Calculator.exe"

JUnit

java junit.textui.Testrunner %N

The command listed in this field is executed as if from the command prompt; as a result, if the executable path or any arguments contain spaces, they must be surrounded in quotes

Default Directory

Preset to the Build default directory

Add Commands

Parse Output

Selecting an Output Parser causes output from the command(s) to be captured to the Output window; the Output Parser field specifies the syntax to be expected

Double-clicking on a result in the Output window opens the corresponding code segment in Enterprise Architect's code window

Locate Compiler Errors in Code

Build First

Select to ensure that the package is recompiled each time you run the test

If you include the string %N in your test script it is replaced by the fully namespace-qualified name of the currently selected Class when the script is executed

Learning Center topics:

  • (Alt + F1) | Build and Debug | Test


Testpoints Output [Enterprise Architect User Guide]

Testpoints Output

The Testpoints page of the Analyzer Script allows you to configure the output of a Testpoint run.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Test > Testpoints
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Test > Testpoints

Topic

Detail

See also

Output

You can select from two options:

  • Screen (Default) - The output is directed to the Testpoints tab of the System Output window
  • File - The output is directed to file

Testpoint Management

Folder

Enter the folder to use for Testpoint log files

Filename

Enter the name to use for the Testpoints log files

Overwrite

When this option is selected, the file specified is overwritten each time a Testpoint run is performed

Auto Number

When this option is selected, the Testpoint output is composed of the filename you specify and the number of the Test run; each time you perform a Test run the number is incremented

Prefix trace output with function

When this option is selected, any trace statements executed during the Testpoint run are prefixed with the current function call

Learning Center topics:

  • (Alt + F1) | Execution Analysis | Testpoints | Introducing Testpoints


Add Run Command [Enterprise Architect User Guide]

Add Run Command

This topic describes how to create a command for running your executable code.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Run
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Run

Topics:

Topic

Detail

See also

Usage

This is the command that is executed when you select the Analyzer | Run menu option; at its simplest, the script would contain the location and name of the file to be run

Example

The following two examples show scripts configured to run a .Net and a Java application in Enterprise Architect

.Net:

C:\benchmark\cpp\example_net_1\release\example.exe

Java:

customer

The command listed in this field is executed as if from the command prompt; as a result, if the executable path or any arguments contain spaces, they must be surrounded in quotes

Notes:

  • Enterprise Architect provides the ability to start your application normally OR with debugging from the same script; the Analyzer menu has separate options for starting a normal run and a debug run

Learning Center topics:

  • (Alt+F1) | Build and Debug | Overview | Run


Add Deploy Command [Enterprise Architect User Guide]

Add Deploy Command

This topic explains how to how to create a command for deploying the current package.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon) > Deploy
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Deploy

Topics:

Topic

Detail

See also

Usage

You create a script that is executed when you select the Analyzer | Deploy menu option or when you press (Ctrl+Shift+Alt+F12)

Execute Command as:

Process

If the deployment is handled externally, enter the path to the program or batch file to run followed by any parameters; the program is launched in a separate process

Example:

C:\apache-ant-1.7.1\bin\ant.cmd myproject deploy

Batch File

When using this option, you can enter multiple commands that are then executed as a single script in a command console; you have access to any environment variables available in a standard command console

Example:

@echo on

IF NOT EXIST "%1%" GOTO DEPLOY_NOWAR

IF "%APACHE_HOME%" == "" GOTO DEPLOY_NOAPACHE

xcopy /L "%1%" "%APACHE_HOME%\webapps"

GOTO DEPLOY_END

rem

rem NO WAR FILE

rem

:DEPLOY_NOWAR

echo "%1% WAR file not found"

GOTO DEPLOY_END

rem

rem NO APACHE ENVIRONMENT VARIABLE

rem

:DEPLOY_NOAPACHE

echo "APACHE_HOME environment variable not found"

:DEPLOY_END

pause

Parse Output

Selecting a Parser from the list causes output of the deploy script to be captured; the output is parsed according to the syntax selected from the list

The output window can be displayed by selecting View | System Output


Find in Files [Enterprise Architect User Guide]

Find in Files

This topic describes how to use the File Search facility to search files for data names and structures.

Topics:

Topic

Detail

See also

Usage

File Text Searches are provided by the Search window and from within the Code Editors

The Search window enables you to search for text in code files and scripts; you can select to display the results of the search in one of two formats:

  • List View - each result line consists of the file path and line number, followed by the line text; multiple lines from one file are listed as separate entries
  • Tree View - each result line consists of the file path that matches the search criteria, and the number of lines matching the search text within that file; you can expand the entry to show the line number and text of each line

Search Toolbar:

You can use the toolbar options in the Search window to control the search operation. The state of all buttons persists over time to always reflect your previous search criteria.

The options, from left to right, are described below.

Reference:

Field/Option

Usage

See also

Search Path list box

Specify the folder to search

You can type the path to search directly into the text box, or click on the folder icon to browse for the path

Any paths you enter are automatically saved in the drop-down list, up to a maximum of ten; paths added after that overwrite the oldest path in the list

A fixed option in the drop-down list is Search in Scripts, which sets the search to operate on all local and user-defined scripts in the Scripts tab of the Scripting window; this option disables the Search File Types list box

Search Text list box

Specify the text to look for

You can type the text directly into the text box or click on the drop-down arrow to select from a previous entry in the list. The search text you enter is automatically saved in the list when you click on the Search button.

The list box saves up to ten search queries. Search queries added after that overwrite the oldest query in the list.

Search File Types list box

Limit the search to specific types of files. You can select multiple file types in a string, separated by either a comma or a semi-colon as shown in the image above.

Search button

Begin the search.

During the course of the search all other buttons in the toolbar are disabled. You can cancel the search at any time by clicking on the Search button again.

If you switch any of the toggle buttons below, you must run the search again to change the output.

Case Sensitivity button

Toggle the case sensitivity of the search. The tooltip message identifies the current status of the button.

Word Match button

Toggle between searching for any match and searching for only those matches that form an entire word. The tooltip message identifies the current status of the button.

SubFolders button

Toggle between limiting the search to a single path and including all subfolders under that path. The tooltip message identifies the current status of the button.

Result View button

Select the presentation format of the search results - List View or Tree View format.

Clear Results button

Clear the results.

Clear Search Criteria button

Remove all the entries in the Search Path, Search Text and Search File Types list boxes, if required.

Help button

Display this Help topic.


Modeling Conventions [Enterprise Architect User Guide]

Modeling Conventions

In order to get the most out of the round trip engineering in Enterprise Architect, you must be familiar with the modeling conventions used when generating and reverse engineering the languages you use. This topic describes the stereotypes, Tagged Values and other conventions used in code engineering in Enterprise Architect for the following supported languages:

Topic | Link
Action Script | ActionScript
Ada 2005 (Systems Engineering and Ultimate editions) | Ada 2005
C | C
C# | C#
C++ | C++
Delphi | Delphi
Java | Java
PHP | PHP
Python | Python
SystemC(Systems Engineering and Ultimate editions) | SystemC
Verilog (Systems Engineering and Ultimate editions) | Verilog
VHDL(Systems Engineering and Ultimate editions) | VHDL
Visual Basic | Visual Basic
Visual Basic .NET | Visual Basic .NET

Notes:

  • Enterprise Architect incorporates a number of visibility indicators or scope values for its supported languages. These include, for:
  • All languages - Public (+), Protected (#) and Private (-)
  • Java - Package (~)
  • Delphi - Published (^)
  • C# - Internal (~), Protected Internal (^)
  • ActionScript - Internal (~)
  • VB.NET - Friend (~), Protected Friend (^)
  • PHP - Package (~)
  • Python - Package (~)
  • C - Package (~)
  • C++ - Package (~)


ActionScript Conventions [Enterprise Architect User Guide]

ActionScript Conventions

Enterprise Architect supports round trip engineering of ActionScript 2 and 3, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
literal | Operation | A literal method referred to by a variable.
property get | Operation | A read property.
property set | Operation | A write property.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
attribute_name | Operation with stereotype property get or property set | The name of the variable behind this property.
dynamic | Class or Interface | The dynamic keyword.
final | ActionScript 3: Operation | The final keyword.
intrinsic | ActionScript 2: Class | The intrinsic keyword
namespace | ActionScript 3: Class, Interface, Attribute, Operation | The namespace of the current element.
override | ActionScript 3: Operation | The override keyword.
prototype | ActionScript 3: Attribute | The prototype keyword.
rest | ActionScript 3: Parameter | The rest parameter ( ... ).

Topics:

Topic

Detail

See also

Common Conventions
  • Package qualifiers (ActionScript 2) and Packages
    (ActionScript 3) are generated when the current package is not a namespace root
  • An unspecified type is modeled as var or an empty Type field

Namespaces

ActionScript 3 Conventions

  • The Is Leaf property of a Class corresponds to the sealed keyword
  • If a namespace tag is specified it overrides the Scope that is specified

Learn More:

  • Import Source Code
  • Generate Source Code
  • ActionScript Options


Ada 2005 [Enterprise Architect User Guide]

Ada 2005

Ada 2005 support is available in the System Engineering and Ultimate editions of Enterprise Architect.

Enterprise Architect supports round trip engineering of Ada 2005, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
adaPackage | Class | A package specification in Ada 2005 without a tagged record.
adaProcedure | Class | A procedure specification in Ada 2005.
delegate | Operation | Access to a subprogram.
enumeration | Inner Class | An enum type.
struct | Inner Class | A record definition.
typedef | Inner Class | A type definition, subtype definition, access type definition, renaming.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
Discriminant | Inner Class with stereotype typedef | The type's discriminant.
IsAccess | Parameter | Determination of whether the parameter is an access variable.
InstantiatedUnitType | Inner Class with stereotype typedef | The instantiated unit's type (Package / Procedure / Function).
PartType | Inner Class with stereotype typedef | The part type (renames or new).
Type | Inner Class with stereotype typedef | If Value = SubType, set subtype. If Value = Access, set access type.

Topics:

Topic

Detail

See also

Other Conventions
  • Appropriate type of source files: Ada specification file, .ads.
  • Ada 2005 imports packages defined as either <<adaPackage>>Class or Class, based on the settings in the Ada 2005 options
  • A package in the Ada specification file is imported as a Class if it contains a Tagged Record, the name of which is governed by the options Use Class Name for Tagged Record and Alternate Tagged Record Name. All attributes defined in that Tagged Record are absorbed as the Class's attributes
  • A procedure / function in an Ada specification file is considered as the Class's member function if its first parameter satisfies the conditions specified in the options Ref Param Style, Ignore Reference parameter name and Ref parameter name
  • The option Define Reference for Tagged Record, if enabled, creates a reference type for the Class, the name of which is determined by the option Reference Type Name

For example: HelloWorld.ads

package HelloWorld is

type HelloWorld is tagged record

Att1: Natural;

Att3: Integer;

end record;

-- Public Functions

function MyPublicFunction (P: HelloWorld) return String;

procedure MyPublicFunction (P1: in out HelloWorld; AFlag: Boolean);

private

-- Private Functions

function MyPrivateFunction (P: HelloWorld) return String;

procedure MyPrivateFunction (P1: in out HelloWorld; AFlag: Boolean);

end HelloWorld;

ADA 2005 Class

Ada 2005 options

Learn More:

  • Import Source Code
  • Generate Source Code


C Conventions [Enterprise Architect User Guide]

C Conventions

Enterprise Architect supports round trip engineering of C, where the following conventions are used:

Stereotype:

Stereotype | Applies To | Corresponds To
enumeration | Inner Class | An enum type
struct | Inner Class | A struct type
 | Attribute | A keyword struct in variable definition
typedef | Inner Class | A typedef statement, where the parent is the original type name
union | Inner Class | A union type
 | Attribute | A keyword union in variable definition

Tagged Values:

Tag | Applies To | Corresponds To
anonymous | Class also containing the Tagged Value typedef | The name of this class being defined only by the typedef statement
bodyLocation | Operation | The location the method body is generated to; expected values are header, classDec or classBody
typedef | Class with stereotype other than typedef | This Class being defined in a typedef statement

C Code Generation for UML Model:

UML | C Code | Notes
A Class | A pair of C files (.h + .c) | File name is the same as Class name
Operation (public & protected) | Function declaration in .h file and definition in .c file |
Operation (private) | Function definition in .c file only |
Attribute (public & protected) | Variable definition in .h file |
Attribute (private) | Variable definition in .c file |
Inner Class (without stereotype) | (N/A) | This inner Class would be ignored

Topics:

Topic

Detail

See also

Capture #define value to be generated in C code

For example, #define PI 3.14

  1. Add an attribute to the Class, with Name = PI and Initial Value = 3.14
  2. In the General page of the Attribute Properties dialog, select the Static and Const checkboxes
  3. On the Tagged Values page of the Attribute Properties dialog, add a tag called define with the value true

Attributes

Attributes Dialog - General

Attribute Tagged Values

Notes:

  • Separate conventions apply to Object Oriented programming in C

Learn More:

  • Import Source Code
  • Generate Source Code
  • C Options
  • Object Oriented Programming in C


Object Oriented Programming In C [Enterprise Architect User Guide]

Object Oriented Programming In C

The following conventions are used for Object-Oriented programming in C.

To configure Enterprise Architect to support Object-Oriented programming using C, you must set the Object Oriented Support option to True on the C Specifications page of the Options dialog.

Stereotype

Stereotype | Applies To | Corresponds To
enumeration | Class | An enum type
struct | Class | A struct type
 | Attribute | A keyword struct in variable definition
typedef | Class | A typedef statement, where the parent is the original type name
union | Class | A union type
 | Attribute | A keyword union in variable definition

Tagged Values

Tag | Applies To | Corresponds To
anonymous | Class with stereotype of enumeration, struct or union | The name of this Class being defined only by the typedef statement
bodyLocation | Operation | The location the method body is generated to. Expected values are header, classDec or classBody
define | Attribute | #define statement
typedef | Class with stereotype of enumeration, struct or union | This Class being defined in a typedef statement

Topics:

Topic

Detail

See also

Object-Oriented C Code Generation for UML Model

The basic idea of implementing a UML Class in C code is to group the data variable (UML attributes) into a structure type; this structure is defined in a .h file so that it can be shared by other classes and by the client that referred to it

An operation in a UML Class is implemented in C code as a function; the name of the function must be a fully qualified name that consists of the operation name, as well as the Class name to indicate that the operation is for that Class

A delimiter (specified in the Namespace Delimiter option on the C Specifications page) is used to join the Class name and function (operation) name

The function in C code must also have a reference parameter to the Class object - you can modify the Reference as Operation Parameter, Reference Parameter Style and Reference Parameter Name options on the C Specifications page to support this reference parameter

C Specifications

Limitations of Object-Oriented Programming in C
  • No scope mapping for an attribute: an attribute in a UML Class is mapped to a structure variable in C code, and its scope (private, protected or public) is ignored
  • Currently an inner Class is ignored: if a UML Class is the inner Class of another UML Class, it is ignored when generating C code
  • Initial value is ignored: the initial value of an attribute in a UML Class is ignored in generated C code

Learn More:

  • Import Source Code
  • Generate Source Code
  • C Options


C# Conventions [Enterprise Architect User Guide]

C# Conventions

Enterprise Architect supports the round trip engineering of C#, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
enumeration | Class | An enum type.
event | Operation | An event.
extension | Operation | A Class extension method, represented in code by a this parameter in the signature.
indexer | Operation | A property acting as an index for this Class.
partial | Operation | The partial keyword on an operation.
property | Operation | A property possibly containing both read and write code.
struct | Class | A struct type.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
argumentName | Operation with stereotype extension | The name given to the this parameter.
attributeName | Operation with stereotype property or event | The name of the variable behind this property or event.
className | Operation with stereotype extension | The Class that this method is being added to.
const | Attribute | The const keyword.
definition | Operation with stereotype partial | Whether this is the declaration of the method, or the definition.
delegate | Operation | The delegate keyword.
enumType | Operation with stereotype property | The datatype that the property is represented as.
extern | Operation | The extern keyword.
fixed | Attribute | The fixed keyword.
generic | Operation | The generic parameters for this Operation.
genericConstraints | Templated Class or Interface, Operation with tag generic | The constraints on the generic parameters of this type or operation.
Implements | Operation | The name of the method this implements, including the interface name.
ImplementsExplicit | Operation | The presence of the source interface name in this method declaration.
initializer | Operation | A constructor initialization list.
new | Class, Interface, Operation | The new keyword.
override | Operation | The override keyword.
params | Parameter | A parameter list using the params keyword.
partial | Class, Interface | The partial keyword.
readonly | Operation with stereotype property | This property only defining read code.
sealed | Operation | The sealed keyword.
static | Class | The static keyword.
unsafe | Class, Interface, Operation | The unsafe keyword.
virtual | Operation | The virtual keyword.
writeonly | Operation with stereotype property | This property only defining write code.

Topics:

Topic

Detail

See also

Other Conventions
  • Namespaces are generated for each package below a namespace root
  • The Const property of an attribute corresponds to the readonly keyword, while the tag const corresponds to the const keyword
  • The value of inout for the Kind property of a parameter corresponds to the ref keyword
  • The value of out for the Kind property of a parameter corresponds to the out keyword
  • Partial Classes can be modeled as two separate Classes with the partial tag
  • The Is Leaf property of a Class corresponds to the sealed keyword

Namespaces

Learn More:

  • Import Source Code
  • Generate Source Code
  • C# Options


C++ Conventions [Enterprise Architect User Guide]

C++ Conventions

Enterprise Architect supports round trip engineering of C++, including the Managed C++ and C++/CLI extensions, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
enumeration | Class | An enum type.
friend | Operation | The friend keyword.
property get | Operation | A read property.
property set | Operation | A write property.
struct | Class | A struct type.
typedef | Class | A typedef statement, where the parent is the original type name.
union | Class | A union type.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
afx_msg | Operation | The afx_msg keyword.
anonymous | Class also containing the Tagged Value typedef | The name of this class being only defined by the typedef statement.
attribute_name | Operation with stereotype property get or property set | The name of the variable behind this property.
bitfield | Attribute | The size, in bits, allowed for storage of this attribute.
bodyLocation | Operation | The location the method body is generated to; expected values are header, classDec or classBody.
callback | Operation | A reference to the CALLBACK macro.
explicit | Operation | The explicit keyword.
initializer | Operation | A constructor initialization list.
inline | Operation | The inline keyword and inline generation of the method body.
mutable | Attribute | The mutable keyword.
throws | Operation | The exceptions that are thrown by this method.
typedef | Class with stereotype other than typedef | This Class being defined in a typedef statement.
typeSynonyms | Class | The typedef name and/or fields of this type.
volatile | Operation | The volatile keyword.

Topics:

Topic

Detail

See also

Other Conventions
  • Namespaces are generated for each package below a namespace root
  • By Reference attributes correspond to a pointer to the type specified
  • The Transient property of an attribute corresponds to the volatile keyword
  • The Abstract property of an attribute corresponds to the virtual keyword
  • The Const property of an operation corresponds to the const keyword, specifying a constant return type
  • The Is Query property of an operation corresponds to the const keyword, specifying the method doesn't modify any fields
  • The Pure property of an operation corresponds to a pure virtual method using the "= 0" syntax
  • The Fixed property of a parameter corresponds to the const keyword

Namespaces

Learn More:

  • Managed C++ Options
  • C++/CLI Conventions
  • Import Source Code
  • Generate Source Code
  • C++ Options


Managed C++ Conventions [Enterprise Architect User Guide]

Managed C++ Conventions

The following conventions are used for managed extensions to C++ prior to C++/CLI. In order to set Enterprise Architect to generate managed C++ you must modify the C++ version in the C++ Options.

Stereotypes

Stereotype | Applies To | Corresponds To
property | Operation | The __property keyword.
property get | Operation | The __property keyword and a read property.
property set | Operation | The __property keyword and a write property.
reference | Class | The __gc keyword.
value | Class | The __value keyword.

Tagged Values

Tag | Applies To | Corresponds To
managedType | Class with stereotype reference, value or enumeration; Interface | The keyword used in declaration of this type. Expected values are class or struct.

Topics:

Topic

Detail

See also

Other Conventions
  • The typedef and anonymous tags from native C++ are not supported
  • The Pure property of an operation corresponds to the keyword __abstract

Learn More:

  • C++/CLI Conventions
  • C++ Options
  • Import Source Code
  • Generate Source Code


C++/CLI Conventions [Enterprise Architect User Guide]

C++/CLI Conventions

The following conventions are used for modeling C++/CLI extensions to C++. In order to set Enterprise Architect to generate managed C++/CLI you must modify the C++ version in the C++ Options.

Stereotypes

Reference:

Stereotype | Applies To | Description
event | Operation | Defines an event to provide access to the event handler for this Class.
property | Operation, Attribute | This is a property possibly containing both read and write code.
reference | Class | Corresponds to the ref class or ref struct keyword.
value | Class | Corresponds to the value class or value struct keyword.

Tagged Values

Reference:

Tag | Applies To | Description
attribute_name | Operation with stereotype property or event | The name of the variable behind this property or event.
generic | Operation | Defines the generic parameters for this Operation.
genericConstraints | Templated Class or Interface, Operation with tag generic | Defines the constraints on the generic parameters for this Operation.
initonly | Attribute | Corresponds to the initonly keyword.
literal | Attribute | Corresponds to the literal keyword.
managedType | Class with stereotype reference, value or enumeration; Interface | Corresponds to either the class or struct keyword.

Topics:

Topic

Detail

See also

Other Conventions
  • The typedef and anonymous tags are not used
  • The property get/property set stereotypes are not used
  • The Pure property of an operation corresponds to the keyword abstract

Learn More:

  • C++ Options
  • Import Source Code
  • Generate Source Code


Delphi Conventions [Enterprise Architect User Guide]

Delphi Conventions

Enterprise Architect supports round trip engineering of Delphi, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
constructor | Operation | A constructor.
destructor | Operation | A destructor.
dispinterface | Class, Interface | A dispatch interface.
enumeration | Class | An enumerated type.
metaclass | Class | A metaclass type.
object | Class | An object type.
operator | Operation | An operator.
property get | Operation | A read property.
property set | Operation | A write property.
struct | Class | A record type.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
attribute_name | Operation with stereotype property get or property set | The name of the variable behind this property.
overload | Operation | The overload keyword.
override | Operation | The override keyword.
packed | Class | The packed keyword.
property | Class | A property. See Delphi Properties for more information.
reintroduce | Operation | The reintroduce keyword.

Topics:

Topic

Detail

See also

Other Conventions
  • The Static property of an attribute or operation corresponds to the class keyword
  • The Fixed property of a parameter corresponds to the const keyword
  • The value of inout for the Kind property of a parameter corresponds to the Var keyword
  • The value of out for the Kind property of a parameter corresponds to the Out keyword

Learn More:

  • Import Source Code
  • Generate Source Code
  • Delphi Options
  • Delphi Properties


Java Conventions [Enterprise Architect User Guide]

Java Conventions

Enterprise Architect supports round trip engineering of Java - including AspectJ extensions - where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
annotation | Interface | An annotation type.
enum | Attributes within a Class stereotyped enumeration | An enumerated option, distinguished from other attributes that have no stereotype.
enumeration | Class | An enum type.
operator | Operation | An operator.
property get | Operation | A read property.
property set | Operation | A write property.
static | Class or Interface | The static keyword.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
annotations | Anything | The annotations on the current code feature.
arguments | Attribute with stereotype enum | The arguments that apply to this enumerated value.
attribute_name | Operation with stereotype property get or property set | The name of the variable behind this property.
dynamic | Class or Interface | The dynamic keyword.
generic | Operation | The generic parameters to this operation.
parameterList | Parameter | A parameter list with the ... syntax.
throws | Operation | The exceptions that are thrown by this method.
transient | Attribute | The transient keyword.

Topics:

Topic

Detail

See also

Other Conventions
  • Package statements are generated when the current package is not a namespace root
  • The Const property of an attribute or operation corresponds to the final keyword
  • The Transient property of an attribute corresponds to the volatile keyword
  • The Fixed property of a parameter corresponds to the final keyword

Namespaces

Learn More:

  • AspectJ Conventions
  • Import Source Code
  • Generate Source Code
  • Java Options


AspectJ Conventions [Enterprise Architect User Guide]

AspectJ Conventions

The following are the conventions used for supporting AspectJ extensions to Java.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
advice | Operation | A piece of advice in an AspectJ aspect.
aspect | Class | An AspectJ aspect.
pointcut | Operation | A pointcut in an AspectJ aspect.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
className | Attribute or operation within a Class stereotyped aspect | The Classes this AspectJ intertype member belongs to.

Topics:

Topic

Detail

See also

Other Conventions
  • The specifications of a pointcut are included in the Behavior field of the method

Learn More:

  • Import Source Code
  • Generate Source Code


PHP Conventions [Enterprise Architect User Guide]

PHP Conventions

Enterprise Architect supports the round trip engineering of PHP 4 and 5, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
property get | Operation | A read property.
property set | Operation | A write property.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
attribute_name | Operation with stereotype property get or property set | The name of the variable behind this property.
final | Operations in PHP 5. | The final keyword.

Topics:

Topic

Detail

See also

Common Conventions
  • An unspecified type is modeled as var
  • Methods returning a reference are generated by setting the Return Type to var*
  • Reference parameters are generated from parameters with the parameter Kind set to inout or out

PHP 5 Conventions
  • The final Class modifier corresponds to the Is Leaf property
  • The abstract Class modifier corresponds to the Abstract property
  • Parameter type hinting is supported by setting the Type of a parameter
  • The value of inout or out for the Kind property of a parameter corresponds to a reference parameter

Learn More:

  • Import Source Code
  • Generate Source Code
  • PHP Options


Python Conventions [Enterprise Architect User Guide]

Python Conventions

Enterprise Architect supports the round trip engineering of Python, where the following conventions are used.

Tagged values

Reference:

Tag | Applies To | Corresponds To
Decorators | Class, Operation | The decorators applied to this element in the source.

Topics:

Topic

Detail

See also

Other Conventions
  • Model members with Private Scope correspond to code members with two leading underscores
  • Attributes are only generated when the Initial value is not empty
  • All types are reverse engineered as var

Learn More:

  • Import Source Code
  • Generate Source Code
  • Python Options


System C Conventions [Enterprise Architect User Guide]

SystemC Conventions

Enterprise Architect supports round-trip engineering of SystemC, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
delegate | Method | A delegate.
enumeration | Inner Class | An enum type.
friend | Method | A friend method.
property | Method | A property definition.
sc_ctor | Method | A SystemC constructor.
sc_module | Class | A SystemC module.
sc_port | Attribute | A port.
sc_signal | Attribute | A signal
struct | Inner Class | A struct or union.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
kind | Attribute (Port) | Port kind (clocked, fifo, master, slave, resolved, vector).
mode | Attribute (Port) | Port mode (in, out, inout).
overrides | Method | The Inheritance list of a method declaration.
throw | Method | The exception specification of a method.

Topics:

Topic

Detail

See also

Other Conventions
  • SystemC also inherits most of the stereotypes and Tagged Values of C++

C++ Conventions

SystemC Toolbox Pages

To access the SystemC pages of the Toolbox, select the More tools | HDL | SystemC Constructs menu option. Drag these icons onto a diagram to model a SystemC design.

Reference:

Page | Item | Action
SystemC | Module | Define a SystemC Module. An sc_module-stereotyped Class element.
 | Enumeration | Define an Enumerated Type. An enumeration-stereotyped Enumeration element.
 | Struct | Define a Structure. A struct-stereotyped Class element.
SystemC Features | Port | Define a SystemC Port. An sc_port-stereotyped attribute.
 | Signal | Define a SystemC Signal. An sc_signal-stereotyped attribute.
 | Constructor | Define a SystemC Constructor. An sc_ctor-stereotyped method.

Learn More:

  • Import Source Code
  • Generate Source Code
  • SystemC Options.


VB.Net Conventions [Enterprise Architect User Guide]

VB.Net Conventions

Enterprise Architect supports round-trip engineering of Visual Basic.Net, where the following conventions are used. Earlier versions of Visual Basic are supported as a different language.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
event | Operation | An event declaration.
import | Operation | An operation to be imported from another library.
module | Class | A module.
operator | Operation | An operator overload definition.
partial | Operation | The partial keyword on an operation.
property | Operation | A property possibly containing both read and write code.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
Alias | Operation with stereotype import | The alias for this imported operation.
attribute_name | Operation with stereotype property | The name of the variable behind this property.
Charset | Operation with stereotype import | The character set clause for this import. One of the values Ansi, Unicode or Auto.
delegate | Operation | The Delegate keyword.
enumTag | Operation with stereotype property | The datatype that this property is represented as.
Handles | Operation | The handles clause on this operation.
Implements | Operation | The implements clause on this operation.
Lib | Operation with stereotype import | The library this import comes from.
MustOverride | Operation | The MustOverride keyword.
Narrowing | Operation with stereotype operator | The Narrowing keyword.
NotOverrideable | Operation | The NotOverrideable keyword.
Overloads | Operation | The Overloads keyword.
Overrides | Operation | The Overrides keyword.
parameterArray | Parameter | A parameter list using the ParamArray keyword.
partial | Class, Interface | The Partial keyword.
readonly | Operation with stereotype property | This property only defining read code.
shadows | Class, Interface, Operation | The Shadows keyword.
Shared | Attribute | The Shared keyword.
Widening | Operation with stereotype operator | The Widening keyword.
writeonly | Operation with stereotype property | This property only defining write code.

Topics:

Topic

Detail

See also

Other Conventions
  • Namespaces are generated for each package below a namespace root
  • The Is Leaf property of a Class corresponds to the NotInheritable keyword
  • The Abstract property of a Class corresponds to the MustInherit keyword
  • The Static property of an attribute or operation corresponds to the Shared keyword
  • The Abstract property of an operation corresponds to the MustOverride keyword
  • The value of in for the Kind property of a parameter corresponds to the ByVal keyword
  • The value of inout or out for the Kind property of a parameter corresponds to the ByRef keyword

Namespaces

Learn More:

  • Visual Basic Conventions
  • Import Source Code
  • Generate Source Code
  • VB.Net Options


Verilog Conventions [Enterprise Architect User Guide]

Verilog Conventions

Enterprise Architect supports round-trip engineering of Verilog, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
asynchronous | Method | A concurrent process.
enumeration | Inner Class | An enum type.
initializer | Method | An initializer process.
module | Class | A module.
part | Attribute | A component instantiation.
port | Attribute | A port.
synchronous | Method | A sequential process.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
kind | Attribute (signal) | The signal kind (such as register, bus).
mode | Attribute (port) | The port mode (in, out, inout).
Portmap | Attribute (part) | The generic / port map of the component instantiated.
sensitivity | Method | The sensitivity list of a sequential process.
type | Attribute | The range or type value of an attribute.

Verilog Toolbox Pages

To access the Verilog pages of the Toolbox, select the More tools | HDL | Verilog Constructs menu option. Drag these icons onto a diagram to model a Verilog design.

Reference:

Page

Item

Action

Verilog

Module

Define a Verilog Module.

A module-stereotyped Class element.

Enumeration

Define an Enumerated Type.

An enumeration-stereotyped Class element.

Verilog Features

Port

Define a Verilog Port.

A port-stereotyped attribute.

Part

Define a Verilog component instantiation

A part-stereotyped attribute.

Attribute

Define an attribute.

Procedure

  • Concurrent
  • Sequential
  • Initializer.

Define a Verilog process:

  • An asynchronous-stereotyped method
  • A synchronous-stereotyped method
  • An initializer-stereotyped method

Learn More:

  • Import Source Code
  • Generate Source Code
  • Verilog Options.


VHDL Conventions [Enterprise Architect User Guide]

VHDL Conventions

Enterprise Architect supports round-trip engineering of VHDL, where the following conventions are used.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
architecture | Class | An architecture.
asynchronous | Method | An asynchronous process.
configuration | Method | A configuration.
enumeration | Inner Class | An enum type.
entity | Interface | An entity.
part | Attribute | A component instantiation.
port | Attribute | A port.
signal | Attribute | A signal declaration.
struct | Inner Class | A record definition.
synchronous | Method | A synchronous process.
typedef | Inner Class | A type or subtype definition.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
isGeneric | Attribute (port) | The port declaration in a generic interface.
isSubType | Inner Class (typedef) | A subtype definition.
kind | Attribute (signal) | The signal kind (such as register, bus).
mode | Attribute (port) | The port mode (in, out, inout, buffer, linkage).
portmap | Attribute (part) | The generic / port map of the component instantiated.
sensitivity | Method (synchronous) | The sensitivity list of a synchronous process.
type | Inner Class (typedef) | The type indication of a type declaration.
typeNameSpace | Attribute (part) | The type namespace of the instantiated component.

VHDL Toolbox Pages

To access the VHDL pages of the Toolbox, select the More tools | HDL | VHDL Constructs menu option. Drag these icons onto a diagram to model a VHDL design.

Reference:

Page

Item

Action

VHDL

Architecture

Define an architecture to be associated with a VHDL entity.

An architecture-stereotyped Class element.

Entity

Define a VHDL entity to contain the Port definitions.

An entity-stereotyped interface element.

Enumeration

Define an Enumerated Type.

An enumeration-stereotyped enumeration element.

Struct

Define a VHDL record.

A struct-stereotyped Class element.

Typedef

Define a VHDL type or subtype

A typedef-stereotyped Class element.

VHDL Features

Port

Define a VHDL Port.

A port-stereotyped attribute.

Part

Define a VHDL component instantiation

A part-stereotyped attribute.

Signal

Define a VHDL signal.

A signal-stereotyped attribute.

Procedure

  • Concurrent
  • Sequential
  • Configuration.

Define a VHDL process:

  • An asynchronous-stereotyped method
  • A synchronous-stereotyped method
  • A configuration-stereotyped method

Learn More:

  • Import Source Code
  • Generate Source Code
  • VHDL Options.


Visual Basic Conventions [Enterprise Architect User Guide]

Visual Basic Conventions

Enterprise Architect supports the round trip engineering of Visual Basic 5 and 6, where the following conventions are used. Visual Basic .Net is supported as a different language.

Stereotypes

Reference:

Stereotype | Applies To | Corresponds To
global | Attribute | The Global keyword.
import | Operation | An operation to be imported from another library.
property get | Operation | A property get.
property set | Operation | A property set.
property let | Operation | A property let.
with events | Attribute | The WithEvents keyword.

Tagged Values

Reference:

Tag | Applies To | Corresponds To
Alias | Operation with stereotype import | The alias for this imported operation.
attribute_name | Operation with stereotype property get, property set or property let | The name of the variable behind this property.
Lib | Operation with stereotype import | The library this import comes from.
New | Attribute | The New keyword.

Topics:

Topic

Detail

See also

Other Conventions
  • The value of in for the Kind property of a parameter corresponds to the ByVal keyword
  • The value of inout or out for the Kind property of a parameter corresponds to the ByRef keyword

Learn More:

  • Visual Basic .Net Conventions
  • Import Source Code
  • Generate Source Code
  • Visual Basic Options


Code Template Framework [Enterprise Architect User Guide]

Code Template Framework

The Code Template Framework (CTF) is used during forward engineering UML models. The CTF enables you to:

  • Generate source code from UML models
  • Customize the way in which Enterprise Architect generates source code
  • Forward engineer languages not specifically supported by Enterprise Architect

Topics:

Topic | Detail | See also
Default Templates | Default Code Templates which are built into Enterprise Architect for forward engineering supported languages | Code Templates
Code Template Editor | A Code Template Editor for creating and maintaining user-defined Code Templates | Code Template Editor
Synchronize Code | Code Templates to synchronize code. | Synchronize Code


Code Templates [Enterprise Architect User Guide]

Code Templates

Topics:

Topic

Detail

See also

Usage

Code templates enable you to customize code generation of existing languages. For example:

  • Modify the file headers created when generating new files
  • Change the style of the generated code (such as indenting or brace position) to match the required coding standards
  • Handle particular stereotypes to generate things like specialized method bodies and extra methods

They also enable you to add code generation of entirely new languages that Enterprise Architect would otherwise not be able to handle. In this situation it is most useful to combine code templates with an MDG technology file that includes the datatypes, and options for default file extensions.

Enterprise Architect's base code templates specify the transformation from UML elements to the various parts of a given programming language. The templates are written as plain text with a syntax that shares some aspects of both mark-up languages and scripting languages. A simple example of a template used by Enterprise Architect is the 'Class template'. It is used to generate source code from a UML Class:

%ClassNotes%

%ClassDeclaration%

%ClassBody%

The above template simply refers to three other templates, namely ClassNotes, ClassDeclaration and ClassBody. The enclosing percent (%) signs indicate a macro. Code Templates consist of various types of macros, each resulting in a substitution in the generated output. For a language such as C++, the result of processing the above template might be:

/**

* This is an example class note generated using code templates

* @author Sparx Systems

*/

class ClassA: public ClassB

{

...

}

Add Code Modules

Base Templates

Execution of Code Templates

A reference to a template (such as the %ClassNotes% macro, from our example above) results in the execution of that template.

Each template is designed for use with a particular element. For example the ClassNotes template is to be used with UML Class elements.

The element that is currently being generated is said to be in scope. If the element in scope is stereotyped Enterprise Architect looks for a template that has been defined for that stereotype. If a match is found, the specialized template is executed. Otherwise the default implementation of the base template is used.

Templates are processed sequentially, line by line, replacing each macro with its underlying text value from the model.


Base Templates [Enterprise Architect User Guide]

Base Templates

The Code Template Framework consists of a number of base templates. Each base template transforms particular aspects of the UML to corresponding parts of object-oriented languages.

Reference:

The following table lists and briefly describes the base templates used in the CTF.

Template | Description
Attribute | A top-level template to generate member variables from UML attributes
Attribute Declaration | Used by the Attribute template to generate a member variable declaration
Attribute Notes | Used by the Attribute template to generate member variable notes
Class | A top-level template for generating Classes from UML Classes
Class Base | Used by the Class template to generate a base Class name in the inheritance list of a derived Class, where the base Class doesn't exist in the model
Class Body | Used by the Class template to generate the body of a Class
Class Declaration | Used by the Class template to generate the declaration of a Class
Class Interface | Used by the Class template to generate an interface name in the inheritance list of a derived Class, where the interface doesn't exist in the model
Class Notes | Used by the Class template to generate the Class notes
File | A top-level template for generating the source file For languages such as C++, this corresponds to the header file
Import Section | Used in the File template to generate external dependencies
Linked Attribute | A top-level template for generating attributes derived from UML Associations
Linked Attribute Notes | Used by the Linked Attribute template to generate the attribute notes
Linked Attribute Declaration | Used by the Linked Attribute template to generate the attribute declaration
Linked Class Base | Used by the Class template to generate a base Class name in the inheritance list of a derived Class, for a Class element in the model that is a parent of the current Class
Linked Class Interface | Used by the Class template to generate an Interface name in the inheritance list of a derived Class, for an Interface element in the model that is a parent of the current Class
Namespace | A top-level template for generating namespaces from UML packages (although not all languages have namespaces, this template can be used to generate an equivalent construct, such as packages in Java)
Namespace Body | Used by the Namespace template to generate the body of a namespace
Namespace Declaration | Used by the Namespace template to generate the namespace declaration
Operation | A top-level template for generating operations from a UML Class's operations
Operation Body | Used by the Operation template to generate the body of a UML operation
Operation Declaration | Used by the Operation template to generate the operation declaration
Operation Notes | Used by the Operation template to generate documentation for an operation
Parameter | Used by the Operation Declaration template to generate parameters

The second table lists templates used for generating code for languages that have separate interface and implementation sections.

Template | Description
Class Impl | A top-level template for generating the implementation of a Class
Class Body Impl | Used by the Class Impl template to generate the implementation of Class members
File Impl | A top-level template for generating the implementation file
File Notes Impl | Used by the File Impl template to generate notes in the source file
Import Section Impl | Used by the File Impl template to generate external dependencies
Operation Impl | A top-level template for generating operations from a UML Class's operations
Operation Body Impl | Used by the Operation template to generate the body of a UML operation
Operation Declaration Impl | Used by the Operation template to generate the operation declaration
Operation Notes Impl | Used by the Operation template to generate documentation for an operation

Topics:

Topic

Detail

See also

Further Information

The base templates form a hierarchy, which varies slightly across different programming languages. A typical template hierarchy relevant to a language like C# or Java (which do not have header files) is shown in the example diagram below. In this diagram the templates are modeled as Classes (in reality they are just plain text). This hierarchy would be slightly more complicated for languages like C++ and Delphi, which have separate implementation templates.

Each of the base templates must be specialized to be of use in code engineering; in particular, each template is specialized for the supported languages (or 'products')

For example, there is a ClassBody template defined for C++, another for C#, another for Java, and so on; by specializing the templates, you can tailor the code generated for the corresponding UML entity

Once the base templates are specialized for a given language, they can be further specialized based on:

  • A Class's stereotype
  • A feature's stereotype (where the feature can be an operation or attribute)

This type of specialization enables, for example, a C# operation that is stereotyped as «property» to have a different Operation Body template from an ordinary operation; the Operation Body template can then be specialized further, based on the Class stereotype


The Code Template Editor [Enterprise Architect User Guide]

The Code Template Editor

The Code Template Editor provides the facilities of the Common Code Editor, including intellisense for the various macros. For more information on intellisense and the Common Code Editor, see the Code Editors topic.

Access: Settings | Code Generation Templates

Reference:

Option | Action | See also
Language | Select the programming language |
New Language | Display the Programming Languages Datatypes dialog, which enables you to include programming languages other than those supported for Enterprise Architect, for which to create or edit code templates | Programming Languages Datatypes
Template | Display the contents of the active template, and provides the editor for modifying templates |
Templates | List the base code templates; the active template is highlighted The Modified field indicates whether you have changed the default template for the current language |
Stereotype Overrides | List the stereotyped templates, for the active base template The Modified field indicates whether you have modified a default stereotyped template |
Add New Custom Template | Invoke a dialog for creating a custom stereotyped template |
Add New Stereotyped Override | Invoke a dialog for adding a stereotyped template, for the currently selected base template |
Get Default Template | Update the editor display with the default version of the active template |
Save | Overwrite the active templates with the contents of the editor |
Delete | If you have overridden the active template, the override is deleted and replaced by the corresponding default code template |

Notes:

  • User-modified and user-defined Code Templates can be imported and exported as Reference Data (see the Sharing Reference Data topic); the templates defined for each language are indicated in the Export Reference Data dialog by the language name with the suffix _Code_Templates - if no templates exist for a language, there is no entry for the language in the dialog

Learn More:

  • The Code Template Editor in MDG Development
  • Sharing Reference Data
  • Code Editors


Synchronize Code [Enterprise Architect User Guide]

Synchronize Code

Enterprise Architect uses code templates during the forward synchronization of the following programming languages:

  • ActionScript
  • C
  • C++
  • C#
  • Delphi
  • Java
  • PHP
  • Python
  • VB
  • VB.Net

Only a subset of the code templates are used during synchronization. This subset corresponds to the distinct sections that Enterprise Architect recognizes in the source code. The following table lists the code templates and their corresponding code sections, which can be synchronized.

Code Template | Code Section
Class Notes | Comments preceding Class declaration.
Class Declaration | Up to and including Class parents.
Attribute Notes | Comments preceding Attribute declaration.
Attribute Declaration | Up to and including terminating character.
Operation Notes | Comments preceding operation declaration.
Operation Notes Impl | As for Operation Notes.
Operation Declaration | Up to and including terminating character.
Operation Declaration Impl | Up to and including terminating character.
Operation Body | Everything between and including the braces.
Operation Body Impl | As for Operation Body.

Topics:

Topic

Detail

See also

Change Types

Three types of change can occur in the source when it is synchronized with the UML model:

  • Synchronize Existing Sections: for example, changing the return type in an operation declaration
  • Add New Sections to Existing Features: for example, adding notes to a Class declaration, where there were previously none
  • Add New Features and Elements: for example, adding a new operation to a Class

Each of these changes must be handled differently by Enterprise Architect; their effect on the CTF is described in the linked topics above.

Synchronize Existing Sections

Add New Sections to Existing Features

Add New Features and Elements


Synchronize Existing Sections [Enterprise Architect User Guide]

Synchronize Existing Sections

Topics:

Topic

Detail

See also

Usage

When an existing section in the source code differs from the result generated by the corresponding template, that section is replaced. Consider for example, the following C++ Class declaration:

( asm ) class A: public B

Now assume you add an inheritance relationship from Class A to Class C; the entire Class declaration would be replaced with something like:

( asm ) class A: public B, public C


Add New Sections [Enterprise Architect User Guide]

Add New Sections

Topics:

Topic

Detail

See also

Usage

The following can be added as new sections, to existing features in the source code:

  • Class Notes
  • Attribute Notes
  • Operation Notes
  • Operation Notes Impl
  • Operation Body
  • Operation Body Impl

Assume Class A from the previous example had no note when you originally generated the code, and that you now specify a note in the model for Class A; Enterprise Architect attempts to add the new note from the model during synchronization, by executing the Class Notes template

To make room for the new section to be inserted, you can specify how much white space to append to the section via synchronization macros

Control Macros


Add New Features and Elements [Enterprise Architect User Guide]

Add New Features and Elements

Topics:

Topic

Detail

See also

Usage

The following features and elements can be added to the source code during synchronization:

  • Attributes
  • Inner Classes
  • Operations

These are added by executing the relevant templates for each new element or feature in the model. Enterprise Architect attempts to preserve the appropriate indenting of new features in the code, by finding the indents specified in list macros of the Class. For languages that make use of namespaces, the synchNamespaceBodyIndent macro is available. Classes defined within a (non-global) namespace are indented according to the value set for this macro, during synchronization. This value is ignored for Classes defined within a package setup as a root namespace, or if the Generate Namespace option is set to False in the appropriate language page (C#, C++ or VB.Net) on the Options dialog (Tools | Options | Source Code Engineering | <language>).


Generate Source Code [Enterprise Architect User Guide]

Generate Source Code

Generating source code (forward engineering) takes the UML Class or Interface model elements and creates a source code equivalent for future elaboration and compilation. By forward engineering code from the model, the mundane work involved with having to key in Classes and attributes and methods is avoided, and symmetry between model and code is ensured.

Topics:

Topic

Detail

See also

Lanaguages

Enterprise Architect supports code generation in each of the following languages:

  • Action Script
  • C
  • C# (for both .NET 1.1 and .NET 2.0)
  • C++ (standard, plus .NET managed C++ extensions)
  • Delphi
  • Java (including Java 1.5, Aspects and Generics)
  • PHP
  • Python
  • Visual Basic
  • Visual Basic .NET

Elements

Code is generated from Class or Interface model elements, so you must create the required Class and Interface elements to generate from

Add attributes (which become variables) and operations (which become methods)

Settings

Before you generate code, you should ensure the default settings for code generation match your requirements; set up the defaults to match your required language and preferences

Preferences that you can define include default constructors and destructors, methods for interfaces and the Unicode options for created languages

Languages such as Java support 'namespaces' and can be configured to specify a namespace root

In addition to the default settings for generating code, Enterprise Architect facilitates setting specific generation options for each of the supported languages

Source Code Options

Namespaces

ActionScript Options

C Options

C# Options

C++ Options

Delphi Options

Java Options

PHP Options

Python Options

Visual Basic Options

Visual Basic .NET Options

Code Template Framework

The Code Template Framework (CTF) enables you to customize the way Enterprise Architect generates source code and also enables generation of languages that are not specifically supported by Enterprise Architect

Code Template Framework (CTF)

Local Paths

Local path names enable you to substitute tags for directory names

Local Paths

Local Paths Dialog

Behavioral Code

You can also generate code from three UML behavioral modeling paradigms:

  • State Machine diagrams(SW & HW)
  • Interaction (Sequence) diagrams (SW)
  • Activity diagrams (SW)

State Machine diagrams

Interaction (Sequence) diagrams

Activity diagrams

Live Code Generation

On the Code Engineering submenu, you have the option to update your source code instantly as you make changes to your model

Code Engineering Sub-Menu

Tasks

When you generate code, you perform one or more of the following tasks:

  • Generate a Single Class
  • Generate a Group of Classes
  • Generate a Package
  • Update Package Contents

Generate a Single Class

Generate a Group of Classes

Generate a Package

Update Package Contents

Notes:

  • The tools provided by Enterprise Architect for code engineering and debugging are available in the Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect
  • When security is enabled there are permissions for Generate Source Code and DDL and Reverse Engineer from DDL and Source Code

Learn More:

  • Importing Source Code
  • Generate From Behavioral Models


Generate a Single Class [Enterprise Architect User Guide]

Generate a Single Class

To generate code for a single Class, first ensure the design of the model element (Class or Interface) is complete. Also ensure you have added Inheritance connectors to parents and associations to other Classes that are used. Also add Inheritance connectors to Interfaces that your Class implements; Enterprise Architect offers the option to generate function stubs for all interface methods that a Class implements. Once the design is satisfactory, follow the procedure below.

To Generate Code for a Single Class, follow the steps below

How To:

Step | Action | See also
1 | Open the diagram containing the Class or Interface for which to generate code. |
2 | Right-click on the required Class or Interface to display the context menu and select the Generate Code menu option, or press ( F11 ) . The Generate Code dialog displays, which enables you to control how and where your source code is generated. |
3 | On the Path field, click on ( ... ) (Browse) and select a path name for your source code to be generated to. |
4 | In the Target Language field, click on the drop-down arrow and select the language to generate; this becomes the permanent option for that Class, so change it back if you are only doing one pass in another language. |
5 | Click on the Advanced button. The Object Options dialog displays. |
6 | Set any custom options (for this Class alone), then click on the Close button to return to the Generate Code dialog. |
7 | In the Import(s) / Header(s) fields, type any import statements, #includes or other header information. (Note that in the case of Visual Basic this information is ignored; in the case of Java the two import text boxes are merged; and in the case of C++ the first import text area is placed in the header file and the second in the body (.cpp) file.) |
8 | Click on the Generate button to create the source code. |
9 | When complete, click on the View button to see what has been generated. Note that you should set up your default viewer/editor for each language type first. You can also set up the default editor on the Code Editors page of the Options dialog (Tools | Options | Source Code Engineering | Code Editors). | The Source Code Viewer


Generate a Group of Classes [Enterprise Architect User Guide]

Generate a Group of Classes

In addition to being able to generate code for an individual Class, you can also select a group of Classes for batch code generation. When you do this, you accept all the default code generation options for each Class in the set.

Steps:

Step | Detail | See also
1 | Select a group of Classes and/or interfaces in a diagram |
2 | Right-click on an element in the group to display the context menu. |
3 | Select the Code Generation | Generate Selected elements menu option. The Save As dialog displays, on which you specify the file path and name for each code file. Enter this information and click on the Save button |
4 | The Batch Generation dialog displays, showing the status of the process as it executes (the process might be too fast to see this dialog). |

Notes:

  • If any of the elements selected are not Classes or interfaces the option to generate code is not available

Learn More:

  • Synchronize Model and Code


Generate a Package [Enterprise Architect User Guide]

Generate a Package

In addition to generating source code from single Classes and groups of Classes, you can also generate code from a package. This feature provides options to recursively generate child packages and automatically generate directory structures based on the package hierarchy. This enables you to generate a whole branch of your project model in one step.

To generate a package, follow the steps below

How To:

Step

Action

See also

1

In the Project Browser, right-click on the package to generate code for. The context menu displays.

2

Select the Code Engineering | Generate Source Code menu option. The Generate Package Source Code dialog displays.

3

In the Synchronize field, click on the drop-down arrow and select the appropriate synchronize option:

  • Synchronize model and code: Classes with existing files are forward synchronized with that file; Classes with no existing file are generated to the displayed target file
  • Overwrite code: All selected target files are overwritten (forward generated)
  • Do not generate: Only selected Classes that do not have an existing file are generated; all other Classes are ignored

4

Highlight the Classes to generate. Leave unselected any to not generate. If you want to display the information in a more readable layout, you can resize the dialog and its columns.

5

To make Enterprise Architect automatically generate directories and filenames based on the package hierarchy, select the Auto Generate Files checkbox. This then enables the Root Directory field, in which you select a root directory under which the source directories are to be generated. By default, the Auto Generate Files feature ignores any file paths that are already associated with a Class. You can change this behavior by also selecting the Retain Existing File Paths checkbox.

6

To include all sub-packages in the output, select the Include Child Packages checkbox.

7

Click on the Generate button to start generating code.

As code generation proceeds Enterprise Architect displays progress messages. If a Class requires an output filename Enterprise Architect prompts you to enter one at the appropriate time (assuming Auto Generate Files is not selected). For example, if the selected Classes include partial Classes, a prompt displays to enter the filename for the second partial Class.

For additional information on the options on the Generate Package Source Code dialog, see the following table:

Option | Action | See also
Root Package | Check the name of the package to be generated. |
Synchronize | Select options that specify how existing files should be generated. |
Auto Generate Files | Specify whether Enterprise Architect should automatically generate file names and directories, based on the package hierarchy. |
Root Directory | If Auto Generate Files is selected, display the path under which the generated directory structures are created. |
Retain Existing File Paths | If Auto Generate Files is selected, specify whether to use existing file paths associated with Classes. If unselected, Enterprise Architect generates Classes to automatically determined paths, regardless of whether source files are already associated with Classes. |
Include all Child Packages | Include all Classes from all sub-packages of the target package in the list. This option facilitates recursive generation of a given package and its sub-packages. |
Select Objects to Generate | List all Classes that are available for generation under the target packages. Only selected (highlighted) Classes are generated. Classes are listed with their target source file. |
Select All | Mark all Classes in the list as selected. |
Select None | Mark all Classes in the list as unselected. |
Generate | Start the generation of all selected Classes. |
Cancel | Exit the Generate Package Source Code dialog. No Classes are generated. |


Update Package Contents [Enterprise Architect User Guide]

Update Package Contents

To synchronize a directory tree, follow the steps below

How To:

Step | Action | See also
1 | In the Project Browser, right-click on the root package of the tree to synchronize. The context menu displays. |
2 | Select the Code Engineering | Synchronize Package With Code menu option. The Synchronize Package Contents dialog displays. |
3 | In the Update Type panel, select the radio button to Forward Engineer or Reverse Engineer the package Classes. |
4 | To include child packages in the synchronization, select the Include child packages in generation checkbox. |
5 | Click on the OK button to start. |

Enterprise Architect uses the directory names specified when the project source was first imported/generated and updates either the model or the source code depending on the option chosen.


Namespaces [Enterprise Architect User Guide]

Namespaces

Topics:

Topic

Detail

See also

Usuage

Languages such as Java support package structures or namespaces. Enterprise Architect lets you specify a package as a namespace root, which denotes where the namespace structure starts; all subordinate packages below this point are generated as namespaces to code.

To define a package as a namespace root, right-click on the package in the Project Browser and select the Code Engineering | Set as Namespace Root context menu option. The package icon in the Project Browser changes to include a colored corner ( NamespaceRootIcon).

When you have set the namespace root, the menu option changes to Clear Namespace Root; click on this option to take the namespace root status off the package. (Also, see the context menu described below.)

Once you have set a namespace root, Java code generated beneath this root automatically adds a package declaration at the head of the generated file indicating the current package location.

To view a list of namespaces, select the Settings | Namespace Roots menu option. The Namespaces dialog displays.

If you double-click on a namespace in the list, the package is highlighted in the Project Browser. Alternatively, right-click on the namespace to display a context menu, and select the Locate Package in Browser menu option.

You can also clear the selected namespace, by selecting the Clear Namespace Attribute option.

Notes:

  • When performing code generation, any package name that contains whitespace characters is automatically treated as a namespace root


Generate From Behavioral Models [Enterprise Architect User Guide]

Generate From Behavioral Models

Enterprise Architect's system engineering capability facilitates code generation from each of the following UML behavioral diagrams:

Topic | Link
State Machine diagrams(SW & HW) | State Machine diagrams
Interaction (Sequence) diagrams (SW) | Interaction (Sequence) diagrams
Activity diagrams (SW) | Activity diagrams

You can generate code in various software and hardware languages, including C(OO), C++, C#, Java, VB.Net, VHDL, Verilog and SystemC.

How To:

To experiment with code generation from these diagrams, using the EAExample project provided with your Enterprise Architect installer, follow the steps below:

Step

Action

See also

1

Open the EAExample.eap file by selecting the Help | Open Example Model menu option

2

From the Project Browser, select any of the following packages:

Software Language Examples:

  • Project Models > System Model > Implementation Model (PSM) > Java Model With Behaviors. Generate the Account and Order classes
  • Project Models > Systems Engineering Model > Implementation Model > Software > C#. Generate the DataProcessor Class
  • Project Models > Systems Engineering Model > Implementation Model > Software > C++. Generate the IO Class
  • Project Models > Systems Engineering Model > Implementation Model > Software > Java. Generate the IO Class
  • Project Models > Systems Engineering Model > Implementation Model > Software > VBNet. Generate the IO Class

Hardware Language Examples:

  • Project Models > Systems Engineering Model > Implementation Model > Hardware > SystemC. Generate the PlayBack Class
  • Project Models > Systems Engineering Model > Implementation Model > Hardware > VHDL. Generate the PlayBack Class
  • Project Models > Systems Engineering Model > Implementation Model > Hardware > Verilog. Generate the PlayBack Class

3

When completed, press ( Ctrl+E ) to open the generated source code

You should see methods generated in the code

Notes:

  • Software code generation from behavioral models is available in the Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect
  • Hardware code generation from State Machine models is available in the Systems Engineering and Ultimate editions of Enterprise Architect
  • For C(OO), please ensure that, on the C Specifications page of the Options dialog, you have set the Object Oriented Support option to True
  • To be able to generate code from behavioral models, all behavioral constructs should be contained within a Class
  • Code synchronization is not supported for behavioral code

Learn More:

  • State Machine modeling for HDLs


SW Code Generation - State Machine Diagrams [Enterprise Architect User Guide]

SW Code Generation - State Machine Diagrams

A State Machine in a Class internally generates the following constructs in software languages to enable effective execution of the States' behaviors (do, entry and exit) and also to code the appropriate transition's effect when necessary.

Topics:

Topic

Detail

See also

Enumerations
  • StateType - comprises an enumeration for each of the States contained within the State Machine
  • TransitionType – comprises an enumeration for each transition that has a valid effect associated with it; for example ProcessOrder_Delivered_to_ProcessOrder_Closed
  • CommandType – comprises an enumeration for each of the behavior types that a State can contain (Do, Entry, Exit)

State Machine Diagrams

Java Code Generated From State Machine Diagram

Attributes
  • currState:StateType - a variable to hold the current State's information
  • nextState:StateType - a variable to hold the next State's information, set by each State's transitions accordingly
  • currTransition:TransitionType - a variable to hold the current transition information; this is set if the transition has a valid effect associated with it
  • transcend:Boolean - a flag used to advise if a transition is involved in transcending between different State Machines (or Submachine states)
  • xx_history:StateType - a history variable for each State Machine/Submachine State, to hold information about the last State from which the transition took place

State Machine Diagrams

Java Code Generated From State Machine Diagram

Operations
  • StatesProc - a States procedure, containing a map between a State's enumeration and its operation; it de-references the current State's information to invoke the respective State's function
  • TransitionsProc - a Transitions procedure, containing a map between the Transition's enumeration and its effect; it invokes the respective effect
  • <<State>> - an operation for each of the States contained within the State Machine; this renders a State's behaviors based on the input CommandType, and also executes its transitions
  • initializeStateMachine - a function that initializes all the framework-related attributes
  • runStateMachine - a function that iterates through each State, and executes their behaviors and transitions accordingly

State Machine Diagrams

Java Code Generated From State Machine Diagram

Notes:

  • To be able to generate code from behavioral models, all behavioral constructs should be contained within a Class

Learn More:

  • State Machine Diagrams
  • Generate From Behavioral Models
  • State Machine Modeling For HDLs


Java Code Generated From State Machine Diagram [Enterprise Architect User Guide]

Java Code Generated From State Machine Diagram

private enum StateType : int

{

ProcessOrder_Delivered,

ProcessOrder_Packed,

ProcessOrder_Closed,

ProcessOrder_Dispatched,

ProcessOrder_New,

ST_NOSTATE

}

private enum TransitionType : int

{

ProcessOrder_Delivered_to_ProcessOrder_Closed,

TT_NOTRANSITION

}

private enum CommandType

{

Do,

Entry,

Exit

}

private StateType currState;

private StateType nextState;

private TransitionType currTransition;

private boolean transcend;

private StateType ProcessOrder_history;

private void processOrder_Delivered(CommandType command)

{

switch(command)

{

case Do:

{

// Do Behaviors..

setStatus(Delivered);

// State's Transitions

if((status==Delivered))

{

nextState = StateType.ProcessOrder_Closed;

currTransition = TransitionType.ProcessOrder_Delivered_to_ProcessOrder_Closed;

}

break;

}

default:

{

break;

}

}

}

private void processOrder_Packed(CommandType command)

{

switch(command)

{

case Do:

{

// Do Behaviors..

setStatus(Packed);

// State's Transitions

nextState = StateType.ProcessOrder_Dispatched;

break;

}

default:

{

break;

}

}

}

private void processOrder_Closed(CommandType command)

{

switch(command)

{

case Do:

{

// Do Behaviors..

// State's Transitions

break;

}

default:

{

break;

}

}

}

private void processOrder_Dispatched(CommandType command)

{

switch(command)

{

case Do:

{

// Do Behaviors..

setStatus(Dispatched);

// State's Transitions

nextState = StateType.ProcessOrder_Delivered;

break;

}

default:

{

break;

}

}

}

private void processOrder_New(CommandType command)

{

switch(command)

{

case Do:

{

// Do Behaviors..

setStatus(new);

// State's Transitions

nextState = StateType.ProcessOrder_Packed;

break;

}

default:

{

break;

}

}

}

private void StatesProc(StateType currState, CommandType command)

{

switch(currState)

{

case ProcessOrder_Delivered:

{

processOrder_Delivered(command);

break;

}

case ProcessOrder_Packed:

{

processOrder_Packed(command);

break;

}

case ProcessOrder_Closed:

{

processOrder_Closed(command);

break;

}

case ProcessOrder_Dispatched:

{

processOrder_Dispatched(command);

break;

}

case ProcessOrder_New:

{

processOrder_New(command);

break;

}

default:

break;

}

}

private void TransitionsProc(TransitionType transition)

{

switch(transition)

{

case ProcessOrder_Delivered_to_ProcessOrder_Closed:

{

setStatus(closed);

break;

}

default:

break;

}

}

private void initalizeStateMachine()

{

currState = StateType.ProcessOrder_New;

nextState = StateType.ST_NOSTATE;

currTransition = TransitionType.TT_NOTRANSITION;

}

private void runStateMachine()

{

while(true)

{

if ( currState == StateType.ST_NOSTATE )

{

break ;

}

currTransition = TransitionType.TT_NOTRANSITION;

StatesProc(currState, CommandType.Do);

// then check if there is any valid transition assigned after the do behavior

if ( nextState == StateType.ST_NOSTATE)

{

break;

}

if ( currTransition != TransitionType.TT_NOTRANSITION )

{

TransitionsProc( currTransition );

}

if ( currState != nextState)

{

StatesProc(currState, CommandType.Exit);

StatesProc(nextState, CommandType.Entry);

currState = nextState ;

}

}

}


State Machine Modeling For HDLs [Enterprise Architect User Guide]

State Machine Modeling For HDLs

For efficient code generation from State Machine models into Hardware Description Languages (HDL) such as VHDL, Verilog and Systems C, apply the design practices outlined in this topic.

In an HDL State Machine model, the following are expected:

  • Designate Driving Triggers
  • Establish Port–Trigger Mapping
  • Active State Logic

How To:

Topic

Detail

See also

Designate Driving Triggers
  • A "change" trigger is deemed as an asynchronous trigger if the following two conditions are satisfied:
  1. There is a transition from the actual submachine state(which encapsulates the actual logic) triggered by it
  2. The target state of that transition has a self transition triggered by the same trigger
  • Asynchronous triggers should be modeled according to the following pattern:
  1. The trigger should be of type Change (specification: true / false)
  2. The active state (Submachine State) should have a transition trigger by it.
  3. The target state of the triggered transition should have a self transition with the same trigger
  • A trigger of type time, which triggers the transitions to the active state (Submachine State) is deemed as the Clock. The specification of this trigger should be specific to the target language:
Trigger Type | Language | Specification
 |  | Positive Edge Triggered | Negative Edge Triggered
Time | VHDL | rising_edge | falling_edge
 | Verilog | posedge | negedge
 | SystemC | positive | negative

State Machine Diagrams

Trigger

Establish Port-Trigger Mapping

After successfully modeling the different operating modes of the component, and the triggers associated with them, you must associate the triggers with the component's ports. A Dependency relationship from the Port to the associated trigger is used to signify their association.

Active State Logic

The first two aspects, above, put in place the preliminaries required for efficient interpretation of the hardware components. The actual State Machine logic is now modeled within the Active (Submachine) state.

Notes:

  • To be able to generate code from behavioral models, all behavioral constructs should be contained within a Class
  • The current code generation engine supports only one clock trigger for a component

Learn More:

  • SW Code Generation - State Machine Diagrams
  • Transition


Code Generation - Interaction Diagrams [Enterprise Architect User Guide]

Code Generation - Interaction Diagrams

During code generation from interaction(sequence) diagrams in a Class, Enterprise Architect applies its system engineering graph optimizer to transform the Class constructs into programmatic paradigms. Messages and Fragments are identified as one of the several action types based on their functionality, and Enterprise Architect uses the code generation templates to render their behavior accordingly.

Topics:

Topic | Detail | See also
Action Call | A Message that invokes an operation | Message (Sequence Diagram) Call Message Examples
Action Create | A Message with Lifecycle = New | Message (Sequence Diagram) Message Properties
Action Destroy | A Message with Lifecycle = Delete | Message (Sequence Diagram) Message Properties
Action Loop | A Combined Fragment with Type = Alt | Combined Fragment Interaction Operators
Action If | A Combined Fragment with Type = loop | Combined Fragment Interaction Operators
Assign To | A call message with a valid target attribute set using the "Assign To" field is rendered in the code as the target attribute of a call action | Call Message Properties

Notes:

  • To be able to generate code from behavioral models, all behavioral constructs should be contained within a Class
  • For an Interaction (Sequence) diagram, the behavioral code generation engine expects the Sequence diagram and all its associated messages and interaction fragments to be encapsulated within an interaction element

Learn More:

  • EASL Code Generation Macros
  • Interaction
  • Interaction Occurrence
  • Activity


Code Generation - Activity Diagrams [Enterprise Architect User Guide]

Code Generation - Activity Diagrams

Code generation from an Activity Diagrams in a Class requires a validation phase, during which Enterprise Architect uses the system engineering graph optimizer to analyze the diagram and render it into various code-generatable constructs. Enterprise Architect also transforms the constructs into one of the various action types (if appropriate), similar to the Interaction diagram constructs.

Topics:

Topic

Detail

See also

Call Actions (Invocation Actions)

Call Actions are used to invoke operations or behaviors in an Activity diagram. The two main variants of Call Actions supported in behavioral code generation are:

  • CallOperationAction - used to invoke operations, which can be within the same Class or in other Classes within the same package. If referencing operations from other Classes within the same package, you must have a target to which the request is passed
  • CallBehaviorAction - used to invoke another Activity in an activity flow. The referenced activity is expected to be within the same Class

Arguments

Call Actions can specify argument values corresponding to the parameters in the associated behavior or behavioral feature. You can add the arguments manually or create them automatically using the the Synchronize button of the Arguments dialog.

Assign Action Pins

Behavior Calls

Synchronize Arguments

CreateObjectAction

CreateObjectAction is used to denote an object creation in the activity flow. You can set the result Pin of the CreateObjectAction as the object to be created, using the Assign Action Pins dialog.

The Classifier of the CreateObjectAction signifies the Classifier for which an instance is to be created.

Assign Action Pins

DestroyObjectAction

DestroyObjectAction is used to denote an object deletion in the activity flow. You can set the target Pin of the DestroyObjectAction as the object to be destroyed, using the Assign Action Pins dialog.

Assign Action Pins

Loops

Enterprise Architect's system engineering graph optimizer is also capable of analyzing and identifying loops. An identified loop is internally rendered as an Action Loop, which is translated by the EASL code generation macros to generate the required code

Conditional Statements

To model a conditional statement, you use Decision/Merge nodes. Alternatively, you can imply Decisions/Merges internally. The graph optimizer expects an associated Merge node for each Decision node, to facilitate efficient tracking of various branches and analysis of the code constructs within them.

Notes:

  • To be able to generate code from behavioral models, all behavioral constructs should be contained within a Class

Learn More:

  • EASL Code Generation Macros
  • Assign Action Pins
  • Interactions and Activities
  • Behavior Calls
  • Synchronize Arguments


Synchronize Model and Code [Enterprise Architect User Guide]

Synchronize Model and Code

In addition to generating and importing code, Enterprise Architect provides the option to synchronize the model and source code, creating a model that represents the latest changes in the source code and vice versa. You can use either the model as the source, or the code as the source.

For example: you generated some source code, but made subsequent changes to the model. When you generate code again, Enterprise Architect adds any new attributes or methods to the existing source code, leaving intact what already exists. This means developers can work on the source code and then generate additional methods as required from the model, without having their code overwritten or destroyed.

Similarly, you might have made changes to a source code file, but the model has detailed notes and characteristics you do not want to lose. By synchronizing from the source code into the model, you import additional attributes and methods but do not change other model elements.

Using the two synchronization methods above, it is simple to keep source code and model elements up to date and synchronized.

Topics:

Topic

Detail

See also

Synchronize Classes on Forward Generation

When there are features present in the code but not in the model you can use the following buttons during forward synchronization:

  • Delete: when you click on this button the selected code features are removed from the code
  • Reassign: when you click on this button the code elements are reassigned to elements in the model (this is only possible when an appropriate model element is present that is not already defined in the code)
  • Ignore: when you click on this button the code elements not present in the model are ignored completely
  • Reset to Default: when you click on this button the settings for synchronizing during forward generation are set to Ignore, meaning that the elements present in the code but not in the model are ignored completely

Generate Source Code

Generate Source Code and DDL

Notes:

  • Code synchronization does not change method bodies; behavioral code cannot be synchronized, and code generation only works when generating the entire file
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Generate Source Code and DDL permission to synchronize source code with model elements
  • The buttons to influence features generation are only available when the 'On forward synch, prompt to delete code features not in model' checkbox is selected in the Options - Attributes and Operations dialog

Learn More:

  • Generate Source Code
  • Generate Source Code and DDL
  • Options - Attributes and Operations
  • Configure User Security
  • Generate From Behavioral Models


Importing Source Code [Enterprise Architect User Guide]

Importing Source Code

Topics:

Topic

Detail

See also

Usage

Reverse Engineering in Enterprise Architect enables you to import existing source code from a variety of code languages into a UML model. Existing source code structures are mapped into their UML representations, for example a Java Class is mapped into a UML Class element with the variables being defined as attributes, methods are modeled as operations and the interactions between the Java Classes being displayed in the UML model Class diagram with the appropriate connectors.

Reverse Engineering enables users to examine legacy code and examine the functionality of code libraries for reuse or to bring the UML model up to date with the code that has been developed as part of a process called synchronization. Examining the code in a UML model enables user to identify the critical modules contained the code, enabling a starting point for understanding of the business and system requirements of the pre-existing system and to enable the developers to gain a better overall understanding of the source code.

To begin the process of importing existing code into Enterprise Architect, an existing source of code must be imported into Enterprise Architect, which can be a single directory or a directory structure. Several options are available when performing the reverse engineering process. The Source Code Engineering Options topic contains several options that affect the reverse engineering process. These include:

  • If comments are reverse engineered into notes fields, and how they are
    formatted if they are
  • How property methods are recognized
  • If dependencies should be created for operation return and parameter types

It is important to note that when a legacy system is not well designed, simply importing the source into Enterprise Architect does not create an easily understandable UML model. When working with a legacy system that is poorly designed it is useful to break down the code into manageable components by examining the code elements individually. This can be achieved by importing a specific Class of interest into a diagram and then inserting the related elements at one level to determine immediate relationship to other Classes. From this point it is possible to create Use Cases that identify the interaction between the legacy Classes, enabling an overview of the legacy system's operation.

Imported Source Code

Import a Directory Structure

Source Code Options

Insert Related Elements

Copyright Ownership

Copyright ownership is an important issue to take into account when undertaking the process of reverse engineering. In some cases, software might have specific limitations that prohibit the process of reverse engineering. It is important that a user address the issue of copyright before beginning the process of reverse engineering code. Situations that typically lend themselves to reverse engineering source code include source code that:

  • You have already developed
  • Is part of a third-party library that you have obtained permission to use
  • Is part of a framework that your organization uses
  • Is being developed on a daily basis by your developers

Enterprise Architect currently supports reverse engineering in the following programming languages:

Reference:

Topic | Link
Action Script | ActionScript
Ada 2005 (Systems Engineering and Ultimate editions) | Ada 2005
C | C
C# | C#
C++ | C++
CORBA IDL (MDG Technology ) | www.sparxsystems.com/resources/mdg_tech/
Delphi | Delphi
Java | Java
PHP | PHP
Python | Python
SystemC(Systems Engineering and Ultimate editions) | SystemC
Verilog (Systems Engineering and Ultimate editions) | Verilog
VHDL(Systems Engineering and Ultimate editions) | VHDL
Visual Basic | Visual Basic
Visual Basic .NET | Visual Basic .NET

Enterprise Architect is also able to reverse engineer certain types of binary files: Java .jar files and .NET PE files. See Import Binary Module for more information.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Reverse Engineer From DDL And Source Code permission to reverse engineer source code and synchronize model elements against code
  • Reverse Engineering of other languages is currently available through the use of MDG Technologies from www.sparxsystems.com/resources/mdg_tech/

Learn More:

  • Import Binary Module
  • Permission List
  • www.sparxsystems.com/resources/mdg_tech/ (Online Resource)


Import Source Code [Enterprise Architect User Guide]

Import Source Code

To import source code (reverse engineer) follow the steps below

How To:

Step

Action

See also

1

In the Project Browser, select (or add) a diagram into which to import the Classes.

2

Right-click on the diagram background to open the context menu and either:

  • Select the language to import from the Import from source file(s) submenu
  • Click on the Import Language drop-down arrow in the Code Generation toolbar and select the Import | Import xxx files menu option, where xxx represents the language to import

3

From the file browser that appears, select one or more source code files to import.

Notes on Source Code Import

4

Click on the Open button to start the import process.

As the import proceeds, Enterprise Architect provides progress information. When all files are imported, Enterprise Architect makes a second pass to resolve associations and inheritance relationships between the imported Classes.


Notes on Source Code Import [Enterprise Architect User Guide]

Notes on Source Code Import

Enterprise Architect enables you to import code into your project, in the following programming languages:

Topic | Link
Action Script | ActionScript
C | C
C# | C#
C++ | C++
Delphi | Delphi
Java | Java
PHP | PHP
Python | Python
Visual Basic | Visual Basic
Visual Basic .NET | Visual Basic .NET

Topics:

Topic

Detail

See also

Introduction

Enterprise Architect supports most constructs and keywords for each coding language.

If there is a particular feature you require support for that you feel is missing, please contact Sparx Systems.

You must select the appropriate type of source file for the language, as the source code to import.

Sparx Systems (Online resource)

ActionScript

Appropriate type of source file: .as.

C

Appropriate type of source file: .h header files and/or .c files.

When you select a header file Enterprise Architect automatically searches for the corresponding .c implementation file to import based on the options for extension and search path specified in the C options.

Enterprise Architect does not expand macros that have been used, these must be added into the internal list of Language Macros.

C options

Language Macros

C++

Appropriate type of source file: .h header file.

Enterprise Architect automatically searches for the .cpp implementation file based on the extension and search path set in the C++ options. When it finds the implementation file it can use it to resolve parameter names and method notes as necessary.

When importing C++ source code, Enterprise Architect ignores function pointer declarations. To import them into your model you could create a typedef to define a function pointer type, then declare function pointers using that type. Function pointers declared in this way are imported as attributes of the function pointer type.

Enterprise Architect does not expand macros that have been used; these must be added into the internal list of Language Macros.

C++ options

Language Macros

C#

Appropriate type of source file: .cs.

Delphi

Appropriate type of source file: .pas.

Java

Appropriate type of source file: .java.

Enterprise Architect supports the AspectJ language extensions.

Aspects are modeled using Classes with the stereotype aspect. These aspects can then contain attributes and methods as for a normal Class. If an intertype attribute or operation is required, you can add a tag className with the value being the name of the Class it belongs to.

Pointcuts are defined as operations with the stereotype of pointcut. These can occur in any Java Class, Interface or aspect. The details of the pointcut are included in the behavior field of the method.

Advice is defined as an operation with the stereotype advice. The pointcut this advice operates on is in the behavior field and acts as part of the method's unique signature. After advice can also have one of the Tagged Values returning or throwing.

PHP

Appropriate type of source file: .php, .php4, or .inc.

Nested if condition syntax is enabled.

Python

Appropriate type of source file: .py.

Visual Basic

Appropriate type of source file: .cls Class file.

Visual Basic .NET

Appropriate type of source file: .vb Class file.

Notes:

  • When reverse engineering attributes with parameter substitutions (templated attributes):
  • If a Class with proper template parameter definitions is found, an Association connector is created and its parameter substitutions are configured
  • An Association connector is also created if a matching entry is defined as a Collection Class or in the Additional Collection Classes option (for C#, C++ and Java). For an example, see Example Use of Collection Classes

Learn More:

  • Import Source Code
  • Parameterized Classes (Templates)
  • Set Collection Classes
  • C# Options
  • C++ Options
  • Java Options
  • Example Use of Collection Classes


Import a Directory Structure [Enterprise Architect User Guide]

Import a Directory Structure

You can import from all source files in a complete directory structure. This process enables you to import or synchronize multiple files in a directory tree in one pass. Enterprise Architect creates the necessary packages and diagrams during the import process.

To import a directory structure, follow the steps below

How To:

Step

Action

See also

1

In the Project Browser, right-click on the target package for the import.

2

From the context menu, select the Code Engineering | Import Source Directory menu option. The Import Source Directory dialog displays.

3

Select the options you require. You can configure:

  • The source directory
  • The source type
  • The file extensions to look at
  • Whether to recurse sub directories
  • Whether to create a diagram for each package
  • Whether to import additional files as described in the Import Component Types dialog
  • Whether to exclude private members from libraries being imported from the model
  • Whether to create a package for every directory, namespace or file; this might be restricted depending on the source type selected
  • Whether to Synchronize or Overwrite existing Classes when found (if a model Class is found matching the one in code, Synchronize updates the model Class to include the details from the one in code, which preserves information not represented in code such as the location of Classes in diagrams; Overwrite deletes the model Class and generates a new one from code, which deletes and does not replace the additional information)
  • How to handle Classes not found during the import (Prompt for action enables you to review Classes individually)
  • What is shown on diagrams created by the import

Classes not found during Import

4

Click on the OK button to start.


Import Binary Module [Enterprise Architect User Guide]

Import Binary Module

Enterprise Architect enables you to reverse-engineer certain types of binary modules.

Access: Right-click on a package within the Project Browser | Code Engineering | Import Binary Module

Topics:

Topic

Detail

See also

Usage

Currently the permitted types are as follows:

  • Java Archive (.jar)
  • .Net PE file (.exe, .dll); native Windows DLL and EXE files are not supported, only PE files containing .NET assembly data
  • Intermediate Language file (.il)

Enterprise Architect creates the necessary packages and diagrams during the import process. Selecting the Do not import private members checkbox excludes private members from libraries from being imported into the model.

When importing .Net files, you can import via reflection or via disassembly, or let Enterprise Architect decide the best method - this might result in both types being used. The reflection-based importer relies on a .Net program, and requires the .Net runtime environment to be installed. The disassembler-based importer relies on a native Windows program called Ildasm.exe, which is a tool provided with the MS .Net SDK. The SDK can be downloaded from the Microsoft website.

A choice of import methods is available because some files are not compatible with reflection (such as mscorlib.dll) and can only be opened using the disassembler. However, the reflection-based importer is generally much faster.

You can also configure:

  • Whether to Synchronize or Overwrite existing Classes when found (if a model Class is found matching the one in the file, Synchronize updates the model Class to include the details from the one in the file, which preserves information not represented in the file such as the location of Classes in diagrams; Overwrite deletes the model Class and generates a new one from the file, which deletes and does not replace the additional information)
  • Whether to create a diagram for each package
  • What is shown on diagrams created by the import


MDG Integration and Code Engineering [Enterprise Architect User Guide]

MDG Integration and Code Engineering

Topics:

Topic

Detail

See also

Abstract/Usage

MDG Integration for Eclipse and MDG Integration for Visual Studio are standalone products that provide an enhanced code engineering functionality between Enterprise Architect and the development environments.

The MDG Integration programs provide a lightweight bridge between Enterprise Architect and the development environment, offering enhanced code generation, reverse engineering and synchronization between code and the UML model. Merging changes can be achieved with minimal effort, and navigation between model and source code is significantly enhanced.

A trial version of MDG Integration for Eclipse can be downloaded from www.sparxsystems.com/products/mdg/int/eclipse/index.html and MDG Integration for Visual Studio can be downloaded from www.sparxsystems.com/products/mdg/int/vs/index.html.

www.sparxsystems.com/products/mdg/int/eclipse/index.html (Online Resource)

www.sparxsystems.com/products/mdg/int/vs/index.html (Online Resource)


Classes Not Found During Import [Enterprise Architect User Guide]

Classes Not Found During Import

Topics:

Topic

Detail

See also

Usage

When reverse synchronizing from your code, there are times when some Classes might be deliberately removed from your source code. Enterprise Architect's import source directory functionality keeps track of the Classes it expects to synchronize with and, on the Import Directory Structure dialog, provides options for how to handle the Classes that weren't found. You can select the appropriate action so that, at the end of the import, Enterprise Architect either ignores the missing Classes, automatically deletes them or prompts you to handle them.

If you select the Prompt For Action radio button on the Import Directory Structure dialog, to manually review missing Classes a dialog is displayed allowing you to specify the handling for each class that was missing in the imported code. By default, all Classes are marked for deletion. To keep one or more Classes, select them and click on the Ignore button.

Import a Directory Structure


Other Settings [Enterprise Architect User Guide]

Other Settings

You can set the default code options such as the editors for each of the programming languages available for Enterprise Architect and special options for how source code is generated or reverse engineered.

Learn More:

Topic | Details | Link
General Options | Describes the general options that apply to all languages when generating code from Enterprise Architect | General Options
Local Paths | Describes how to define local paths for each Enterprise Architect user, using the Local Paths settings | Local Paths
Local Path Dialog | Enables you to set up local paths for a single user on a particular machine | Local Path Dialog
Language Macros | Describes how to define macros, which is helpful for reverse engineering | Language Macros
Set Collection Classes | Describes how to define Collection Classes | Set Collection Classes


Source Code Engineering [Enterprise Architect User Guide]

Source Code Engineering

The following topics describe general options that apply to all languages when generating code from Enterprise Architect. These options are all available under the Source Code Engineering section of the Options dialog

Access: Tools | Options | Source Code Engineering

Topic | Detail | Link
Source Code Options | You can set certain defined options for a particular language while generating the code | Source Code Options
Options - Code Editors | Describes how to access and configure the source code editor | Options - Code Editors
Options - Object Lifetimes | Describes configuring various options concerning Object Lifetimes | Options - Object Lifetimes
Options - Attributes/Operations | Describes configuring Attributes/Operations | Options - Attribute/Operations
Synchronize Model and Code | Describes synchronizing the model and source code | Synchronize Model and Code
Code Page for Source Editing | Provides an option to define the Unicode character set for code generation | Code Page for Source Editing


Source Code Options [Enterprise Architect User Guide]

Source Code Options

When you generate code for a particular language, you can set certain options. These include:

  • Create a default constructor
  • Create a destructor
  • Generate copy constructor
  • Select default language
  • Generate methods for implemented interfaces
  • Set the Unicode options for code generation

Access: Tools | Options | Source Code Engineering

Use to:

  • Configure code generation options

Reference:

Field | Usage | See also
Always synchronize with existing file (recommended) | Indicates that imported code synchronizes with an existing file |
Replace (overwrite) existing source file | Indicates that imported code overwrites an existing source file |
Component Types | Allows for the importation of component types, this opens the Import component types dialog | Import Component Types
Default Language for Code Generation: | Indicates the default coding language used in code generation |
Wrap long comment lines at: | Specifies the line length to wrap comments within |
Auto Layout Diagram on Import: | Specifies if and when a diagram is automatically generated on code import |
Output file use both CR & LF | Indicates if carriage return and line feed is a used; ensure that this option is set according to what operating system is currently in use as code might not render correctly |
Prompt when synchronizing (reversing) | Ensures that a prompt displays when synchronization occurs |
Remove hard breaks from comments on import | Indicates that hard breaks are removed from commented sections on importation |
Auto generate role names when creating code | Indicates that role names are generated when creating code |
Do not generate role names when creating code | Indicates that role names are not generated when creating code |
Do not generate members where association direction is "Unspecified" | If association direction is "unspecified", members are not generated |
Create dependencies for operation returns and parameter types | Creates dependencies for operation returns and parameter types |
Comments: Generate | Indicates that comments are generated |
Comments: Reverse | Indicates that reverse comments are generated |
Remove prefixes when generating Get/Set properties | Enables specification of prefixes used in your variable naming conventions, if those prefixes should be removed in the variables' corresponding get/set functions |
Treat as suffixes | Treats the prefixes defined within Remove prefixes when generating Get/Set properties as suffixes |
Capitalized Attribute Name for properties | Capitalizes Attribute names for properties |
Use "Is" for Boolean property Get() | Indicates that the Is keyword is used for the Boolean property Get() |
Code page for source editing | Specifies the character embedding format |

Notes:

  • It is worthwhile to configure these settings, as they serve as the defaults for all Classes in the model; you can override these on a per-Class basis using the custom settings (from the Code Generation dialog)


Import Component Types [Enterprise Architect User Guide]

Import Component Types

The Import Component Types dialog enables you to configure what elements you would like to be created for files of any extension found while importing a source code directory.

Access: Tools | Options | Source Code Engineering : Component Types

Use to:

  • Configure what elements are to be created for files of any extension found while importing a source code directory

Reference:

Field | Usage | See also
Extension | Indicates the extension name for a component type |
Type | Indicates the type for a component |
Stereotype | Indicates the stereotype name given to a component |
Component List | The defined list of component types |
Save | Saves a component definition and adds it to the component list |
New | Allows a new component type to be defined |
Delete | Deletes a highlighted component from the component list |

Notes:

  • You can transport these import component types between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


Options - Code Editors [Enterprise Architect User Guide]

Options - Code Editors

You access the source code editor options via the Code Editors page of the Options dialog. They enable you to configure options for Enterprise Architect's internal editor, as well as the default editor for DDL scripts. You can configure external editors for code languages on each language options page.

Access: Tools | Options | Source Code Engineering > Code Editors

Use to:

  • Configure options for Enterprise Architect's internal editor
  • Configure the default editor for DDL Scripts
  • Configure DDL Name Templates

Reference:

Field | Usage | See also
DDL Editor | Specifies what DDL Editor is currently in use; the (...) button opens a dialog that enables you to choose a default DDL editor |
Default Database | Indicates the default database used |
MySQL Storage Engine | Indicates the storage engine used |
DDL Name Templates | Specifies the Foreign Key, Primary Key and Unique Constraint Name templates; the (...) button enables you to specify template names |
Use inbuilt editor if no external editor set | Specifies the editor for code in a language if no external editor is defined for that language |
Show Line Numbers | Shows line numbers in the editor |
Show Structure Tree | Shows a tree with the results of parsing the open file (requires that the file is parsed successfully) |
Don't parse files larger than | Specifies an upper limit on file size for parsing Use this to prevent performance decrease due to parsing very large files |
Syntax Highlighting Options | Specifies both global and language-specific editor language properties | Editor language properties
Automatically Reverse Engineer on File Save | When this is checked, pressing (Ctrl) + (S) to save in the source code editor automatically reverse engineers the code in the same way as the Save Source and Re-Synchronize Class button does |


Editor Language Properties [Enterprise Architect User Guide]

Editor Language Properties

Enterprise Architect enables you to specify syntax highlighting properties for all the programming languages that Enterprise Architect supports at installation.

Access: Tools | Options | Source Code Engineering > Code Editors : Syntax Highlighting Options (...)

Use to:

  • Configure Syntax highlighting for various coding languages

Reference:

Topic

Detail

See also

General Features

The Syntax Highlighting Options button displays the Editor Language properties dialog

The panel on the left of the dialog lists the languages for which you can set properties

The (Global) item at the top of the list enables you to set properties that apply to all programming languages; however, you can reset a global property to a different value for a specific language, on the page for that language

Resetting a global property for one language does not affect that property's value for the other languages

Click on the required language in the list, to display the properties for that language:

  • Properties shown in bold indicate that this is the highest level at which this property can be defined (for most language options other than Global, this is effectively the only point at which the property is defined)
  • Properties shown in normal font are generally the global properties that you can reset just for the current language

Scroll through the property categories and individual properties for the language; you can collapse and expand categories as necessary, using the expansion box next to the category name ( expansion box)

When you click on a property name, an explanation of that property displays in the panel at the bottom right of the dialog

Define Properties

To define a property, click on the value field following the property name; depending on the type of property, either the field is enabled for direct editing or a drop-down arrow or Browse button displays (as described for the Tagged Values window) to enable you to select the values to define the property

Select or type in the required values

The Toolbar icons enable you to:

  • Save your changes to the properties
  • Reset ALL properties fields to the default settings shipped with Enterprise Architect
  • Reset the current style field to the default setting (not enabled for non-style fields)

Tagged Values

Assign Keys to Macros

The Macros category enables you to assign (Ctrl+Alt+n) keystroke combinations to coding macros that you have created yourself in the Source Code Viewer

When you click on the Browse button in a selected Macro field, the Open Macro dialog displays; this dialog lists the existing macros and, if a key combination has been assigned to a macro, what that key combination is

Click on the name of the macro and on the Open button to assign the selected keys to the macro

Source Code Viewer

Notes:

  • You cannot currently set properties for any additional languages you include through an MDG Technology
  • You can resize this dialog, if required

Learn More:

  • Syntax Highlighting
  • MDG Technology


Options - Object Lifetimes [Enterprise Architect User Guide]

Options - Object Lifetimes

This set of options enables you to configure various options concerning Object Lifetimes.

Access: Tools | Options | Source Code Engineering > Object Lifetimes

Use to:

  • Define constructor details when generating code
  • Specify whether to create a copy constructor
  • Destructor details

Reference:

Field | Usage | See also
Constructor | This set of options specify if a constructor is generated, if a constructor is in-line and the visibility of the default constructor |
Copy Constructor | This set of options specify if a copy constructor is generated, if a copy constructor is in-line and the visibility of the default copy constructor |
Destructor | This set of options specify if a destructor is generated, if a destructor is in-line, if a destructor is defined as virtual and the visibility of the default constructor |

Notes:

  • Some options are related to C++ only


Options - Attribute/Operations [Enterprise Architect User Guide]

Options - Attribute/Operations

The Options - Attributes/Operations section enables you to configure Attribute and Operations specifications.

Access: Tools | Options | Source Code Engineering > Attribute/Operations

Use to:

  • Configure the default name generated from imported attributes
  • Generate methods for implemented interfaces
  • Delete model attributes not included in the code during reverse synchronization
  • Delete model methods not included in the code during reverse synchronization
  • Delete code from features contained in the model during forward synchronization
  • Delete model associations and aggregations that correspond to attributes not included in the code during reverse synchronization
  • Define whether or not the bodies of methods are included and saved in the Enterprise Architect model when reverse engineering
  • Create attributes in quick succession, clearing the dialog when you click on Save so that you can enter another attribute name

Reference:

Field | Usage | See also
Attribute Specifications: Default name for associated | Specifies the default name generated from imported attributes |
Attribute Specifications: On reverse synch, delete model attributes not in code | Indicates that on reverse synchronization, model attributes not included within code are removed |
Attribute Specifications: On reverse synch, delete model associations not in code | Indicates that on reverse synchronization, model associations not included within code are removed |
Operation Specifications: Generate methods for implemented interface | Indicates that methods are generated for an implemented interface |
Operation Specifications: On reverse synch, delete model methods not in code | Indicates that on reverse synchronization, model methods not included within code are removed |
Operation Specifications: Include method bodies in model when reverse engineering | Indicates that on reverse engineering code, method bodies are included within your model |
Options: After Save, re-select edited item | Indicates that after saving, the dialog clears allowing for another attribute name to be specified |
On forward synch, prompt to delete code features not in mode | Indicates that a prompt displays to remove features not in the mode during forward synchronization |


Code Page for Source Editing [Enterprise Architect User Guide]

Code Page for Source Editing

Enterprise Architect enables you to define the Unicode character set for code generation.

Access: Tools | Options | Source Code Engineering

How To:

To set the Unicode character set, follow the steps below:

Step | Action | See also
1 | Select the Source Code Engineering option The Source Code Engineering page of the Options dialog displays |
2 | In the Code page for source editing field, click on the drop-down arrow and select the appropriate Unicode character set |
3 | Click on the Close button |


Local Paths [Enterprise Architect User Guide]

Local Paths

Access: Settings | Local Directories and Paths

Topics:

Topic

Detail

See also

General Features

Sometimes a team of developers could be working on the same Enterprise Architect model; each developer might store their version of the source code in their local file system, but not always at the same location as their fellow developers

To handle this scenario, Enterprise Architect enables you to define local paths for each Enterprise Architect user, using the Local Paths dialog (select the Local Directories and Paths menu option)

You can use local paths in generating code and reverse engineering, and in version control, developing XML schemas and generating RTF and HTML reports

Local paths take a bit of setting up, but if you want to work collaboratively on source and model concurrently, the effort is well worth while

For example:

  • Developer A stores her .java files in a C:\Java\Source directory, while developer B stores his in D:\Source
  • Both developers want to generate and reverse engineer into the same Enterprise Architect model located on a shared (or replicated) network drive

Developer A might define a local path of:

JAVA_SOURCE = "C:\Java\Source"

All Classes generated and stored in the Enterprise Architect project are stored as:

%JAVA_SOURCE%\<xxx.java>

Developer B defines a local path as:

JAVA_SOURCE ="D:\Source"

Now, Enterprise Architect stores all java files in these directories as:

%JAVA_SOURCE%\<filename>

On each developer's machine, the filename is expanded to the correct local version

Local Paths Dialog


Local Paths Dialog [Enterprise Architect User Guide]

Local Paths Dialog

The Local Paths dialog enables you to set up local paths for a single user on a particular machine. For a description of what Local Paths are used for, see the Local Paths topic.

Access: Settings | Local Directories and Paths

Topics:

Topic

Detail

See also

General Usage

The Local Paths dialog enables you to define:

  • Path - the local directory in the file system (for example, d:\java\source)
  • ID - the shared ID that is substituted for the Local Path (for example, JAVA_SRC)
  • Type - the language type (for example, Java)

And also:

  • Apply Path - select a path and click on this button to update any existing paths in the model (with full path names) to the shared relative path name (for example:

    d:\java\source\main.java might become %JAVA_SRC%\main.java)
  • Expand Path - the opposite of Apply Path; this enables you to remove a relative path and substitute the full path name

Using the two options you can update and change existing paths

Notes:

  • You can also set up a hyperlink on a diagram to access the Local Paths dialog, to switch, update or expand your current Local Path

Learn More:

  • Local Paths
  • Hyperlink


Language Macros [Enterprise Architect User Guide]

Language Macros

When reverse engineering a language such as C++, you might find preprocessor directives scattered throughout the code. This can make code management easier, but can hamper parsing of the underlying C++ language.

To help remedy this, you can include any number of macro definitions, which are ignored during the parsing phase of the reverse engineering. It is still preferable, if you have the facility, to preprocess the code using the appropriate compiler first; this way, complex macro definitions and defines are expanded out and can be readily parsed. If you don't have this facility, then this option provides a convenient substitute.

Access: Settings | Preprocessor Macros

How To:

To define a macro, follow the steps below:

Step | Action | See also
1 | Select the Preprocessor Macros menu option The Language Macros dialog displays |
2 | Click on the Add New button |
3 | Enter details for your macro |
4 | Click on the OK button |

Topics:

Topic

Detail

See also

Macros Embedded Within Declarations

Macros are sometimes used within the declaration of Classes and operations, as in the following examples:

class __declspec Foo

{

int __declspec Bar(int p);

};

If declspec is defined as a C++ macro, as outlined above, the imported Class and operation contain a Tagged Value called DeclMacro1 with value __declspec (subsequent macros would be defined as DeclMacro2, DeclMacro3 and so on)

During forward engineering, these Tagged Values are used to regenerate the macros in code

Define Complex Macros

It is sometimes useful to define rules for complex macros that can span multiple lines;Enterprise Architect ignores the entire code section defined by the rule

Such macros can be defined in Enterprise Architect as in the following two examples; both types can be combined in one definition

Block Macros

BEGIN_INTERFACE_PART ^ END_INTERFACE_PART

where the ^ symbol represents the body of the macro - this enables skipping from one macro to another; the spaces surrounding the ^ symbol are required

Function Macros

RTTI_EMULATION()

where Enterprise Architect skips over the token including everything inside the parentheses

Notes:

  • You can transport these language macro (or preprocessor macro) definitions between models, using the Export Reference Data and Import Reference Data options; the macros are exported as a Macro List

Learn More:

  • Export Reference Data
  • Import Reference Data


Set Collection Classes [Enterprise Architect User Guide]

Set Collection Classes

Enterprise Architect enables you to define Collection Classes for generating code from Association connectors where the target role has a multiplicity setting greater than 1.

Topic

Detail

See Also

Defining Collection Classes

On the Source Code Engineering section of the Options dialog (select the Tools | Options | Source Code Engineering option), on each language page click on the Collection Classes button

The Collection Classes for Association Roles dialog displays

On this dialog, you can define:

  • The default Collection Class for 1..* roles
  • The ordered Collection Class to use for 1..* roles
  • The qualified Collection Class to use for 1..* roles

Source Code Options

Defining Collection Classes for a specific Class

Class-specific Collection classes can be defined by clicking the Collection Classes button in the Class Properties dialog of the element

Element Details

Code Generation Precedence

When Enterprise Architect generates code for a connector that has a multiplicity role >1:

  1. If the Qualifier is set use the qualified collection:
  • for the Class if set
  • else use the code language qualified collection
  2. If the Order option is set use the ordered collection:
  • for the Class if set
  • else use the code language ordered collection
  3. Else use the default collection:
  • for the Class if set
  • else use the code language default collection

Using Markers

You can include the marker #TYPE# in the collection name; Enterprise Architect replaces this with the name of the Class being collected at source generation time (for example, Vector<#TYPE#> would become Vector<foo>)

Conversely, when reverse engineering, an Association connector is also created if a matching entry (e.g. foo if foo is found in the model) is defined as a Collection Class

Additional Collection Classes

Additional Collection Classes can be defined in the language options page (C#, C++, Java)

Example Use of Collection Classes.

C# Options

C++ Options

Java Options.

Member Type

On both the Source Role and Target Role tabs of the Association Property dialog (accessible from the right-click context menu of any Association) there is a Member Type field

If you set this, the value you enter overrides all the above options

Source Role

Target Role

Learn More:

  • Generate Source Code
  • Importing Source Code
  • Source Code Options


Example Use of Collection Classes [Enterprise Architect User Guide]

Example Use of Collection Classes

Topics:

Topic

Detail

See also

Example Code

Consider the following source code:

class Class1

{

public:

Class1();

virtual ~Class1();

CMap<CString,LPCTSTR,Class3*,Class3*> att;

Vector<Class2> *att1;

TemplatedClass<class1,class2> *att2;

CList<Class4> *att3;

};

class Class2

{

public:

Class2();

virtual ~Class2();

};

class Class3

{

public:

Class3();

virtual ~Class3();

};

class Class4

{

public:

Class4();

virtual ~Class4();

};

template<class TParam1, class TParam2>

class TemplatedClass

{

public:

TemplatedClass() {

}

virtual ~TemplatedClass() {

}

};

Generated Diagram

If this code above is imported into Enterprise Architect with default import options, the following diagram is generated:

If, however, you enter the value CList<#Type#> in the Additional Collection Classes field in the language options page (C#, Java, C++), an Association connector is also created to Class 4:

C# Options

Java Options

C++ Options


Language Options [Enterprise Architect User Guide]

Language Options

You can set up various options for how Enterprise Architect handles a particular language when generating code. These options are accessible on the Options dialog (select the Tools | Options menu option).

Under the Source Code Engineering option, select the required language. The following topics outline the options available for each language.

Topic | Link
Action Script | ActionScript
Ada 2005 (in the Systems Engineering and Ultimate editions of Enterprise Architect) | Ada 2005
ANSI C | ANSI C
C# | C#
C++ | C++
Delphi | Delphi
Delphi Properties | Delphi Properties
Java | Java
PHP | PHP
Python | Python
SystemC | SystemC
Verilog (Systems Engineering and Ultimate editions) | Verilog
VHDL(Systems Engineering and Ultimate editions) | VHDL
Visual Basic | Visual Basic
Visual Basic .NET | Visual Basic .NET
MDG Technology Languages | MDG Technology Languages
Reset Options | Reset Options


ActionScript Options [Enterprise Architect User Guide]

ActionScript Options

Configure options for ActionScript code generation using the ActionScript Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > ActionScript

Use to:

  • Specify default ActionScript version to generate (AS2.0 or AS3.0)
  • Specify default file extensions (header and source)
  • Specify default source directory
  • Specify the editor for ActionScript code

Reference:

Field | Usage | See also
Disable Language | Indicates that the ActionScript is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


Ada 2005 Options [Enterprise Architect User Guide]

Ada 2005 Options

Configure options for Ada 2005 code generation using the Ada page of the Options dialog.

Access: Tools | Options | Source Code Engineering > Ada

Use to:

  • Inform the reverse engineering process whether the name of the Tagged Record is the same as the package name
  • Advise the engine of the alternate Tagged Record name to locate
  • Specify whether the engine should create a reference type for the Tagged Record (if one is not defined)
  • Supply the name of the reference type to be created (default is Ref)
  • To specify the reference parameter of a Reference / Access type
  • Tell the engine to ignore the name of the reference parameter
  • Indicate the name of the reference parameter to locate

Reference:

Field | Usage | See also
Disable Language | Indicates that Ada is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes

Notes:

  • Ada 2005 support is available in the System Engineering and Ultimate editions of Enterprise Architect


C Options [Enterprise Architect User Guide]

C Options

Configure options for C code generation using the C Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > C

Use to:

  • Support Object Oriented coding
  • Indicate default file extensions (header and source)
  • Indicate default source directory
  • Indicate an editor for C code
  • Specify a path that Enterprise Architect uses to search for the implementation file; the first path in the list is the default path when generating

Reference:

Field | Usage | See also
Disable Language | Indicates that C is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


C# Options [Enterprise Architect User Guide]

C# Options

Configure options for C# code generation using the C# Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > C#

Use to:

  • Indicate the default File extension
  • Indicate additional Collection Classes - to define custom collection classes, which can be simple substitutions (such as CArray<#TYPE#>) or a mix of other strings and substitutions (such as Cmap<CString,LPCTSTR,#TYPE#*,#TYPE#*>); the following collection classes are defined by default:
  • List<#TYPE#>;Stack<#TYPE#>;Queue<#TYPE#>;
  • Specify a 'Get' prefix
  • Specify a 'Set' prefix
  • Specify a directory for opening and saving C# source code

Reference:

Field | Usage | See also
Disable Language | Indicates that C# is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


C++ Options [Enterprise Architect User Guide]

C++ Options

Configure options for C++ code generation using the C++ Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > C++

Use to:

  • Indicate the version of C++ to generate; this controls the set of templates used and how properties are created
  • Specify the default reference type used when a type is specified by reference
  • Specify the default file extensions
  • Specify default Get/Set prefixes
  • Define additional Collection Classes - to define custom collection classes, which can be simple substitutions (such as CArray<#TYPE#>) or a mix of other strings and substitutions (such as Cmap<CString,LPCTSTR,#TYPE#*,#TYPE#*>); the following collection classes are defined by default:
  • CArray<#TYPE#>;CMap<CString,LPCTSTR,#TYPE#*,#TYPE#*>;
  • Specify a default source directory
  • Specify the path that Enterprise Architect uses to search for the implementation file; the first path in the list is the default path when generating new implementation files and parsing existing files - if you add further directories, Enterprise Architect also searches these when parsing existing files

Reference:

Field | Usage | See also
Disable Language | Indicates that C++ is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


Delphi Options [Enterprise Architect User Guide]

Delphi Options

Configure options for Delphi code generation using the Delphi Specifications page of the Options dialog

Access: Tools | Options | Source Code Engineering > Delphi

Use to:

  • Indicate a default file extension
  • Indicate a default source directory
  • Set a default directory for opening and saving Delphi source code

Reference:

Field | Usage | See also
Disable Language | Indicates that Delphi is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes

Learn More:

  • Delphi Properties


Delphi Properties [Enterprise Architect User Guide]

Delphi Properties

Enterprise Architect has comprehensive support for Delphi properties. These are implemented as Tagged Values, with a specialized property editor to help create and modify Class properties. By using the Feature Visibility element context menu option, you can display the 'tags' compartment that contains the properties. Imported Delphi Classes with properties have this feature automatically made visible for your convenience.

Use to:

  • Configure additional properties for Delphi based elements

Reference:

Topic

Description

See also

To manually activate the property editor
  • Ensure the Class you have selected has the code generation language set to Delphi
  • Right-click on the Class and select the Delphi Properties context menu option to open the editor

The Delphi Properties editor enables you to build properties in a simple and straightforward manner; from here you can:

  • Change the name and scope (only Public and Published are currently supported)
  • Change the property type (the drop-down list includes all defined Classes in the project)
  • Set the Read and Write information (the drop-down lists have all the attributes and operations from the current Class; you can also enter free text)
  • Set Stored to True or False
  • Set the Implements information
  • Set the default value, if one exists

Notes:

  • When you use the Create Property dialog from the Attribute screen, Enterprise Architect generates a pair of Get and Set functions, together with the required property definition as Tagged Values; you can manually edit these Tagged Values if required
  • Public properties are displayed with a '+' symbol prefix and published with a '^'
  • When creating a property in the Create Property Implementation dialog (accessed through the Attributes dialog), you can set the scope to Published if the property type is Delphi
  • Only Public and Published are supported
  • If you change the name of a property and forward engineer, a new property is added, but the old one must be manually deleted from the source file


Java Options [Enterprise Architect User Guide]

Java Options

Configure options for Java code generation using the Java Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > Java

Use to:

  • Set a default directory for opening and saving Java source code
  • Indicate a default file extension
  • Specify a default 'Get' prefix
  • Specify a default 'Set' prefix
  • Define additional Collection Classes - to define custom collection classes, which can be simple substitutions (such as CArray<#TYPE#>) or a mix of other strings and substitutions (such as Cmap<CString,LPCTSTR,#TYPE#*,#TYPE#*>); the following collection classes are defined by default:
  • HashSet<#TYPE#>;Map<String,#TYPE#>;

Reference:

Field | Usage | See also
Disable Language | Indicates that Java is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


PHP Options [Enterprise Architect User Guide]

PHP Options

Configure options for PHP code generation using the PHP Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > PHP

Use to:

  • Specify the extension to be used when creating files for PHP source
  • Define a semi-colon separated list of extensions to look at when doing a directory code import for PHP
  • Set a default directory for opening and saving PHP source code
  • Specify the version of PHP to generate

Reference:

Field | Usage | See also
Disable Language | Indicates that PHP is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |

Learn More:

  • Import a Directory Structure


Python Options [Enterprise Architect User Guide]

Python Options

Configure options for Python code generation using the Python Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > Python

Use to:

  • Indicate the default file extension(s)
  • Specify the default source directory to be used
  • Specify the editor used to write code

Reference:

Field | Usage | See also
Disable Language | Indicates that Python is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |


SystemC Options [Enterprise Architect User Guide]

SystemC Options

Configure options for SystemC code generation using the SystemC page of the Options dialog.

Access: Tools | Options | Source Code Engineering > SystemC

Use to:

  • Indicate default file extension(s)
  • Specify a default source directory
  • Specify an editor for changing code

Reference:

Field | Usage | See also
Disable Language | Indicates that SystemC is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


VB.NET Options [Enterprise Architect User Guide]

VB.NET Options

Configure options for VB.NET code generation using the VB.NET Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > VB.NET

Use to:

  • Indicate default file extension(s)
  • Specify a default source directory
  • Specify an editor for changing code

Reference:

Field | Usage | See also
Disable Language | Indicates that VB.NET is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


Verilog Options [Enterprise Architect User Guide]

Verilog Options

Configure options for Verilog code generation using the Verilog page of the Options dialog.

Access: Tools | Options | Source Code Engineering > Verilog

Use to:

  • Indicate default file extension(s)
  • Specify a default source directory
  • Specify an editor for changing code

Reference:

Field | Usage | See also
Disable Language | Indicates that Verilog is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


VHDL Options [Enterprise Architect User Guide]

VHDL Options

Configure options for VHDL code generation using the VHDL page of the Options dialog.

Access: Tools | Options | Source Code Engineering > VHDL

Use to:

  • Indicate default file extension(s)
  • Specify a default source directory
  • Specify an editor for changing code

Reference:

Field | Usage | See also
Disable Language | Indicates that VHDL is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current user; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


Visual Basic Options [Enterprise Architect User Guide]

Visual Basic Options

Configure options for Visual Basic code generation using the VB Specifications page of the Options dialog.

Access: Tools | Options | Source Code Engineering > Visual Basic

Use to:

  • Indicate the default file extension when reading/writing
  • Specify the default Visual Basic version
  • Indicate the MTS transaction mode for MTS objects
  • Specify if a Class uses Multi use (true or false)
  • Specify if a Class uses the Persistable property
  • Indicate data binding behaviours
  • Set the global namespace
  • Set the Exposed attribute
  • Indicate if the Creatable attribute is true or false

Reference:

Field | Usage | See also
Disable Language | Indicates that Visual Basic is to be disabled |
Options for the current model | Specifies the options used in the current model These options affect all users of the current model; however, they do not apply to other models |
Options for the current user | Specifies the options used for the current use; these options apply to all models that are accessed by the user |
Collection Classes | Opens the Collection Classes for Association Roles dialog, which allows the specification of collection class definitions | Collection Classes


MDG Technology Language Options [Enterprise Architect User Guide]

MDG Technology Language Options

If you have loaded an MDG Technology that specifies a code module into your Sparx Systems > EA > MDG Technologies folder, the language is included in the Source Code Engineering list on the Options dialog. The language is only listed on the Options dialog if an MDG Technology file actually uses it in your model.

Access: Tools | Options | Source Code Engineering > MDG

Reference:

Field | Usage | See also
Default Extension | Default extension for generated source files; shown if the option is in the technology This is saved per project |
Import File Extensions | Default folder to import source files from; shown if the technology supports namespaces This is saved once for all projects |
Generate Namespaces | Indicates if namespaces are generated or not |
Default Source Directory | The default directory to save generated source files This is always shown |
Editor | Indicates the editor that is used to edit source files |
Att Type | Indicates the default attribute type |

Notes:

  • These options are set in the technology inside the <CodeOptions> tag of a code module, as follows:

    <CodeOption name="DefaultExtension">.rb</CodeOption>

Learn More:

  • MDG Technology
  • Adding Code Modules in MDG Technologies


Reset Options [Enterprise Architect User Guide]

Reset Options

Enterprise Architect stores some of the options for a Class when it is first created. Some are global; for example, $LinkClass is stored when you first create the Class, so it won't automatically pick up the global change in the Options dialog in existing Classes. You must modify the options for the existing Class.

How To:

To modify options for a single Class, follow the steps below:

Step | Action | See also
1 | Right-click on the Class to change, and select the Generate Code context menu option The Generate Code dialog displays |
2 | Click on the Advanced button The Object Options dialog displays |
3 | Click on the Attributes/Operations button |
4 | Change the options, and click on the Close button to apply the changes |

To modify options for all Classes within a package, follow the steps below:

Step | Action | See also
1 | Right-click on the package in the Project Browser The context menu displays |
2 | Select the Code Engineering | Reset Options for this Package menu option The Manage Code Generation dialog displays |
3 | Reset the required defaults for each existing Class |
4 | Click on the OK button to apply the changes |


ICONIX [Enterprise Architect User Guide]

ICONIX

Topics:

Topic

Detail

See also

Abstract

The following text is derived from the ICONIX entry in the online Wikipedia:

The ICONIX Process is a minimalist, streamlined approach to Use Case driven UML modeling that uses a core subset of UML diagrams and techniques to provide thorough coverage of object-oriented analysis and design. Its main activity is robustness analysis, a method for bridging the gap between analysis and design. Robustness analysis reduces the ambiguity in use case descriptions, by ensuring that they are written in the context of an accompanying domain model. This process makes the use cases much easier to design, test and estimate.

The ICONIX Process was developed by Doug Rosenberg; for more information on ICONIX, refer to ICONIX Software Engineering Inc.

ICONIX (Online Resource)

ICONIX in Enterprise Architect

Enterprise Architect enables you to develop models under ICONIX quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer

The ICONIX facilities are provided in the form of:

  • A set of ICONIX pages in the Toolbox
  • ICONIX element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

To further help you develop and manage a project under ICONIX, Enterprise Architect also provides a white paper on the ICONIX Roadmap

In addition, Enterprise Architect has an alternative visual layout specific to ICONIX

Toolbox Shortcut Menu

Quick Linker

ICONIX Roadmap (Online Resource)

ICONIX Toolbox Pages

Within the Toolbox, Enterprise Architect provides ICONIX versions of the pages for UML Analysis, Use Case, Class, Interaction (Sequence), Activity and Custom diagrams (which often form the basis for Robustness diagrams)

Compared to the standard Toolbox pages, these have slightly different element and relationship sets; you can access them by either:

  • Selecting the More tools | ICONIX | <Diagram Type> menu option for a specific Toolbox page
  • Selecting the ICONIX option in the drop-down field of the Default Tools toolbar, which adds all six pages to the Toolbox; the first page and the Common page are expanded, and the others are closed up

Analysis Diagram

Use Case Diagram

Class Diagram

Sequence Diagram

Activity Diagram

Custom Diagram

ICONIX Layout

The ICONIX layout re-organizes the Enterprise Architect work area, opening the:

  • Toolbox on the right hand side of the screen (follow the instructions above to display the ICONIX pages)
  • The Learning Center window auto-hidden in the top right of the screen
  • Project Browser window in the top left of the screen, and
  • Notes, Properties and Tagged Values windows nested on the bottom left of the screen

To apply this layout, select the View | Workspace Layouts menu option and select the Basic Layout (Alternate) option

Workspace Layout

Disable ICONIX

If you prefer not to use ICONIX in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies)

This does not affect the ICONIX layout, which you can switch back to your own layout or the Enterprise Architect default layout using the View | Workspace Layouts menu option

MDG Technologies


GoF Patterns [Enterprise Architect User Guide]

GoF Patterns

Topics:

Topic

Detail

See also

Abstract

The following text is derived from the Design Patterns entry in the online Wikipedia.

Gang of Four (GoF) Patterns are 23 classic software design patterns providing recurring solutions to common problems in software design. They were developed by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, often referred to as the Gang of Four. The patterns are defined in the book Design Patterns: Elements of Reusable Object-Oriented Software (Gamma et al., ISBN 0-201-63361-2).

For further information on the concepts of GoF Patterns, refer to the Wikipedia item and its linked sources.

Design Patterns (Online Resource)

GoF Patterns in Enterprise Architect

Enterprise Architect enables you to develop diagrams from GoF patterns quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The GoF Patterns are provided in the form of:

  • GoF Behavioral Patterns, GoF Creational Patterns and GoF Structural Patterns pages in the Toolbox
  • Gang of Four pattern entries in the Toolbox Shortcut Menu.

GoF Toolbox Pages

You can access the GoF Pattern pages of the Toolbox through the More tools | GoF Patterns menu option. The following icons are available:

When you drag one of the pattern elements onto a new diagram, the Add Pattern GoF <pattern group><pattern type> dialog displays. If necessary, modify the action and/or default for the component elements, then click on the OK button to create a diagram based on the pattern.

The GoF patterns are drawn from the Resources window. If you delete a pattern in the Resources window the equivalent Toolbox item cannot work. Therefore, if you cannot drop a pattern element from the Toolbox, check that it is still available in the Resources window.

Toolbox Shortcut Menu

Use A Pattern

Disable GoF Patterns

If you prefer not to use the GoF Patterns technology in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

MDG Technologies


Systems Engineering [Enterprise Architect User Guide]

Systems Engineering

Topics:

Topic

Detail

See also

Usage

To model Systems using SysML in Enterprise Architect, you work through the following steps:

  • Create a Systems Engineering model to develop your system
  • Create a Requirements model to define the systems requirements and expectations
  • Create an Operational Domain model, which describes the environment that the system operates within, and the entities it interacts with
  • Create Constraint models to describe the systems operating characteristics using parametric models
  • Simulate the parametric models to verify their correctness and obtain the desired characteristic
  • Design the system's composition using SysML Blocks and Parts
  • Implement the embedded software using UML Classes and behavioral models
  • Create a Library of reusable SysML blocks, representing subsystems that can be reused on other projects, and other common Type definitions

SysML

Create a Systems Engineering model

Create a Requirements model

Create an Operational Domain model

SysML Parametric Models

Simulating a SysML Model

Compose System Design

Generate from Behaviour Models

Create Re-usable Subsystems

Example:

These steps are represented graphically in the following flow:

To create a Systems Engineering Model from a template provided with Enterprise Architect, follow the steps below

How To:

Step

Action

See Also

1.

In the Project Browser, either:

  • Click on the New Model From Pattern icon in the toolbar
  • Right-click on a model root node and select the Add a New Model using Wizard context menu option, or
  • Right-click on a package and select the Add | Add a New Model using Wizard context menu option.

The Select Model(s) dialog displays.

2.

In the Select From field, click on the drop-down arrow and select Systems Engineering Model. Alternatively, if it is listed in the Technology panel, select the Systems Engineering Model item.

3.

In the Name panel, select the checkbox next to the Systems Engineering Model icon.

4.

Click on the OK button.

Example:

The following model structure is created in the Project Browser:

The Systems Engineering Model diagram, shown below, encapsulates the key components of the Systems Engineering model.

Notes:

  • Systems Modeling Language (SysML) is available in the Systems Engineering edition and Ultimate edition of Enterprise Architect


SysML [Enterprise Architect User Guide]

Systems Modeling Language (SysML)

 Return to Introduction

Topics:

Topic

Detail

See also

Introduction

The following text is derived from the official OMG SysML site of the Object Management Group

The OMG Systems Modeling Language (OMG SysML™) is a general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems that may include hardware, software, information, personnel, procedures, and facilities.

The language provides graphical representations with a semantic foundation for modeling system requirements, behavior, structure, and parametrics, which is used to integrate with other engineering analysis models.

SysML was developed in response to requirements developed jointly by the OMG and the International Council on Systems Engineering (INCOSE) by the diverse group of tool vendors, end users, academia, and government representatives.

OMG SysML

SysML In Enterprise Architect

Enterprise Architect enables you to develop SysML models quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer

The SysML technology provides:

  • Each of the nine SysML diagram types, accessed through the New Diagram dialog
  • A collection of SysML pages in the Toolbox that contain each of the supported SysML elements and relationships
  • SysML element and relationship entries in the Toolbox Shortcut Menu and Quick Linker
  • Simulation of SysML Parametric diagrams, which supports engineering analysis of critical system parameters including the evaluation of key metrics such as performance, reliability and other physical characteristics

Add New Diagram

Toolbox Shortcut Menu

Quick Linker

Simulate a SysML Model

SysML Toolboxes

You can access the SysML pages of the Toolbox through the More tools | SysML 1.1 and SysML 1.2 menu options

You can also enable SysML as the active technology to access the Toolbox pages directly

The following sets of Toolbox pages are available:

  • Model Elements contains the constructs required to build SysML models, package structures and views
  • Block Definition contains the constructs required to design SysML blocks, constraint blocks, data and value types
  • Internal Block contains the constructs required to design SysML block compositions within Internal Block Diagrams
  • Parametrics contains the constructs required to construct SysML Parametric Diagrams using constraint blocks
  • Activity contains the constructs required to construct SysML Activity models
  • Interaction contains the constructs required to construct SysML interactions and Sequence diagrams
  • State Machine contains the constructs required to build SysML State Machines
  • Use Case contains the constructs required to build SysML Use Case models
  • Requirements contains the constructs required to build SysML Requirements models

With the Model Elements pages there is a set of SysML Common elements and relationships; these are also provided with the other SysML Toolbox pages if the active technology is set to SysML 1.1 or SysML 1.2 on the Default Tools toolbar

Model Elements

Block Definition

Internal Block

Parametrics

Activity

Interaction

State Machine

Use Case

Requirements

Default Tools Toolbar

Convert SysML 1.1 Models to SysML 1.2

Enterprise Architect enables you to migrate a SysML 1.1 model (or part of a model) to SysML 1.2, using the Automation Interface

Migrate SysML 1.1 Model to SysML 1.2

Disable SysML

If you prefer not to use SysML in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies)

MDG Technologies

Notes:

  • Systems Modeling Language (SysML) is supported in the Systems Engineering and Ultimate editions of Enterprise Architect


SysML Activity [Enterprise Architect User Guide]

SysML Activity Toolbox

These pages provide the SysML elements to construct SysML Activity models.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Activity

Page | Item | Action
SysML Activities | Activity | Define a SysML Block of executable behavior as a UML Activity
 | Structured Activity | Define a SysML Block of executable behavior as a UML Structured Activity
 | Action | Declare a unit of execution in an Activity as a UML Action.
 | Action (call behavior) | Declare a unit of execution that calls another behavior
 | Action (accept event) | Declare a unit of execution that accepts an event raised by the system
 | Action (accept event timer) | Declare a unit of execution that accepts an event raised by a time epoch
 | Action (send signal) | Declare a unit of execution that sends a signal as an event
 | Partition | Create an Activity Partition to group execution elements together by the node responsible for their execution
 | Control Operator | Control the execution of an Activity
 | Parameter | Provide access to input and output objects within the Activity
 | Parameter (optional) | Define a parameter whose contents are optional in the Activity's execution
 | Parameter (probability) | Tag a parameter with probability of the likelihood of the parameter's use in the Activity
 | Object Node | Declare a variable in the Activity, typed by a ValueType, DataType or Block
 | Object Node (no buffer) | Declare an ObjectNode in an Activity which discards unconsumed tokens
 | Object Node (overwrite) | Declare an ObjectNode in an Activity which overwrites tokens
 | Central Buffer Node | Declare an ObjectNode that stores tokens for consumption throughout the Activity
 | Decision | Create a branch of control in an Activity based on a decision
 | Merge | Merge two or more Activity control branches together
 | Synch | Establish a rendezvous point for two or more Activity flows, in order to synchronize their execution in the Activity
 | Initial | Declare the start of Activity's execution
 | Final | Declare the end of an Activity's execution, and the termination of the Activity
 | Flow Final | Declare the end of an Activity's execution path without terminating the Activity
 | Region | Group a subset of an Activity into a common execution context
 | Exception | Declare a node of execution that happens outside the normal flow of execution of an Activity
 | Fork/Join | Simultaneously branch / join a set of Control or Object Flows
SysML Activity Relationships | Control Flow | Establish a flow of logic between two Activity nodes
 | Control Flow (Continuous) | Declare a continuous control flow
 | Control Flow (Discrete) | Declare a discrete control flow
 | Control Flow (Probability) | Tag a control flow with a probability of the likelihood of the flow's traversal
 | Object Flow | Establish a flow of objects (data) between two Activity nodes
 | Object Flow (Continuous) | Declare a continuous object flow
 | Object Flow (Discrete) | Declare a discrete object flow
 | Object Flow (Probability) | Tag an object flow with a probability of the likelihood of the flow's traversal
 | Interrupt Flow | Declare a control flow that interrupts flow within a Region
SysML Activity Extensions | Enhanced Functional Flow Block Diagrams | Declare an Activity used to contain an Enhanced Functional Flow Block Diagram (EFFBD)
 | Streaming Activity | Declare an Activity where the flow of tokens passes through its parameters continuously throughout the Activity's execution
 | Non-Streaming Activity | Declare an Activity where the flow of tokens passes through its parameters at the start of the Activity's execution


SysML Block Definition [Enterprise Architect User Guide]

SysML Block Definition Toolbox

These pages provide the SysML elements to design SysML blocks, constraint blocks, data and value types.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Block Definition

Page | Item | Action
SysML Block Definition | Block | Define a composite system entity in SysML
 | Actor | Represent a user that interacts with one or more SysML systems
 | Block (constraint) | Define a composite constraint as a system of parametric equations
 | ValueType | Define a SysML quantity, expressed as a measurable dimension with specific units
 | Enumeration | Define a data type as a set of symbols or values
 | Interface | Define an element that describes a specification of an interaction point with properties and methods
 | Signal | Define a SysML message, containing attributes, exchanged between system blocks in an interaction
 | Unit | Represent a standard unit of measure in SysML
 | QuantityKind | Identify a measurable quantity in SysML
 | Part | Describe the decomposition of a SysML Block subsystem in the context of its whole using instances of reusable SysML Blocks
 | Port | Describe a structural interaction point of a SysML Block which, in turn, connects between interacting parts of a block
 | Port (flow) | Describe what flows in and out of interacting SysML Blocks
 | Flow Specification | Define a set of flow properties that correspond to individual pieces of a common interaction point
SysML Block Relationships | Item Flow | Specify the items that flow across a connector in an interaction point
 | Dependency | Establish a traceable relationship describing how one element is dependant upon another
 | Generalization | Describe an element as a specialized descendant of another element, containing additional properties and behavior
 | Containment | Graphically display ownership of one element within a parent element
 | Association (part) | Describe the characteristics of a connection between a SysML Block and its internal parts, such as the multiplicity and type
 | Association (reference) | Describe the characteristics of a connection between separate SysML Blocks, such as the multiplicity and type
 | Association (shared) | Describe the characteristics of a common connection between SysML Blocks, such as the multiplicity and type
 | Allocate | Relate model elements together to formalize a refinement of behavior, structure, constraints or design expectations
SysML Patterns | Composite Block | A pattern that creates a Composite Block made up of Blocks related by Aggregation relationships
 | Block with Parts | A pattern that creates a Composite Block made up of nested parts


SysML Interaction [Enterprise Architect User Guide]

SysML Interaction Toolbox

These pages provide the SysML elements to construct SysML interactions and Sequence diagrams.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML1.2 Interaction

Page | Item | Action
SysML Interactions | Interaction | Define a SysML Block of executable behavior as a UML Interaction
 | Sequence | Reference an instance of a SysML Block as a Lifeline in the Interaction
 | Fragment | Declare a portion of an interaction as a group with specific behavior semantics
 | Endpoint | Create an exit point for the Interaction
 | Diagram Gate | Create an endpoint for the interaction, which bridges between nested interactions
 | State/Continuation | Constrain the Interaction with assertions of the state that the lifeline is expected to be in
SysML Interactions Relationships | Message | Describe a message exchange between two lifelines in an Interaction
 | Self-Message | Describe a message exchange between a lifeline and itself in an Interaction
 | Recursion | Describe a recursive message exchange between a lifeline and itself in an Interaction
 | Call from Recursion | Describe a message exchange between two lifelines within a recursive exchange


SysML Internal Block [Enterprise Architect User Guide]

SysML Internal Block Toolbox

These pages provide the SysML elements to design SysML block compositions within Internal Block Diagrams.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Internal Block

Page | Item | Action
SysML Block Internal | Part | Describe the decomposition of a SysML Block subsystem in the context of its whole, using instances of reusable SysML Blocks
 | Connector Part | Create a SysML connector part
 | Distributed Part | Create a SysML distributed part
 | Flow Part | Create a SysML flow part
 | Participant Part | Create a SysML participant part
 | Signal | Define a SysML message, containing attributes, exchanged between system blocks in an interaction
 | Port | Describe a structural interaction point of a SysML Block which, in turn, connects between interacting parts of a block
 | Port (flow) | Describe what flows in and out of interacting SysML Blocks
 | Flow Specification | Define a set of flow properties that correspond to individual pieces of a common interaction point
SysML Block Internal Relationships | Dependency | Establish a traceable relationship describing how one element is dependant upon another
 | Item Flow | Specify the items that flow across a connector in an interaction point
 | Binding Connector | Establish a connection between two parts in a system decomposition


SysML Model Elements [Enterprise Architect User Guide]

SysML Model Elements Toolbox

These pages provide the SysML elements to build SysML models, package structures and views.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Model Elements

Page

Item

Action

SysML Model

Model

Create a Package containing a SysML Model

Package

Group model constructs together in a single unit of containment

View

Create a stereotyped Package that defines a SysML View of a system, from the perspective of a SysML View Point

View Point

Create a stereotyped Class that defines a SysML View Point, which specifies the rules and conventions for the construction and use of Views

SysML Model Relationships

Conform

Establish a conformance dependency of a View to the defining View Point

Containment

Graphically display ownership of one element within a parent one

Dependency

Establish a traceable relationship describing how one element is dependant upon another

Import

Represent a reuse of elements from one model package in another

Realization

Identify a design fulfillment of a specification between elements

Refine

Represent a refinement of one element by another

SysML Common

Note

Create a textual annotation that can be attached to a set of elements of any other type

The attachment is created separately, using a Notelink connector

Document Artifact

Attach a linked document to the diagram by associating this element with an RTF document

Problem

Document the failure of model elements to satisfy a requirement

Rationale

Document the justification for decisions

Boundary

Define a conceptual boundary, to visually group logically related elements

Allocate Partition

Contains elements deemed to be allocated to the classifier of the partition

Requirement

Specify the capabilities of the system, or the conditions that it should satisfy

Allocated

The source element being allocated to the target element in an Allocate relationship

Allocate

Relate model elements to formalize a refinement of behavior, structure, constraints or design expectations

The Allocate relationship points from the element being allocated to the element that is the target of the allocation

Containment

Graphically display ownership of one element within a parent one

Dependency

Establish a traceable relationship describing how one element is dependant upon another

Item Flow

Specify the items that flow across a connector in an interaction point.


SysML Parametrics [Enterprise Architect User Guide]

SysML Parametrics Toolbox

These pages provide the SysML elements to construct SysML Parametric Diagrams using constraint blocks.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Parametrics

Page | Item | Action
SysML Parametrics | Constraint Property | Instantiate a Constraint Block for use in a Parametric diagram
 | Property | Define a SysML property typed by a DataType, ValueType or Block
SysML Parametrics Extensions | Objective Function | Define a SysML Constraint Block for use as an objective function to evaluate Measures of Effectiveness (MOEs)
 | Measure of Effectiveness | Define a SysML property for use as a Measure of Effectiveness (MOE)
SysML Block Internal | Part | Describe the decomposition of a SysML Block subsystem in the context of its whole, using instances of reusable SysML Blocks
 | Connector Part | Create a SysML connector Part
 | Distributed Part | Create a SysML distributed Part
 | Flow Part | Create a SysML flow Part
 | Participant Part | Create a SysML participant Part
SysML Block Internal Relationships | Dependency | Establish a traceable relationship describing how one element is dependant upon another
 | Item Flow | Specify the items that flow across a connector in an interaction point
 | Binding Connector | Establish a connection between two Parts in a system decomposition
SysML Patterns | Constraint Block | A pattern that creates a typical Constraint property that owns two Parts


SysML Requirements [Enterprise Architect User Guide]

SysML Requirements Toolbox

These pages provide the SysML elements to build SysML Requirements models.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.1 Requirements

Page | Item | Action
SysML Requirements | Requirement | Specify the capabilities of the system, or the conditions that it should satisfy
 | Test Case | Describe the verification of a Requirement through methods of inspection, analysis, demonstration or testing
SysML Requirement Relationships | Containment | Graphically display ownership of one element within a parent element
 | Trace | Declare a trace relationship between a SysML Requirement and another SysML element
 | Copy | Declare a copy of one SysML Requirement by another
 | Derive | Derive a SysML Requirement from another
 | Verify | Declare a verification of a SysML Requirement by another SysML element
 | Refine | Declare a refinement of a SysML Requirement by another SysML element
 | Satisfy | Declare that the SysML Requirement is satisfied by another SysML element
SysML Requirement Extensions | Extended Requirement | Extend a SysML Requirement with additional Tag properties
 | Functional Requirement | Declare a SysML Requirement that describes the operation, or behavior, that the system must perform
 | Interface Requirement | Declare a SysML Requirement that describes how the system connects, or interfaces with, other systems
 | Performance Requirement | Declare a SysML Requirement that describes how the system performs against defined capabilities or conditions
 | Physical Requirement | Declare a SysML Requirement that describes the physical characteristics, or physical constraints, of the system
 | Design Requirement | Declare a SysML Requirement that specifies a constraint on the implementation of the system


SysML State Machine [Enterprise Architect User Guide]

SysML State Machine Toolbox

These pages provide the SysML elements to build SysML State Machines.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 State Machine

Page | Item | Action
SysML State | State | Declare a significant condition in the life of a SysML Block within its State Machine
 | State Machine | Describe the life-cycle behavior of a SysML Block in terms of its states and transitions
 | Initial | Declare the starting state of the State Machine
 | Final | Declare the ending state of the State Machine, and its completion
 | Choice | Declare a Junction with a mandatory 'else' transition
 | History | Represent the last active State of the State Machine prior to its interruption
 | Junction | Declare a decision point at which a Transition branches out into multiple guarded, alternative paths
 | Entry | Declare an Entry point between State Machines, Substate Machines and Regions
 | Exit | Declare an Exit point between State Machines, Substate Machines and Regions
 | Terminate | Declare a termination State in which the State Machine no longer operates
 | Fork/Join | Simultaneously branch / join a set of Transitions
SysML State Relationships | Transition | Establish a life-cycle path between one State and another, based on its operational conditions


SysML Use Case [Enterprise Architect User Guide]

SysML Use Case Toolbox

These pages provide the SysML elements to build SysML Use Case models.

Access: View | Diagram Toolbox: More Tools | SysML 1.2 | SysML 1.2 Use Cases

Page | Item | Action
SysML Use Cases | Actor | Represent a user that interacts with one or more SysML systems
 | Use Case | Describe the expected functionality of a system as a UML Use Case
 | Boundary | Graphically bound elements in a diagram with a border
SysML Use Case Relationships | Communication Path | Declare which Actors perform in the Use Case
 | Generalize | Describe an element as a specialized descendant of another element, containing additional properties and behavior
 | Include | Describe one Use Case as a subset of another
 | Extend | Describe one Use Case as an extension of another
SysML Patterns | Basic Use Case | A pattern that creates a typical simple Use Case diagram of Actor, Use Case and System Boundary


SysML Parametric Models [Enterprise Architect User Guide]

SysML Parametric Models

SysML Parametric models support the engineering analysis of critical system parameters, including the evaluation of key metrics such as performance, reliability and other physical characteristics.

Topics:

Topic

Detail

See also

SysML Parametric Models - Concept

SysML Parametic Models unite requirements models with system design models by capturing executable constraints based on complex mathematical relationships

The following text is derived from the SysML entry in the online Wikipedia

The advantages of SysML over UML for systems engineering become obvious if you consider a concrete example, such as modeling an automotive system. With SysML you can use Parametric diagrams to precisely define performance and mechanical constraints such as maximum acceleration, curb weight, air conditioning capacity, and interior cabin noise management.

For further information on the concepts of SysML Parametric models, refer to the official OMG SysML website and its linked sources

Enterprise Architect enables you to develop SysML Parametric models quickly and simply; these models can also be simulated

SysML (Online Resource)

OMG SysML (Online Resource)

How To:

To create a Parametric model, follow the steps below:

Step

Action

See Also

1

Create a collection of SysML Constraint Blocks that formally describe the function of a constraint in a simulation model

Each Constraint Block contains properties that describe its input and output parameters, as well as Element Script that describes the constraint's executable component

2

Right-click on each of the constraintBlocks and select the SysML | Add Element Script context menu option to add script to the constraint block

This is where you express the relationship / behavior of the constraint block as an executable script

3

Create a SysML Constraint Block to contain the Parametric model to simulate; the Parametric model contains properties and occurrences of constraint blocks as Constraint Property elements, connected in a Parametric Diagram

4

Right-click within a Parametric Diagram and select the SysML | Simulate Diagram... context menu option

5

Depending on your configuration selections, the simulation's results are either written to a comma-separated CSV file or graphed in a 2-dimensional plot

Notes:

  • Systems Modeling Language (SysML) is supported in the Systems Engineering and Ultimate editions of Enterprise Architect

Learn More:

  • SysML
  • Simulating a SysML Model


Simulate a SysML Model [Enterprise Architect User Guide]

Simulate a SysML Model

You simulate a SysML model from a Parametric diagram, using the Simulation Configuration dialog.

Access: Parametric Diagram Context Menu | SysML | Simulate Diagram..

How To:

To simulate a SysML model, follow the steps below:

Step

Action

See Also

1

The Parameters panel lists all of the parameters that can be assigned input

Select each of the required parameters and click on the right Arrow button to assign them as input

Parameters designated as input parameters are listed in the Inputs panel on the right.

There must be at least one input parameter assigned for the simulation to execute

2

Assign a set of values for each of the designated input parameters

For each input parameter, in the Input Values panel select one of the two possible value kinds:

  • Discrete - To enter a constant or a comma-separated range of discrete values
  • Range - To enter a range of values beginning at the From value and ending at the To value; the input values are incremented by the Step value

3

Specify the classes of output value:

  • Parameters - To output the parameters' data, select the checkbox
  • Variables - To output the data generated within each internal variable, select the checkbox; internal variables are automatically generated by the simulator

4

Specify how the simulation results are to be reported

The Output Format panel enables you to choose how the simulation outputs the simulation data:

  • Plot To Graph: To plot the results on a 2-dimensional graph, select the checkbox; if you select this option, you must specify an input parameter for the plot's X Axis
  • Title - To enter a title for the graph, type in the title text
  • Output to File - To output the results to a CSV text file, select the checkbox and type or browse ( ... ) for the file name

5

Click on the OK button to execute the simulation

Notes:

  • Systems Modeling Language (SysML) is supported in the Systems Engineering and Ultimate editions of Enterprise Architect


Create a Requirements Model [Enterprise Architect User Guide]

Create a Requirements Model

Topics:

Topic

Detail

See also

Example

The SysML Requirements Model provides the system requirements, the expected abstract behavior and the operating constraints that the designed system must conform to

The following diagram shows an example requirements model for a Portable Audio Player

In the example Requirements Model, each of the child packages contains child models that capture the following aspects of the system's requirements:

  • The Specifications package contains SysML Requirements describing the overall expectations of the designed system
  • The Use Cases package contains SysML Use Cases that describe the general interaction between the system and its users
  • The Interactions package contains SysML Interactions that describe a detailed sequence of interactions between the system and its users
  • The State Machines package contains SysML State Machines that describe each of the operational states the designed system has
  • The Constraint Blocks package contains SysML ConstraintBlocks that describe the expected performance and operating boundaries of the system


Create an Operational Domain Model [Enterprise Architect User Guide]

Create an Operational Domain Model

Topics:

Topic

Detail

See also

Abstract

The SysML Operational Domain Model defines the system's operating environment, which describes the operating conditions that the system is intended to operate within

The following diagram shows an example Operational Domain model for a Portable Audio Player; the SysML Block Definition Diagram describes the Operational Domain (in this example - the ListeningDomain) as a system composition

SE Operating Domain

In this example, the ListeningDomain is defined as a system containing other subsystems within it; the domain contains subsystems that define the Listener (i.e. User), the Portable Audio Player, Clothing (which the user wears), and the External Environment

Details of the ListeningDomain system are further detailed in the ListeningDomain's Internal Block Diagram:

SE Operating Domain IBD

In this example, the ListeningDomain's system's detailed composition shows how the Portable Audio Player and other sub-systems fit together to form the Listening Domain; it also describes the binding relationships between the parts, which describe how the parts are functionally bound to one another


Compose System Design [Enterprise Architect User Guide]

Compose System Design

Topics:

Topic

Detail

See also

SysML Design Model

The SysML Design Model contains the blocks that define the system's composition; it describes the manner in which reusable subsystems fit together to fulfill the design requirements

The following diagram shows an example Design Model for a Portable Audio Player; the SysML Block Definition Diagram describes the Portable Audio Player as a composition of various reusable off-the-shelf subsystems and in-house designed ones

SE Design BDD

In the example above, the Portable Audio Player is defined as a SysML system containing subsystems that perform specific tasks; the design contains subsystems for supplying power, performing playback and audio processing, interfacing with other devices and the user interface

Details of the Portable Audio Player's composition are further described in detail within the Portable Audio Player's Internal Block Diagram:

SE Design IBD

In this example, the Portable Audio Player's composition is described, detailing how each of the sub-systems is structured

It also describes the binding relationships between the parts, which describe how they are functionally bound to one another; for example, the CPU, Memory and Codec are interfaced together in the Processing Subsystem


Create Reusable Subsystems [Enterprise Architect User Guide]

Create Reusable Subsystems

Topics:

Topic

Detail

See also

SysML Design Model

Model Based Systems Engineering provides the flexibility and expressiveness to define complex systems quickly and effectively, by reusing common entities across design projects

A Library is a package containing many reusable subsystems, parametric constraints, common data types and common value types, dimensions and units

The following diagram shows an example library model:

In the example Library, each of the child packages contains child models that capture the following reusable entities:

  • Blocks defining systems such as those listed in the Components package, or those defined in the External package
  • ConstraintBlocks defining parametric constraints for use in parametric models.
  • Value Types describing quantities, expressed as measurable dimensions in specific units
  • Data Types and Flow Specifications describing data structures and Flows


Migrate SysML 1.1 Model to SysML 1.2 [Enterprise Architect User Guide]

Migrate SysML 1.1 Model to SysML 1.2

Enterprise Architect enables you to migrate a SysML 1.1 model (or part of a model) to SysML 1.2, using the Automation Interface function Migrate(). This function updates the Tagged Values and, if required, stereotypes to SysML1.2 for all elements, attributes, connectors and diagrams under the selected package or element.

Example:

The following VB script calls the Migrate() function to migrate the package or element to SysML 1.2:

Sub MigrateElement (sGUID, lngPackageID)

Dim proj as EA.Project

set proj = Repository.GetProjectInterface

proj.Migrate sGUID, "SysML1.1", "SysML1.2"

'refresh the model

If lngPackageID<>0 Then

Repository.RefreshModelView (lngPackageID)

End If

End Sub

Sub MigrateSelectedItem

Dim selType

Dim selElement as EA.Element

Dim selPackage as EA.Package

selType = GetTreeSelectedItemType

If selType = 4 Then 'means Element

set selElement = GetTreeSelectedObject

MigrateElement selElement.ElementGUID, selElement.PackageID

MsgBox "Element Migration Completed",0,"SysML Migration"

ElseIf selType = 5 Then 'means Package

set selPackage = GetTreeSelectedObject

MigrateElement selPackage.PackageGUID, selPackage.PackageID

MsgBox "Package Migration Completed",0,"SysML Migration"

Else

MsgBox "Select a Package or Element in the Project Browser to initiate migration",0,"SysML Migration"

End If

End Sub

Sub Main

MigrateSelectedItem

End Sub

Main

Notes:

  • The stereotype dimension is changed to quantitykind when migrating from SysML1.1 to SysML1.2
  • The stereotype dataType is removed from SysML1.2
  • The Tagged Value dimension is migrated to quantitykind; this applies to stereotypes unit and valueType
  • The Tagged Value isConjugated of stereotype flowport is migrated to custom properties

Learn More:

  • Migrate()


SOA and XML [Enterprise Architect User Guide]

SOA and XML

This section explains how to import and generate:

  • XSD
  • WSDL

It also describes how to generate and export Meta-Object Facility (MOF) models, along with describing SoaML and SOMF.

Learn More:

  • XML Schema
  • Web Services - WSDL
  • SoaML
  • SOMF
  • Generating MOF


XML Schema - XSD [Enterprise Architect User Guide]

XML Schema - XSD

XML Schema Definition ( XSD ), also known as XML Schema, is a W3C XML technology that is used to specify the rules to which an XML document must adhere.

Enterprise Architect enables rapid modeling, forward engineering and reverse engineering of XML Schema. XSD support is critical for the development of a complete Service Oriented Architecture (SOA), and the coupling of UML 2.3 and XML provides the natural mechanism for specifying, constructing and deploying XML-based SOA artifacts within an organization.

Learn More:

  • W3C XML Schema (Online Resource)
  • Model XSD using Toolbox
  • Abstract XSD Models
  • Generate XSD
  • Import XSD
  • UML Profile for XSD


Model XSD [Enterprise Architect User Guide]

Model XSD

XML schemas are modeled using UML Class diagrams. The XML Schema page of the Toolbox provides built-in support for the UML profile for XSD. This enables an abstract UML Class model to be automatically generated as a W3C XML Schema (XSD) file.

Access: View | Toolbox > More tools | XML Schema

How To:

Step | Action | See Also
1 | Create a package in the Project Browser |
2 | Click on the New Diagram icon in the Project Browser | Project Browser Toolbar
3 | Select UML Structural in the Select From field and Class in the Diagram Types field |
4 | Click on the More tools option in the Toolbox and select XML Schema from the list of Toolboxes | Diagram Toolbox
5 | Click on the Schema icon from the Toolbox and drag it into the created Class diagram When the New Diagram dialog is displayed, Select UML Structural in the Select From field and Class in the Diagram Types field to create a Class diagram. | Schema Icon
6 | Enterprise Architect creates a new XSDschema stereotyped package with a Class diagram under it. Open this Class diagram and use the constructs from the XML Schema Toolbox to model the XML Schema Alternative: XML Schemas can also be modeled using the UML Profile for XSD. | XML Schema Group UML profile for XSD

Example:

Name | Diagram
Employee Details | GenXSDStereotypeExample

Notes:

  • The UML attributes of the Classes map directly to XML elements or attributes
  • Classes have no methods since there is no meaningful correspondence between Class methods and XSD constructs

Modeling Restrictions:

The following XML Schema constructs cannot be modeled in Enterprise Architect:

  • appinfo
  • field
  • key
  • keyref
  • notation
  • redefine
  • selector
  • substitutionGroup
  • unique


Schema Package [Enterprise Architect User Guide]

Schema Package

The Schema icon in the XML Schema Toolbox creates an XSDschema stereotyped package that acts as a container for the XSD constructs, from which XML Schema can be generated.

XSD Properties:

Double-click on the XSDschema stereotyped package in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Schema Name

Specify the name for the Schema package

Target Namespace

Specify the namespace for this Schema package ( Optional )

Prefix

Specify the abbreviated value that represents the Target Namespace ( Optional )

Default Namespace

Specify the namespace for all non-prefixed XSDelements and XSDattributes ( Optional )

Schema File

Specify the file path where the XML Schema for this package is to be generated.

XMLNS

List specifying the additional namespace and namespace-prefix pairs used in this Schema package.

Button

Usage

Press the New button to add an entry in the list.

Double-click on an entry in the list to edit the values.

Field | Usage
Prefix | Specify the abbreviated value that represents the Namespace
Namespace | Specify the namespace
OK | Save the values entered and close the Namespace Details dialog
Cancel | Discard the values entered and close the Namespace Details dialog
Help | Display this Help topic

Press the Delete button to remove an entry from the list

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the Schema package.

Properties


Global Element [Enterprise Architect User Guide]

Global Element

The Element icon from the XML Schema Toolbox creates an XSDtopLevelElement stereotyped Class, which acts as a XSD global element, when dropped directly on a diagram.

XSD Properties:

Double-click on the XSDtopLevelElement stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this global element

Type

Specify either an XSD built-in dataType or complexType or simpleType

Value

If Type is an XSD built-in type then optionally specify its value

Option | Usage
Default | Specifies Value as default value
Fixed | Specifies Value as fixed

Nested complexType

Check this option to create an XSDcomplexType as a child of this global element

Complex Type

Nested simpleType

Check this option to create an XSDsimpleType as a child of this global element

Simple Type

Annotation

Specify the notes for this element ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the global element

Properties

Notes:

  • The fields Nested complexType and Nested simpleType are available in the dialog only when creating a new global element (and not when editing the global element)
  • The fields Type, Nested complexType and Nested simpleType are mutually exclusive - selecting one disables the others
  • Global elements cannot contain any UML Attributes
  • Global elements cannot be the source of Association connector
  • Global elements cannot be the target of a Generalization connector
  • Global elements can be the target of Association connector from Complex Type or Group Class
  • Global elements can have at most one Generalization connector to a Complex Type or Simple Type Class


Local Element [Enterprise Architect User Guide]

Local Element

The Element icon from the XML Schema Toolbox creates an XSDelement stereotyped UML Attribute, which acts as a local XSD element, when dropped on a XSDcomplexType and XSDgroup stereotyped classes.

XSD Properties:

Double-click on the XSDelement stereotyped UML Attribute in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this local element

Type

Specify either an XSD built-in dataType or complexType or simpleType

Complex Type

Simple Type

Reference

Specify whether to use ref attribute ( instead of type attribute ) to refer to the complexType or simpleType selected in the Type field in the generated XSD ( Optional )

Value

If Type is an XSD built-in type then optionally specify its value ( Optional )

Option | Usage
Default | Specifies Value as default value
Fixed | Specifies Value as fixed

MinOccurs

Specify the minimum number of times this element occurs in the Class ( Optional )

MaxOccurs

Specify the maximum number of times this element occurs in the Class ( Optional )

Form

Specify whether to qualify the element ( Optional )

Option | Usage
qualified | Use the Prefix supplied on the Schema package to qualify this element
unqualified | Do not qualify this element

Schema Package

Annotation

Specify the notes for this local element ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the local element

Properties

Notes:

  • Only Complex Types, Groups and Model Groups can have this UML Attribute


Global Attribute [Enterprise Architect User Guide]

Global Attribute

The Attribute icon from the XML Schema Toolbox creates an XSDtopLevelAttribute class, which acts as an XSD global attribute, when dropped directly on a diagram.

XSD Properties:

Double-click on the XSDtopLevelAttribute stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this global attribute

Type

Specify either an XSD built-in dataType or simpleType

Value

If Type is an XSD built-in type then optionally specify its value

Option | Usage
Default | Specifies Value as default value
Fixed | Specifies Value as fixed

Nested simpleType

Check this option to create an XSDsimpleType as a child of this global attribute

Simple Type

Form

Specify whether to qualify the attribute ( Optional )

Option | Usage
qualified | Use the Prefix supplied on the Schema package to qualify this attribute
unqualified | Do not qualify this attribute

Schema Package

Annotation

Specify the notes for this attribute ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the global attribute

Properties

Notes:

  • The field Nested simpleType is available in the dialog only when creating a new global attribute (and not when editing the global attribute )
  • The fields Type and Nested simpleType are mutually exclusive - selecting one disables the other
  • Global attributes cannot contain any UML Attributes
  • Global attributes cannot be the source of Association connector
  • Global attributes cannot be the target of a Generalization connector
  • Global attributes can be the target of Association connector from Complex Type Classes
  • Global attributes can have at most one Generalization connector to a Simple Type Class


Local Attribute [Enterprise Architect User Guide]

Local Attribute

The Attribute icon from the XML Schema Toolbox creates an XSDattribute stereotyped UML Attribute, which acts as a local XSD attribute, when dropped on a XSDcomplexType and XSDattributeGroup stereotyped classes.

XSD Properties:

Double-click on the XSDattribute stereotyped UML Attribute in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this local attribute

Type

Specify either an XSD built-in dataType or simpleType

Simple Type

Reference

Specify whether to use ref attribute ( instead of type attribute ) to refer to the simpleType selected in the Type field in the generated XSD ( Optional )

Value

If Type is an XSD built-in type then optionally specify its value ( Optional )

Option | Usage
Default | Specifies Value as default value
Fixed | Specifies Value as fixed

Form

Specify whether to qualify the attribute ( Optional )

Option | Usage
qualified | Use the Prefix supplied on the Schema package to qualify this attribute
unqualified | Do not qualify this attribute

Schema Package

Annotation

Specify the notes for this local attribute ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the local attribute.

Properties

Notes:

  • Only Complex Types and Attribute Groups can have this UML Attribute


Attribute Group [Enterprise Architect User Guide]

Attribute Group

The Attribute Group icon from the XML Schema Toolbox creates an XSDtattributeGroup class when dropped on a diagram. This Class is used to group a set of XSDattribute stereotyped UML Attributes and Simple Type classes that can be referenced from an XSDcomplexType Class.

XSD Properties:

Double-click on the XSDtattributeGroup stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
Name | Specify the name for this attribute group |
Annotation | Specify the notes for this attribute ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the attribute group | Properties

Notes:

  • Attribute Group cannot be the child of any other XSD class
  • Attribute Group can contain only XSDattribute stereotyped UML Attributes and Simple Type classes
  • Attribute Group can be the source of Association connector to another Attribute Group
  • Attribute Group can be the target of Association connector from Complex Type classes
  • Attribute Group cannot be the source or target of a Generalization connector


Complex Type [Enterprise Architect User Guide]

Complex Type

The Complex Type icon from the XML Schema Toolbox creates an XSDcomplexType stereotyped Class when dropped on a diagram.

XSD Properties:

Double-click on the XSDcomplexType stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this complexType

Model Group

Specify how the child elements of this complexType should occur in the Schema

Option | Usage
sequence | Specifies that the child elements must occur in the specified order
choice | Specifies that only one of the child elements must occur
all | Specifies that the child elements can occur in any order

MinOccurs

Specify the minimum number of times this element occurs in the Class ( Optional )

MaxOccurs

Specify the maximum number of times this element occurs in the Class ( Optional )

Annotation

Specify the notes for this element ( Optional )

Abstract

Specify whether this complexType can be used in the instance XML file ( Optional )

Default: False

Mixed

Specify whether character data can appear among the child elements ( Optional )

Default: False

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the complexType

Properties

Notes:

  • Complex Types can contain both XSDelement and XSDattribute stereotyped UML Attributes
  • Complex Types can contain other Complex Types as child elements
  • Complex Types can be children of Global Elements
  • Complex Types can have Association connectors to other Complex Type, Simple Type, Attribute Group, Group and Model Group
  • Complex Types can have at most one Generalization connector to either another Complex Type or a Simple Type Class


Model Group [Enterprise Architect User Guide]

Model Group

The Model Group icon from the XML Schema Toolbox creates an XSDsequence, XSDchoice or XSDall stereotyped Class when dropped on a diagram.

XSD Properties:

Double-click on the Model Group in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this Model Group

Model Group

Specify how the child elements should occur.

Option | Usage
sequence | This option creates an XSDsequence stereotyped Class. It specifies that the child elements must occur in the specified order.
choice | This option creates an XSDchoice stereotyped Class. It specifies that only one of the child elements must occur.
all | This option creates an XSDall stereotyped Class. It specifies that the child elements can occur in any order.

MinOccurs

Specify the minimum number of times this Model Group occurs in the Class ( Optional )

MaxOccurs

Specify the maximum number of times this Model Group occurs in the Class ( Optional )

Annotation

Specify the notes for this Model Group ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the Model Group

Properties

Notes:

  • Model Groups can contain only XSDelement stereotyped UML Attributes
  • Model Groups can contain other Complex Types and Simple Types as child elements
  • Model Groups can have Association connector to other Complex Type, Simple Type, Group and Model Group
  • Model Groups must have at least one incoming Association connector from a Complex Type
  • Model Groups cannot be the source or target of Generalization connectors


Group [Enterprise Architect User Guide]

Group

The Group icon from the XML Schema Toolbox creates an XSDgroup stereotyped Class when dropped on a diagram. This Class is used to group a set of XSDelement stereotyped UML Attributes, Complex Type and Simple Type classes that can be referenced from an XSDcomplexType Class.

XSD Properties:

Double-click on the XSDgroup stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this group

Model Group

Specify how the child elements of this group should occur in the Complex Type

Option | Usage
sequence | Specifies that the child elements must occur in the specified order
choice | Specifies that only one of the child elements must occur
all | Specifies that the child elements can occur in any order

Complex Type

Annotation

Specify the notes for this group ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the group.

Properties

Notes:

  • Group can contain only XSDelement stereotyped UML Attributes
  • Group can contain Complex Types and Simple Types as child elements
  • Group can have Association connector to other Complex Types, Simple Types and Groups
  • Group can be the target of Association connector from Complex Types
  • Group cannot be the source or target of a Generalization connector


Simple Type [Enterprise Architect User Guide]

Simple Type

The Simple Type icon from the XML Schema Toolbox creates an XSDsimpleType class when dropped on a diagram.

XSD Properties:

Double-click on the XSDsimpleType stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this simpleType

Type

Specify either an XSD built-in dataType or simpleType

Field | Usage
Restriction | Restricts the value of this simpleType to the selected Type. The various restrictions ( facets ) on the simpleType are available as tagged-values on this Class.
List | Specifies this simpleType as a list of values of the selected Type

Annotation

Specify the notes for this simpleType ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the simpleType

Properties

Notes:

  • Simple Types cannot contain any XSDelement or XSDattribute stereotyped UML Attributes
  • Simple Types cannot contain any child classes
  • Simple Types cannot be the source of an Association connector
  • Simple Types can be the target of a Generalization connector
  • Simple Types can have at most one Generalization connector to another Simple Type Class


Union [Enterprise Architect User Guide]

Union

The Union icon from the XML Schema Toolbox creates an XSDunion class when dropped directly on a diagram. This Class, which is a Simple Type, defines a collection of Simple Types.

XSD Properties:

Double-click on the XSDunion stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
Name | Specify the name for this Union |
Member Types | Specify the collection of XSD built-in dataTypes and simpleTypes | Simple Type
Annotation | Specify the notes for this Union ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the Union | Properties

Notes:

  • Unions cannot contain any child Classes
  • Unions cannot contain any XSDelement or XSDattribute stereotyped UML Attributes
  • Unions cannot be the source of an Association connector
  • Unions can be the target of Association connector from Complex Types
  • Unions can be the target of a Generalization connector from Simple Types


Enumeration [Enterprise Architect User Guide]

Enumeration

The Enum icon from the XML Schema Toolbox creates an enumeration stereotyped Class when dropped on a diagram. This Class, which is a Simple Type, defines a list of acceptable values for this Class.

XSD Properties:

Double-click on the enumeration stereotyped Class under a Schema package in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
Name | Specify the name for this Enumeration |
Type | Specify either an XSD built-in dataType or simpleType | Simple Type
Values | Specify the list of acceptable values for the specified Type |
Annotation | Specify the notes for this Enumeration ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the Enumeration | Properties

Notes:

  • Enumeration cannot contain any XSDelement or XSDattribute stereotyped UML Attributes
  • Enumeration cannot contain any child Classes
  • Enumeration cannot be the source of an Association connector
  • Enumeration can be the target of a Generalization connector
  • Enumeration can have at most one Generalization connector to another Simple Type Class


Any [Enterprise Architect User Guide]

Any

The Any icon from the XML Schema Toolbox creates an XSDany stereotyped Class when dropped on a diagram. This Class allows a Complex Type to contain elements that are not specified in the Schema package.

XSD Properties:

Double-click on the XSDany stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this Class

Namespace

Specifies the namespace that contains the elements that can be used in the Complex Type ( Optional )

Complex Type

ProcessContents

Specifies how the XML Parser should validate these elements ( Optional )

Option | Usage
lax | Tries to validate the elements against their Schema; no error is flagged when the Schema cannot be obtained
skip | Skips validating the elements
strict | Validates the elements against their Schema

Annotation

Specify the notes for this Class ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing this Class

Properties

Notes:

  • Any Class cannot contain any UML Attributes or child XSD Classes
  • Any Class cannot be the child of any XSD Class
  • Any Class cannot be the target of Generalization connectors
  • Any Class cannot be the source of Association and Generalization connectors
  • Any Class can be the target of Association connectors from Complex Types, Groups and Model Groups
  • Any Class must have at least one incoming Association connector


Any Attribute [Enterprise Architect User Guide]

Any Attribute

The Any Attribute icon from the XML Schema Toolbox creates an XSDany stereotyped UML Attribute when dropped on Complex Type or an Attribute Group. This Class allows a Complex Type or an Attribute Group to contain elements that are not specified in the Schema package.

XSD Properties:

Double-click on the XSDany stereotyped UML Attribute in a Class or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for this UML Attribute

Namespace

Specifies the namespace that contains the attributes that can be used in the Complex Type or Attribute Group ( Optional )

Complex Type

Attribute Group

ProcessContents

Specifies how the XML Parser should validate these attributes ( Optional )

Option | Usage
lax | Tries to validate the attribute against their Schema; no error is flagged when the Schema cannot be obtained
skip | Skips validating the attributes
strict | Validates the attributes against their Schema

Annotation

Specify the notes for this UML Attribute ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing this UML Attribute

Properties

Notes:

  • Only Complex Types and Attribute Groups can have this UML Attribute


Abstract XSD models [Enterprise Architect User Guide]

Abstract XSD models

XML schemas can also be modeled using simple, abstract Class models. This can be useful in enabling an architect to start working at a higher level of abstraction, without concern for the implementation details of a Schema. Such an abstract model can be refined further using the XML Schema pages of the Toolbox, or it can be generated directly by Enterprise Architect's Schema Generator. In this case, a set of default mappings is assumed by the schema generator to convert the abstract model to an XSD file.

Example:

Topic

Detail

Diagram

The following is a simplified version of the Employee Details example model, which does not use XSD-specific stereotypes or Tagged Values:

Schema

The following schema fragment would be generated by Enterprise Architect, given the above model:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:simpleType name="Status">

<xs:restriction base="xs:string">

<xs:enumeration value="Full-Time"/>

<xs:enumeration value="Part-Time"/>

<xs:enumeration value="Casual"/>

<xs:enumeration value="Contract"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="Person" type="Person"/>

<xs:complexType name="Person">

<xs:sequence>

<xs:element name="firstName" type="xs:string"/>

<xs:element name="surName" type="xs:string"/>

<xs:element name="birthDate" type="xs:string"/>

<xs:element name="gender" type="xs:string"/>

<xs:element name="contactDetails" type="ContactInfo"/>

</xs:sequence>

</xs:complexType>

<xs:element name="Employee" type="Employee"/>

<xs:complexType name="Employee">

<xs:complexContent>

<xs:extension base="Person">

<xs:sequence>

<xs:element name="status" type="Status"/>

<xs:element name="jobTitle" type="xs:string"/>

<xs:element name="startDate" type="xs:date"/>

<xs:element name="department" type="xs:string"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:element name="EmployeeRecords" type="EmployeeRecords"/>

<xs:complexType name="EmployeeRecords">

<xs:sequence>

<xs:element name="Employee" type="Employee" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:element name="ContactInfo" type="ContactInfo"/>

<xs:complexType name="ContactInfo">

<xs:sequence>

<xs:element name="homePhone" type="xs:string"/>

<xs:element name="mobilePhone" type="xs:string"/>

<xs:element name="officePhone" type="xs:string"/>

<xs:element name="email" type="xs:string"/>

<xs:element name="streetAddress" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

Learn More:

  • Default UML to XML Mappings
  • Generate XSD


Default UML to XSD Mappings [Enterprise Architect User Guide]

Default UML to XSD Mappings

The following table describes the default mapping of UML to XSD constructs. This set of mappings is useful when defining simple schemas from abstract Class models. The defaults are also assumed by the schema generator when generating unstereotyped elements in an abstract model. The XML Schema pages of the Toolbox (and UML Profile for XSD) override these default mappings through the use of stereotypes and Tagged Values.

UML Construct

Default XSD Production Rules

Package

A schema element is generated for the target package. If the target package includes Classes from another package, which has the Tagged Values targetNamespace and targetNamespacePrefix set, these are included as attributes of the schema element.

In addition, an import or include element is created for each referenced package. (An include element is used if the external package shares the same targetNamespace Tagged Value as the target package. An import element is used where the targetNamespaces differ).

Class

A root-level element declaration and complexType definition are generated. The element name and type are the same as the Class name. An XSD sequence model group is generated to contain UML attributes generated as elements.

Attribute

An element is declared for each Class attribute. The element name is set to that of the UML attribute name. This is prefixed with the Class name to make the element unique. The minOccurs and maxOccurs attributes are set to reflect the attribute cardinality.

If the attribute refers to another Class, the element declaration is followed a complexType definition, which contains a reference to the appropriate complexType.

Association

An element is declared for each association owned by a Class. The element name is set to that of the association role. The minOccurs and maxOccurs reflect the cardinality of the association.

Generalization (Inheritance)

For single inheritances, an extension element is generated with the base attribute set to the base Classname. The UML attributes of the child Class are then appended to an all model group within the extension element.

«enumeration» (stereotype)

A simpleType element is declared for the enumeration Class with the name attribute set to the Classname. A restriction element is generated with base set to string. Each of the Class attributes is appended to the restriction element as XSD enumeration elements with value set to the UML attribute name. Any type specification for the UML attributes is ignored by the schema generator.

Notes:

  • If left unspecified, minOccurs and maxOccurs default to 1
  • If the direction of the association is unspecified, the owner is assumed to be the source


Generate XSD [Enterprise Architect User Guide]

Generate XSD

The Generate XML Schema feature forward-engineers a UML Class model to a W3C XML Schema (XSD) file. An XML schema corresponds to a UML package in Enterprise Architect, therefore XML schema generation is a package-level operation.

Access:

  • Tools | XML Schema | Generate XML Schema
  • Right-click on a package in the Project Browser and select the following context menu : Code Engineering | Generate XML Schema

Reference:

Field/Option/Button

Usage

See Also

Encoding

Specify the required XML encoding

XSD Style

Field | Usage
Generate global element for all global ComplexTypes ('Garden of Eden' style) | Generate Schema in the Garden of Eden style. This option is checked, by default.

Garden of Eden Style

Referenced Package Options

Field

Usage

Generate XSD for Referenced packages

Generate Schema for packages that are referenced by any of the packages selected in the list box

Prompt when missing Filename

Enable Enterprise Architect to prompt for a filename for a referenced package during Schema generation, if the path to generate Schema file is missing

Use relative path to reference XSDs (if 'schemaLocation' tag is empty)

Use a relative-path in the XSD import (or XSD include) statement when referencing external packages, provided that the schemaLocation tag is empty on the referenced packages.

Ensure that the Schema File field is set on the XSD Schema Properties dialog (the element Properties dialog for a Schema element) for the referenced and referencing XSDschema stereotyped packages, for the relative-path to be correctly determined.

Child Package Options

Field

Usage

Generate XSD for Child Packages

Generate schema for child packages of the selected package.

  • Include all packages - lists all child packages under the parent package in the list box
  • Include <XSDschema> packages - lists only those packages that have the stereotype «XSDschema».

The list-box lists, for each package, the package name and the file path where the Schema file is to be generated.

Change the file path for a package by double-click on the entry in the list-box, if required

Ensure that the checkbox is selected for each package required for generation.

Generate

Generate the Schema for each of the packages checked in the list-box.

Close

Close this dialog

Help

Display this Help topic

View Schema

View the generated Schema for a package highlighted in the list-box.

Progress

Lists the progress of Schema Generation.


Generate Global Element [Enterprise Architect User Guide]

Generate Global Element

Enterprise Architect, by default, generates XML Schema in the Garden of Eden style. For every global XSDcomplexType stereotyped Class, Enterprise Architect generates a global element.

Example:

Diagram

XSDGlobalDefault

You can change the above specified default behaviour by de-selecting the Generate global element for all global ComplexTypes checkbox on the Generate XML Schema dialog. Then, the generated XSD no longer contains the global element.

Diagram

XSDGlobal

Learn More:

  • Generate XML Schema


Import XSD [Enterprise Architect User Guide]

Import XSD

The XML Schema Import facility is used to reverse engineer a W3C XML Schema (XSD) file as a UML Class model. An XSD file is imported into Enterprise Architect as a UML package.

Access:

  • Tools | XML Schema | Import XML Schema
  • Right-click on a package in the Project Browser and select the following context menu : Code Engineering | Import XML Schema

Reference:

Field/Option/Button

Usage

See also

Root Package

Indicates the name of the package selected.

Directory

Specifies the directory where the XSD file(s) is located.

Selected File(s)

Lists the XML Schema(s) currently selected for import.

To select several individual files CTRL + left click on each file.

To select a range of files, press SHIFT and select the first and last file in the range.

Import Options

Field | Usage
Import global elements with "Type" postfix | Treat the global element and the ComplexType it is referring to as two separate entities.
Import referenced XML Schema(s) | Import any XML Schema that is being referenced by any of files listed in the Selected File(s) field.
Create Diagram for XML Schema(s) | Creates a Class diagram under each imported XSDschema package
Import XSD Elements/Attributes as | Indicate how the inline XSDelements and XSDattributes are imported in a Class.

Global Element and ComplexType

Import

Initiate XSD Import.

Close

Close this dialog.

Help

Display this Help topic

Progress

Lists the progress of Schema Import.

Notes:

  • If an XML Schema file being imported already exists in the model, Enterprise Architect skips importing the file
  • References to XSD Primitive Types are always imported as UML Attributes
  • References to XSD constructs in external Schema files are always imported as UML Attributes
  • Enterprise Architect uses the schemaLocation attribute in the XSD Import and XSD Include elements of an XML Schema to determine the dependencies between the files. Ensure that this attribute is set to a valid file path (and not a URL) for the dependent XML Schema(s) to be imported correctly


Global Element and ComplexType [Enterprise Architect User Guide]

Global Element and ComplexType

Topic

Detail

ComplexType element naming convention

Some XML Schemas have ComplexType elements with the same name as the referring global elements, but with the suffix Type as shown below:

<xs:element name="Address" type="AddressType"/>

<xs:complexType name="AddressType">

<xs:sequence/>

</xs:complexType>

On XSD import, Enterprise Architect treats this global element and its bounding ComplexType as a single entity and creates a single XSDcomplexType stereotyped Class with the same name as the global element as shown below:

Changing the default behavior

You can change the above specified default behaviour by selecting the Import global elements with "Type" postfix checkbox. When you select this option, Enterprise Architect treats the global element and the ComplexType it is referring to as two separate entities. So, for the above example, Enterprise Architect creates an XSDtopLevelElement stereotyped Class for the global element and an XSDcomplexType stereotyped Class for the ComplexType, and connects them as follows:

Notes:

  • Enterprise Architect treats the following as two separate entities irrespective of whether the Import global elements with "Type" postfix checkbox is selected or unselected:

<xs:element name="HomeAddress" type="AddressType"/>

<xs:complexType name="AddressType">

<xs:sequence/>

</xs:complexType>

Learn More:

  • Import XML Schema


UML Profile for XSD [Enterprise Architect User Guide]

UML Profile for XSD

The UML Profile for XSD specifies a set of stereotypes, tagged values and constraints that can be applied to the UML model in order to change particular aspects of the resulting schema. For example, you might have to convert certain UML Class attributes to XSD attributes, or use a model group other than the default Sequence.

Enterprise Architect provides native support for the UML Profile for XSD via the XML schema page of the Diagram Toolbox. Alternatively, you can use the profile via Enterprise Architect's generic profile mechanism by downloading the UML Profile for XSD. The XSD profile used by Enterprise Architect is an adaptation of the profile defined in Modeling XML Applications with UML (David Carlson).

Learn More:

  • Profile for XML Schema
  • XSD Datatypes Package


Profile for XML Schema [Enterprise Architect User Guide]

Profile for XML Schema

The UML Profile for XSD specifies stereotypes that provide an explicit mapping from XSD to UML constructs. The Tagged Values further define aspects of the mapping, such as whether the elements should be qualified. The constraints define any conditions that must be satisfied for the stereotype to apply.

The UML Profile for XSD specifies the following stereotypes:

  • XSDschema
  • XSDcomplexType
  • XSDsimpleType
  • XSDsequence
  • XSDchoice
  • XSDelement
  • XSDattribute
  • XSDany
  • XSDrestriction
  • XSDgroup
  • XSDtopLevelElement
  • XSDtopLevelAttribute
  • XSDunion
  • XSDattributeGroup

The following tables list the features of the UML Profile for XSD.

  • Tagged Value names are shown in bold followed by the allowed values.
  • If a default value is used by Enterprise Architect's schema generator, it is underlined.

«XSDschema»:

UML Construct |  | Package
Description |  | All Classes in a package are defined within one schema. This stereotype can be used to specify schema-wide settings.
Toolbox Icon |  |
Tagged Values | anonymousRole (true | false) | Specifies if the role name is included in the element declaration for the UML attribute.
 | anonymousType (true | false) | Specifies whether the Class type is anonymous for attributes.
 | attributeFormDefault (qualified | unqualified) | Determines whether attribute instances must be qualified.
 | defaultNamespace | The default namespace used in this schema. This value is used to specify the default namespace attribute (xmlns=), in the schema element.
 | elementDerivation (true | false) | Determines whether inheritances are generated using XSD extension or copy-down inheritance.
 | elementFormDefault (qualified | unqualified) | Determines whether element instances must be qualified.
 | memberNames (qualified | unqualified) | Determines whether elements generated from Class attributes have their name qualified by the corresponding Class name.
 | modelGroup (all | sequence | choice) | Specifies the default XSD model group used to generate complexType definitions.
 | schemaLocation | The URI that identifies the location of the schema. This value is used in the import and include elements.
 | targetNamespace | The URI that uniquely identifies this schema's namespace.
 | targetNamespacePrefix | The prefix that abbreviates the targetNamespace.
 | version | The version of this schema.
 | xmlns | The comma separated list of all the namespaces ( and their prefixes ).
Constraints |  | None.

«XSDcomplexType»:

UML Construct |  | Class
Description |  | complexType definitions are created for generic UML Classes. This stereotypes helps tailor the generation of a complexType definition.
Toolbox Icon |  |
Tagged Values | memberNames (qualified | unqualified) | Determines whether elements generated from the UML Class attributes and associations have their name qualified by the corresponding Class name for this complexType definition.
 | mixed (true | false) | Determines whether this element can contain mixed element and character content. See the W3CXML Schema recommendation.
 | modelGroup (all | sequence | choice) | Overrides the default XSD model for generating this complexType definition.
 | minOccurs | Specifies the minimum number of times the model group in the element can occur.
 | maxOccurs | Specifies the maximum number of times the model group in the element can occur.
 | nillable (true | false) | Specifies whether a null value can be assigned to the top-level element generated for this complexType element.
Constraints |  | None.

«XSDsimpleType»

UML Construct |  | Class
Description |  | An XSD simpleType is generated for Classes with this stereotype.
Toolbox Icon |  |
Tagged Values | derivation: (restriction | list) | Specifies the derivation of the simpleType. See the W3C XML Schema recommendation.
 | length: | See the W3C XML Schema recommendation.
 | minLength:
 | maxLength:
 | minInclusive:
 | minExclusive:
 | maxInclusive:
 | maxExclusive:
 | totalDigits:
 | fractionDigits:
 | whiteSpace:
 | pattern:
Constraints |  | This Class can only participate in an inheritance relation with another simpleType. It cannot have any attributes or own any associations; they are ignored if present.

«XSDsequence»

UML Construct

Class

Description

The schema generator creates a sequence model group as the container for the attributes and associations owned by this Class. The model group is in turn added to the model groups of this Class respective owners.

Tagged values specified by owners of this Class persist through to the child elements of this model group. Thus if memberNames are unqualified for a complexType, so are the children of this model group when added to that complexType.

Toolbox Icon

Tagged Values

None.

Constraints

This Class must be the destination of unidirectional associations. If it is not, this Class and its connectors are ignored, possibly invalidating other model group Classes.

Inheritance relations are ignored for this Class.

«XSDchoice»

UML Construct | Class
Description | Creates an XSD choice element. See XSDsequence for more details.
Toolbox Icon |
Tagged Values | None.
Constraints | As for XSDsequence.

«XSDelement»

UML Construct |  | UML Attribute, Association End
Description |  | By applying this stereotype to a UML Class or Association End, the corresponding UML entity is generated as an element within the parent complexType and not as an XSD attribute.
Toolbox Icon |  |
Tagged Values | form: (qualified | unqualified) | Overrides the schema's elementFormDefault value.
 | position: | Causes the elements to be ordered within a sequence model group of the containing complexType. Duplicated and invalid position Tagged Values are ignored and result in undefined ordering of the UML attributes. Missing position values cause the defined positions to be allocated as specified, with the remaining elements filling the missing positions in an undefined order.
 | anonymousRole: (true | false) | Specifies if the role name is included in the element declaration for the UML attribute.
 | anonymousType: (true | false) | Specifies whether the Class type is anonymous for attributes.
 | nillable (true | false) | Specifies whether a null value can be assigned to this element.
 | default | See the W3C XML Schema recommendation.
 | fixed
Constraints |  | None.

«XSDattribute»

UML Construct |  | UML Attribute, Association End
Description |  | By applying this stereotype to a UML Class attribute or Association End, the corresponding UML entity is generated as an XSD attribute within the parent complexType and not as an XSD element.
Toolbox Icon |  |
Tagged Values | form: (qualified | unqualified) | Overrides the schema's attributeFormDefault value.
 | use: (prohibited | optional | required) | See the W3C XML Schema recommendation.
 | default
 | fixed
Constraints |  | The attribute datatype should not see a Class specification, otherwise it is ignored.

«XSDany»

UML Construct |  | UML Attribute
Description |  | If applied to a UML attribute, an XSD anyAttribute element is generated. If applied to a UML Class, an XSD any element is generated.
Toolbox Icon |  |
Tagged Values | namespace: | See the W3C XML Schema recommendation.
 | processContents: (skip | lax | strict)
Constraints |  | None.

«XSDrestriction»

UML Construct | Generalization
Description | Overrides the default use of XSD extension for inheritance and generates the child as a complexType with a restriction element instead.
Tagged Values | None.
Constraints | Applies only to UML Class parent-child relations.

«XSDgroup»

UML Construct |  | Class
Description |  | An XSDgroup is generated for Classes with this stereotype.
Toolbox Icon |  |
Tagged Values | modelGroup: (sequence | choice | all) | Overrides the default XSD model for generating this group definition.
Constraints |  | A group Class can only associate itself to other group Classes. A group Class can be associated by another group Class or a complexType Class. The association should be via an Association connector. A group Class cannot be inherited/aggregated.

«XSDtopLevelElement»

UML Construct |  | Class
Description |  | Creates an <xs:element> construct which acts as a container for XSDcomplexType and XSDsimpleType Class.
Toolbox Icon |  |
Tagged Values | default | See the W3C XML Schema recommendation.
 | fixed
Constraints |  | An XSDtopLevelElement Class can contain either an XSDsimpleType or an XSDcomplexType as its child Class. When such a Class is present as its child, all its inheritance is ignored. This Class cannot be inherited.

«XSDtopLevelAttribute»

UML Construct |  | Class
Description |  | Creates an <xs:attributr> construct which acts as a container for XSDsimpleType Class.
Toolbox Icon |  |
Tagged Values | use: (optional | required | prohibited) | See the W3C XML Schema recommendation.
 | default
 | fixed
Constraints |  | An XSDtopLevelAttribute Class can contain only an XSDsimpleType Class as its child Class. When such a Class is present as its child, all its inheritance is ignored. This Class can inherit from only one XSDsimpleType Class.

«XSDunion»

UML Construct | Class
Description | Creates an <xs:union> construct which can act as a container for XSDsimpleType Class.
Toolbox Icon |
Tagged Values | None
Constraints | An XSDunion Class can contain only XSDsimpleType as its child Class and can generalize from other XSDsimpleType Classes only. All the Classes that this Class generalizes become the members of the attribute memberTypes. This Class cannot have any attributes or associations.

«XSDattributeGroup»

UML Construct | Class
Description | Creates an <XSDattributeGroup> construct which can act as a container for a set of elements for stereotype XSDattribute.
Toolbox Icon |
Tagged Values | None
Constraints | An XSDattributeGroup Class can contain only elements of stereotype XSDattribute and can be associated only with other XSDattributeGroup Classes. Only XSDcomplexType Classes can associate with this Class. This Class cannot be inherited.

Learn More:

  • UML Profile for XSD (Online Resource)
  • W3C XML Schema (Online Resource)
  • Using Profiles


XSD Datatypes Package [Enterprise Architect User Guide]

XSD Datatypes Package

When modeling XSD constructs, it is often useful to have the XSD primitive types represented as UML elements. In this way user-defined types, for example, can reference the datatype elements as part of inheritance or association relationships.

Sparx Systems provides the set of primitive XSD data types as a UML package in the form of an XMI file. Each of the XSD primitive types is represented by a UML Class in a package named XSDDatatypes.

How To:

Step | Action | See Also
1. | Download the XSDDatatypes package using the link to the right. The file XSDDataTypes.xml is an XMI file. | XSDDatatypes Package (XML file)
2. | Use Enterprise Architect's XMI import facility, which is available via the Project | Model Import/Export | Import Package from XMI menu option. | XMI import
3. | When the XMI import is complete, you have the UML package named XSDDatatypes in your model, from which you can drag and drop the relevant types as required. |

Notes:

  • Import and use the XSD Datatypes into Enterprise Architect only if you are modeling the XSD model using the UML Profile for XSD ( instead of using the XML Schema Toolbox )


Web Services - WSDL [Enterprise Architect User Guide]

Web Services (WSDL)

 Return to Introduction

Enterprise Architect enables rapid modeling, forward engineering and reverse engineering of Web Service Definition Language 1.1 (WSDL), a key W3C XML technology.

WSDL support is critical for the development of a complete Service Oriented Architecture (SOA), and the coupling of UML 2.3 and XML provides the natural mechanism for specifying, constructing and deploying XML-based SOA artifacts within an organization. This section explains how to use Enterprise Architect to model WSDL files.

Learn More:

  • W3C WSDL Specification (Online Resource)
  • WSDL Model Structure
  • Model WSDL
  • WSDL Model Transformation
  • Generate WSDL 1.1
  • Import WSDL 1.1


Create WSDL 1.1 Model Structure [Enterprise Architect User Guide]

Create WSDL 1.1 Model Structure

Enterprise Architect provides the WSDL page in the Toolbox to conveniently model WSDL documents. WSDLs, represented as Components marked with the stereotype WSDL, are contained in a WSDLnamespace stereotyped Package whose hierarchy represents the target WSDL namespace and its constituent XSD Types, Messages, PortTypes, Bindings and Services. A sample WSDL Package structure can be created in the Project Browser, using the Namespace icon from the WSDL of the Toolbox. You can use this package structure as a template for developing your WSDL.

Access: View | Toolbox > More tools | WSDL

Use to:

  • Create a new WSDL Package structure that can be used as a staring point for developing your WSDL model.

How To:

Step | Action | See Also
1 | Create a package in the Project Browser |
2 | Click on the New Diagram icon in the Project Browser | Project Browser Toolbar
3 | Select UML Structural in the Select From field and Class in the Diagram Types field |
4 | Click on the More tools option in the Toolbox and select WSDLfrom the list of Toolboxes | Diagram Toolbox
5 | Click on the Namespace icon from the Toolbox and drag it into the created Class diagram | WSDL Group
6 | Specify the WSDL Package Name and Namespace and press OK button to create the sample WSDL Package structure. Alternative: A WSDL Package structure can also be created from an UML Interface using the WSDL Model Transformation. | Namespace Icon WSDL Model Transformation

Example WSDL Package Structure:

The WSDLnamespace Package acts as a container for the WSDL Structure in Enterprise Architect. The various WSDL constructs like Messages, PortTypes, Bindings and Services should be modeled in the Messages, PortTypes, Bindings and Services Packages respectively.

Notes:

  • A WSDLnamespace package can contain one or more WSDL stereotyped Component
  • A WSDL stereotyped Component can be generated as a WSDL file

Learn More:

  • WSDL Toolbox
  • Model WSDL
  • Generate WSDL 1.1
  • Import WSDL 1.1


Model WSDL [Enterprise Architect User Guide]

Model WSDL

The Namespace icon in the WSDL Toolbox creates a WSDLnamespace stereotyped Package which represents the top-level container for the WSDL constructs in Enterprise Architect.

WSDL Properties: Double-click on the WSDLnamespace stereotyped package in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
WSDL Package Name | Specify the name for the WSDL package |
Target Namespace | Specify the namespace for this WSDL package ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the Schema package. | Properties

Learn More:

The WSDLnamespace stereotyped Package acts as a container for the following WSDL constructs:

  • WSDL Message
  • WSDL Message Part
  • WSDL Port Type
  • WSDL Port Type Operation
  • WSDL Binding
  • WSDL Binding Operation
  • WSDL Service
  • WSDL Document


WSDL Message [Enterprise Architect User Guide]

WSDL Message

The Message icon in the WSDL Toolbox creates a WSDLmessage stereotyped Class, representing the WSDL Message. The WSDLmessage stereotyped Class acts as a container for one or more WSDL Message Parts. WSDL Message should be defined under the Messages package in the WSDL Package structure.

WSDL Properties: Double-click on the WSDLmessage stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the WSDL Message |
Documentation | Specify the notes for this element ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the WSDL Message | Properties

Notes:

  • WSDL Messages can only be created under the Messages package in the WSDL Package structure
  • The name of the WSDL Message should be unique among all the WSDL Messages within the WSDL

Learn More:

  • Message Part
  • WSDL Package Structure


WSDL Message Part [Enterprise Architect User Guide]

WSDL Message Part

The Message Part icon from the WSDL Toolbox creates an UML Attribute when dropped on a WSDLmessage stereotyped Class. In Enterprise Architect, the WSDL Message Part must be associated with an XSD Type.

WSDL Properties: Double-click on the UML Attribute in the WSDLmessage stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the WSDL Message Part

Type

Specify :

  • XSD built-in dataType using the drop-down list or
  • XSD Element or Complex Type or SimpleType Class

The XSD Types can be selected from :

  • Types package under the WSDL Package Structure or
  • Any package in the Project Browser

XML Schema

WSDL Package Structure

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL Message Part.

Properties

Notes:

  • WSDLmessage stereotyped Classes can contain WSDL Message Parts only

Learn More:

  • WSDL Message


WSDL Port Type [Enterprise Architect User Guide]

WSDL Port Type

The Port Type icon in the WSDL Toolbox creates a WSDLportType stereotyped Interface, representing the WSDL PortType. The WSDLportType stereotyped Interface describes the operations exposed by the WSDL and acts as a container for one or more WSDL PortType Operations. WSDL PortType should be defined under the PortTypes package in the WSDL Package structure.

WSDL Properties: Double-click on the WSDLportType stereotyped Interface in the diagram or the Project Browser

Reference:

Field/Button | Usage | See Also
Name | Specify the name for the WSDL PortType |
Documentation | Specify the notes for this element ( Optional ) |
OK | Save the values entered and close the dialog |
Cancel | Discard the values entered and close the dialog |
Help | Display this Help topic |
UML | Open the UML Properties dialog This button is available when editing the WSDL PortType | Properties

Notes:

  • WSDL PortTypes can only be created under the PortTypes package in the WSDL Package structure
  • The name of theWSDL PortType should be unique among all the WSDL PortTypes within the WSDL

Learn More:

  • WSDL PortType Operation
  • WSDL Package Structure


WSDL Port Type Operation [Enterprise Architect User Guide]

WSDL Port Type Operation

The PortType Operation icon from the WSDL Toolbox creates an UML Operation when dropped on a WSDLportType stereotyped Interface. Enterprise Architect supports creating the following PortType Operations:

  • One-Way
  • Request-Response
  • Solicit-Response
  • Notification

WSDL Properties: Double-click on the UML Operation in the WSDLportType stereotyped Interface in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the WSDL PortType Operation

Documentation

Specify the notes for this element ( Optional )

Operation Type

Select one of the supported PortType Operation types.

  • The Output section is disabled for One-Way Operation Type
  • The Input section is disabled for Notification Operation Type

Input

Specify the details of the input WSDL Message.

Field | Usage
Name | Specify the name of the input Message Defaults to the Operation Type.
Message | Select a WSDLmessage stereotyped Class The list displays all the WSDL Messages created in the Message package
Documentation | Specify the notes for this input Message ( Optional )

Message

WSDL Package Structure

Output

Specify the details of the output WSDL Message.

Field | Usage
Name | Specify the name of the output Message Defaults to the Operation Type.
Message | Select a WSDLmessage stereotyped Class The list displays all the WSDL Messages created in the Message package
Documentation | Specify the notes for this input Message ( Optional )

Faults

Specify the details of the WSDL Message that can act as Faults.

Button | Usage
New | Add a new Fault
Delete | Delete an existing Fault in the list

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL PortType Operation.

Properties

Notes:

  • WSDL PortType Operations can only be contained by WSDL PortTypes
  • The value specified in the Name field of the Input, Output and Fault section above must be unique among all the Inputs, Outputs and Faults of the WSDL PortType respectively

Learn More:

  • WSDL Port Type


WSDL Binding [Enterprise Architect User Guide]

WSDL Binding

The Binding icon in the WSDL Toolbox creates a WSDLbinding stereotyped Class, representing the WSDL Binding. Each WSDLbinding Class implements the operations specified by a particular WSDLportType Interface and describes the message format and protocol details for the operations and messages defined by this WSDL PortType. WSDL Bindings should be defined under the Bindings package in the WSDL Package structure.

WSDL Properties: Double-click on the WSDLbinding stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the WSDL PortType

PortType

Select the WSDL PortType to be implemented by this WSDL Binding.

Port Type

Protocol

Specify the protocol for the transmission of the selected WSDL PortType's Operations.

The supported protocols are:

  • SOAP
  • HTTP

Transport

Defines the SOAP protocol.

This field is disabled for HTTP protocol.

Default: http://schemas.xmlsoap.org/soap/http

Style

Specify the style of SOAP protocol.

This field is disabled for HTTP protocol.

Verb

Specify the HTTP verb.

The supported verbs are:

  • GET
  • POST

This field is disabled for SOAP protocol.

Documentation

Specify the notes for this element ( Optional )

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL Binding.

Properties

Notes:

  • A WSDL Binding must implement a WSDL PortType. Therefore, WSDL PortTypes should be defined before creating WSDL Bindings
  • WSDL Bindings can only be created under the Bindings package in the WSDL Package structure.
  • The name of the WSDL Binding should be unique among all the WSDL Bindingss within the WSDL.

Learn More:

  • WSDL Binding Operation
  • WSDL Package Structure


WSDL Binding Operation [Enterprise Architect User Guide]

WSDL Binding Operation

When a WSDLbinding stereotyped Class is created using the WSDL Binding dialog, Enterprise Architect draws a Realization connector from the WSDL Binding to the WSDL Portype and automatically populates the WSDL Binding with all the UML Opertations in the WSDL PortType.

WSDL Properties: Double-click on the UML Operation in the WSDLbinding stereotyped Class in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Operation Name

Name of the Operation. This value in this field cannot be edited.

Action

Specify the SOAP Action header ( URI ) for this Operation.

This field is disabled for HTTP protocol.

Style

Specify the style of this Operation.

This field is disabled for HTTP protocol.

Location

Specify the relative URI of this Operation .

This field is disabled for SOAP protocol.

Documentation

Specify the notes for this element ( Optional )

Parameters

Specify the details for the Operation Parameters.

Click on the Details button to specify the details for Input, Output and Faults.

Field | Usage
Use | Specify the encoding that is to be used. This field is disabled for HTTP protocol.
Encoding Style | Specify the style ( URIs ) when Use is set to encoded This field is disabled for HTTP protocol.
Namespace | Specify the namespace ( Optional ) This field is disabled for HTTP protocol.
Parts | Specifies the Message Parts that appear within the SOAP Body portion ( Optional ) This field is disabled for HTTP protocol.
Header | Specify the contents of the SOAP/HTTP Header ( Optional )
Documentation | Specify the notes for this input Message ( Optional )
  • Details in Input section is disabled for Notification Operation Type.
  • Details in Output section is disabled for One-way Operation Type.
  • Details in Fault section is disabled where there are no Fault Messages.

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL Binding Operation.

Properties

Learn More:

  • WSDL Binding


WSDL Service [Enterprise Architect User Guide]

WSDL Service

The Service icon in the WSDL Toolbox creates a WSDLservice stereotyped Interface, representing the WSDL Service. The WSDLservice stereotyped Interface describes the collection of ports that expose a particular Binding. WSDL Service should be defined under the Services package in the WSDL Package structure.

WSDL Properties: Double-click on the WSDLservice stereotyped Interface in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the WSDL Service

Documentation

Specify the notes for this element ( Optional )

Ports

Specify the Ports ( or endpoints ) for this WSDL Service.

Button

Usage

Click on the New button to add a Port using the WSDL Port dialog

Field | Usage
Port Name | Specify the name of the Port
Binding | Select a WSDLbinding stereotyped Class The list displays all the WSDL Bindings created in the Bindings package
Location | Specify the URI for the Port
Documentation | Specify the notes for this input Message ( Optional )
OK | Save the values entered and close the WSDL Port dialog
Cancel | Discard the values entered and close the WSDL Port dialog
Help | Display this Help topic

Press the Delete button to remove an entry from the list

Binding

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL Service.

Properties

Notes:

  • WSDL Services can only be created under the Service package in the WSDL Package structure.
  • The name of the WSDL Service should be unique among all the WSDL Services within the WSDL.

Learn More:

  • WSDL Package Structure


WSDL Document [Enterprise Architect User Guide]

The WSDL icon in the WSDL Toolbox creates a WSDL stereotyped Component, representing the WSDL document. The WSDL stereotyped Component should be modeled as direct child element of the WSDLnamespace stereotyped Package. Multiple WSDL documents can be created for a single WSDLnamespace stereotyped Package, thus enabling the WSDL Services for that namespace to be reused and exposed as required across multiple WSDLs.

WSDL Properties: Double-click on the WSDL stereotyped Component in the diagram or the Project Browser

Reference:

Field/Button

Usage

See Also

Name

Specify the name for the WSDL document

File Name

Specify the file path where the WSDL 1.1 file is to be generated.

Documentation

Specify the notes for this element ( Optional )

XMLNS

List specifying the additional namespace and namespace-prefix pairs used in this WSDL document.

Button

Usage

Press the New button to add an entry in the list.

Double-click on an entry in the list to edit the values.

Field | Usage
Prefix | Specify the abbreviated value that represents the Namespace
Namespace | Specify the namespace
OK | Save the values entered and close the Namespace Details dialog
Cancel | Discard the values entered and close the Namespace Details dialog
Help | Display this Help topic

Press the Delete button to remove an entry from the list

Services

Select the required WSDL Services.

The list displays all the WSDL Services created in the Services package

OK

Save the values entered and close the dialog

Cancel

Discard the values entered and close the dialog

Help

Display this Help topic

UML

Open the UML Properties dialog

This button is available when editing the WSDL document.

Properties


Generate WSDL [Enterprise Architect User Guide]

Generate WSDL

The Generate WSDL feature forward engineers a UML model to a WSDL 1.1 file. The Generate WSDL feature acts either on a WSDLnamespace stereotyped Package or a WSDL stereotyped Component. It is used to generate any or all of the WSDL stereotyped Components owned by the target WSDLnamespace structure.

Access:

  • Tools | Web Service | Generate WSDL
  • Right-click on a WSDL stereotyped Component and select the following context menu : Generate WSDL

Reference:

Field/Button

Usage

See Also

Encoding

Specify the encoding scheme for the WSDL file.

Default: Value of the Code Page field of the XML Specifications section in the Options dialog

XML Specifications

Select Components To Generate

Lists all the WSDL stereotyped Components under the current WSDLnamespace Package. Highlight the required WSDL stereotyped Components for which WSDL file is to be generated.

Button | Usage
Select All | Selects all the entries in this list
Select None | Selects none the entries in this list

Double-click on an entry in the list to open the Component File Name dialog:

Field | Usage
Name | Specifies the name of the WSDL stereotyped Component
Prefix | Select the desired prefix for the WSDL namespace if multiple prefixes had been specified
File Name | Specify the file path where the WSDL file is to be generated

Generate

Generate the WSDL file for all the selected WSDL stereotyped Components

View WSDL

View the generated WSDL for a selected WSDL stereotyped Component

Close

Close this dialog

Help

Display this Help topic

Progress

Lists the progress of WSDL Generation


Import WSDL [Enterprise Architect User Guide]

Import WSDL

Enterprise Architect provides a WSDL Import facility to reverse engineer WSDL 1.1 files into UML Class models.

Access:

  • Tools | Web Service | Import WSDL
  • Right-click on a Package in the Project Browser and select the following context menu : Code Engineering | Import WSDL

Reference:

Field/Button | Usage
Filename | Specify the WSDL file to import
Root Package | Specifies the Package under which the WSDL file is to be imported
Target Package | Specifies the name of the Package that represents the imported WSDL file Default: Name of the WSDL file
Import | Initiate the WSDL Import
Close | Close this dialog
Help | Display this Help topic
Progress | Lists the progress of WSDL Import

Notes:

Enterprise Architect cannot import a WSDL file that references WSDL constructs existing outside this WSDL file
Importable Example | http://www.w3.org/TR/wsdl.html#_wsdl
Non-importable Example | http://www.w3.org/TR/wsdl.html#_style Attempting to import the second WSDL file would result in the following error: Cannot Import Split Files
Workaround | Combine the split WSDL files into a single file and then import it into Enterprise Architect


SoaML [Enterprise Architect User Guide]

SoaML

Topics:

Topic

Detail

See also

Abstract

The following text is derived from Service oriented architecture Modeling Language (SoaML) - Specification for the UML Profile and metamodel for Services (UPMS) (OMG document ad/2008-11-01); pp. 25-26:

A service is an offer of value to another through a well-defined interface and available to a community (which may be the general public). A service results in work provided to one by another.

Service Oriented Architecture (SOA) is a way of organizing and understanding ( representations of ) organizations, communities and systems to maximize agility, scale and interoperability. The SOA approach is simple - people, organizations and systems provide services to each other. These services allow us to get something done without doing it ourselves or even without knowing how to do it - enabling us to be more efficient and agile. Services also enable us to offer our capabilities to others in exchange for some value - thus establishing a community, process or marketplace. The SOA paradigm works equally well for integrating existing capabilities as for creating and integrating new capabilities.

SOA ... is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results. SoaML ... provides a standard way to architect and model SOA solutions using the Unified Modeling Language (UML). The profile uses the built-in extension mechanisms of UML to define SOA concepts in terms of existing UML concepts.

... the highest leverage of employing SOA comes from understanding a community, process or enterprise as a set of interrelated services and ... supporting that service oriented enterprise with service-enabled systems. SoaML enables business oriented and systems oriented services architectures to mutually and collaboratively support the enterprise mission. ... SoaML depends on Model Driven Architecture® (MDA®) to help map business and systems architectures, the design of the enterprise, to the technologies that support SOA, like web services and CORBA®.

For further information on the concepts of SoaML, see the specification document on the OMG website SOAML document page.

SOAML document page (Online Resource)

SaoML in Enterprise Architect

Enterprise Architect enables you to model services architectures quickly and simply, through use of an MDG Technology integrated with the Enterprise Architect installer. The SoaML facilities are provided in the form of:

  • Two SoaML diagram types - SoaML Component Diagram and SoaML Sequence Diagram - accessed through the New Diagram dialog
  • SoaML pages in the Toolbox
  • SoaML element and relationship entries in the Toolbox Shortcut Menu and Quick Linker

New Diagram

Toolbox Shortcut Menu

Quick Linker

SoaML Toolbox Pages

You can access the SoaML pages of the Toolbox through the More tools | SoaML menu option. There is a set of pages for each SoaML diagram type, although the last five pages in each set are the same.

SoaML Component Diagram | SoaML Sequence Diagram
SoaMLTool1 | soamltool2

Example SoaML Diagram

Example SoaML Diagram

Disable SoaML

If you prefer not to use SoaML in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies).

Manage MDG Technologies

Notes:

  • Service Oriented Architecture Modeling Language (SoaML) is supported in the Corporate, Systems Engineering, Business and Software Engineering and Ultimate editions of Enterprise Architect


SOMF [Enterprise Architect User Guide]

SOMF

Topics:

Topic

Detail

See also

Abstract

The following text is derived from the extensive Wikipedia entry on Service Oriented Modeling:

The Service-Oriented Modeling Framework (SOMF) has been proposed by author Michael Bell as a holistic and anthropomorphic modeling language for software development that employs disciplines and a universal language to provide tactical and strategic solutions to enterprise problems. The term "holistic language" pertains to a modeling language that can be employed to design any application, business and technological environment, either local or distributed. This universality may include design of application-level and enterprise-level solutions, including SOA landscapes or Cloud Computing environments. The term "anthropomorphic", on the other hand, affiliates the SOMF language with intuitiveness of implementation and simplicity of usage.

The service-oriented modeling framework (SOMF) is a service-oriented development life cycle methodology. It offers a number of modeling practices and disciplines that contribute to a successful service-oriented life cycle management and modeling. ... It illustrates the major elements that identify the “what to do” aspects of a service development scheme. These are the modeling pillars that will enable practitioners to craft an effective project plan and to identify the milestones of a service-oriented initiative—either a small or large-scale business or a technological venture.

For further information on the concepts of SOMF, see the Wikipedia Service Oriented Modeling pages.

Michael Bell (Online Resource)

Service Oriented Modeling (Online Resource)

SOMF in Enterprise Architect

In Enterprise Architect, SOMF is implemented as a profile within an MDG Technology that is integrated with the Enterprise Architect installer. For further information on this MDG Technology, see the Service-Oriented Modeling FrameworkTM in Enterprise Architect page on the Sparx Systems website.

The SOMF facilities are provided in the form of:

  • Eight SOMF diagram types accessed through the New Diagram dialog; these are SOMF:

    Analysis
    Business Integration
    Logical Design Relationship
    Logical Design Composition
    Transaction
    Conceptual Architecture
    Asset Utilization
    Transaction Directory
  • SOMF pages in the Toolbox
  • SOMF element and relationship entries in the Toolbox Shortcut menu and Quick Linker

Sparx Systems (online resource)

New Diagram

Toolbox Shortcut Menu

Quick Linker

SOMF Toolbox Pages

You can access the SOMF pages of the Toolbox through the More tools | SOMF menu option. There is a set of pages for each SOMF diagram type; for example:

SOMF Conceptual Architecture Diagram | SOMF Business Integration Diagram | SOMF Transaction Diagram
SOMFCA | SOMFBI | SOMFTran

Disable SOMF

If you prefer not to use SOMF in Enterprise Architect, you can disable it (and subsequently re-enable it) using the MDG Technologies dialog (Settings | MDG Technologies)

MDG Technologies


Generate MOF [Enterprise Architect User Guide]

Generate MOF

Enterprise Architect offers support for exporting packages to XMI under the Meta-Object Facility (MOF) 1.3 and 1.4 standards. MOF models are created by assigning the stereotype metamodel to the package. MOF models can be exported to MOF 1.3 or MOF 1.4 XMI file specification.

Topics:

Topic

Detail

See also

Background Knowledge

MOF is an Object Management Group (OMG) standard that originated in the UML, when the OMG required a Meta-Modeling architecture to define the UML. MOF is designed as a four-layered architecture, as illustrated in the following diagram.

Because of the similarities between the MOF-model and UML structure models, MOF meta-models are usually modeled as UML Class diagrams. You can also use the Metamodel page of the Toolbox to create MOF model elements and connectors. A supporting standard of MOF is XMI, which defines an XML-based exchange format.

MOF is a closed, strict meta-modeling architecture; every model element on every layer is strictly an instance of a model element of the layer above. MOF only provides a means to define the structure or abstract syntax of a languages or of data.

Simplified, MOF uses the notion of Classes, as known from object orientation, to define concepts (model elements) on a meta-layer. These Classes (concepts) can then be instantiated through objects (instances) of the model layer below. Because an element on the M2 layer is an object (instance of an M3 model element) as well as a Class (an M2 layer concept) the notion of a clabject is used. Clabject is a merge of the words Class and Object.

Another related standard is OCL, which describes a formal language that can be used to define model constraints by means of predicate logic.

Class Diagrams

Metamodel Group

Learn More:

  • Getting Started
  • Export MOF to XMI


Getting Started [Enterprise Architect User Guide]

MOF diagrams are Class diagrams that are contained in packages with a metamodel stereotype.

To create a MOF diagram, follow the steps below

How To:

Step | Action | See Also
1. | Create a package to contain your MOF elements. |
2. | Double-click on the package name to display the Properties dialog. |
3. | In the Stereotype field type the value metamodel. |
4. | Click on the OK button. |
5. | Right-click on the package in the Project Browser and select the Add | Add Diagram context menu option. Create a Class diagram (the default diagram). |
6. | Give your MOF Class diagram an appropriate name. |
7. | In the Toolbox, select the More tools | Metamodel menu option and add the required Metamodel elements to the diagram. | Metamodel Group

Example:

The following is an example of a MOF diagram. A MOF diagram can typically contain Package, Class, Enumeration and Primitive elements, and Generalization, Association, Compose and Aggregate relationships.

Learn More:

  • Class Diagram


Export MOF to XMI [Enterprise Architect User Guide]

Export MOF to XMI

To export a MOF diagram to XMI, specifying the MOF 1.3 or MOF 1.4 standard, follow the steps below

How To:

Step | Action | See Also
1. | Right-click on the package in the Project Browser. The context menu displays. |
2. | Select the Import/Export | Export Package to XMI file menu option. The Export Package to XMI dialog displays: |
3. | In the Filename field, type a name for the XMI file. |
4. | De-select the Enable full EA Roundtrip checkbox. |
5. | In the XMI Type field, click on the drop-down arrow and select MOF 1.3 or MOF 1.4. |
6. | Click on the Export button and wait until the Progress bar reads 100%. |
7. | Once your file has been created, you can view it by clicking on the View XMI button. | Metamodel Group

Notes:

  • MOF diagrams exported to XMI can be imported using the regular import XMI features of Enterprise Architect. See Import from XMI

Learn More:

  • Import from XMI


Visual Execution Analyzer [Enterprise Architect User Guide]

Visual Execution Analyzer

This section describes the recording and visual analysis of executing applications in Enterprise Architect.

The Visual Execution Analyzer builds on and processes the structures and operations of the Model Driven Development Environment (MDDE). The MDDE provides tools to design, build and debug an application, forming part of the Debugger facilities of Enterprise Architect.

One of the primary objectives of the Visual Execution Analysis feature is to enable you to work with the stack traces you captured in debugging your application, to generate Sequence diagrams. This is a great way to document and understand what your program is doing during its execution phase.

Access: Analyzer
Project Manager package context menu | Execution Analyzer

Use To:

  • Optimize existing system resources and understand resource allocation
  • Ensure that the system is following the rules as designed
  • Produce high quality documentation that more accurately reflects system behavior
  • Understand how and why systems work
  • Train new employees in the structure and function of a system
  • Provide a comprehensive understanding of how existing code works
  • Identify costly or unnecessary function calls
  • Illustrate interactions, data structures and important relationships within a system
  • Trace problems to a specific line of code, system interaction or event
  • Visualize why a sequence of events is important
  • Establish the sequence of events that occur immediately prior to system failure
  • Simulate the execution of behavior models including State Machines, Activities and Interactions

Topics:

Topic

See

Create a sample model for your language compiler, on which to examine the facilities of the Visual Execution Analyzer

Visual Execution Analyser Samples

Record executing programs and represent the behavior as a UML Sequence diagram; recording is supported for:

  • Microsoft Windows Native C
  • Microsoft Windows Native C++
  • Microsoft Windows Visual Basic
  • Microsoft .NET Family (C#, J#, VB)
  • Sun Microsystems Java
  • PHP

Recording Sequence Diagrams

Record native Windows applications and profile their behavior

Profiling Native Applications

Create and work with objects created within the Enterprise Architect modeling environment using a dynamic Object Workbench

Object Workbench

Run xUnit tests

Unit Testing

Testpoint Management - provides the facility to pass or fail application tasks, viewing test results in real time as the program executes and results are saved

Testpoint Management

Simulate UML behavior models to verify their logical and design correctness, for:

  • Activities
  • Interactions and Sequences
  • State Machines

Model Simulation

Learn more:

  • Code, Build & Debug (for the Enterprise Architect MDDE and Debugger)

Learning Center topics:

  • (Alt+F1) | Execution Analysis


Visual Execution Analyzer Samples [Enterprise Architect User Guide]

Visual Execution Analyzer Samples

Enterprise Architect enables you to easily import complete sample models (packages), including all necessary model information, code and build scripts. These sample patterns make it simple to explore and try out the Visual Execution Analyzer. You can generate an example model for:

  • Java
  • Microsoft.NET
  • Microsoft C++
  • PHP Apache

Access: Project | New Model (Ctrl+Shift+M) > VEA Examples
Project Browser | Package context menu | Add | New Model > VEA Examples

Reference:

Field

Usage

See also

Technology

Select the appropriate technology

Name

Displays the samples available for the selected technology; select the required sample to import

description field

Displays a description of the selected sample

Destination folder

Browse for and select the directory in which to load the source code for the sample

Use Local Path

Enable the selection of an existing local path to place the source code under; changes the Destination folder field to a drop-down selection

Compiler command

Displays the default compiler command path for the selected technology; you must either:

  • Confirm that the compiler can be found at this path, or
  • Edit the path to the compiler location

Local Paths

Local Paths Dialog

Edit Local Paths

Many VEA examples specify their compiler using a local path

The first time you use any sample you must click on this button to ensure the local path points to the correct location

The Local Paths dialog displays

Notes:

  • If required, you can define custom samples by adding files to the AppSamples directory where Enterprise Architect is installed; top-level directories are listed as Technologies and can contain an icon file to customize the icon displayed for the technology
  • Directories below this are defined as groups in the patterns list; the patterns are defined by the presence of four files with a matching name: a zip file (.zip), XMI file (.xml), config file (.cfg) and optional icon (.ico)
  • The config file supports the following fields:
  • [provider], [language], [platform], [url], [description], [version] - all displayed in the description field
  • [xmirootpaths] - the root path of the source code in the exported xmi; this is replaced with the selected destination folder when the user applies the application pattern

Learn More:

  • Model Wizard
  • Recording Sequence Diagrams }
  • Profiling Native Applications }
  • Object Workbench } Use the Visual Execution Analyzer samples to explore these
  • Unit Testing } areas of Visual Execution Analysis
  • Testpoint Management }
  • Model Simulation }


Recording Sequence Diagrams [Enterprise Architect User Guide]

Recording Sequence Diagrams

This section explains how to use the Visual Execution Analyzer to record execution flow in the form of a Sequence diagram.

A Sequence diagram provides easy to understand visual information including:

  • A representation of how information is passed through a system
  • The sequence of various functions and their corresponding parameters
  • A clear view of how different Classes interact to create behavior
  • A visual overview of how data structures are used to produce results

A Sequence diagram extends traditional analysis to help identify errors in logic, explain unexpected system behavior and identify data flow inconsistencies; the Visual Execution Analyzer extends analysis through the use of a comprehensive array of reports that detail everything from state transitions through to the contents of the stack at a given time.

Access: Analyzer | Record | Recorder

Use To:

  • Set up and control the recording of code execution
  • Interpret the results of recording
  • Generate Sequence diagrams from the recording, and moderate the contents of the diagram

Topics:

Review the following topics in sequence:

Topic

Link

An overview of how the Visual Execution Analyzer creates a visual representation of the execution of an application, outlining the functions that are being called, the types of messages being sent, the key data structures used and the relationships between different Classes

The diagram makes it much simpler to understand how information is moved throughout the system and what values are being passed by various functions

How It works

The Recording History

Diagram Features

Preparing to record execution of the application

Setup for Recording

Deploying recording markers, breakpoints and marker sets

Place Recording Markers

Controlling the recording session, using the Record & Analyze window

Control the Recording Session

Interpreting the results of a recording, saving and retrieving these results and generating a Sequence diagram from the recording

Generating Sequence Diagrams

A description of how you can generate Sequence diagrams that show transitions in state as a program executes

Reporting State Transitions

Notes:

  • Recording is available to users of all editions of Enterprise Architect except the Desktop edition

Learning Center topics:

  • (Alt+F1) | Execution Analysis | C++/Native Samples | C++ Recording 1
  • (Alt+F1) | Execution Analysis | C++/Native Samples | C++ Recording 2
  • (Alt+F1) | Execution Analysis | C++/Native Samples | C++ Recording 3


How it Works [Enterprise Architect User Guide]

How it Works

This topic explains how the Visual Execution Analyzer generates Sequence diagrams.

Topics:

Topic

Detail

See also

Usage

The Visual Execution Analyzer enables you to generate a Sequence Diagram

The diagram creates a visual representation of the execution of an application, outlining what functions are being called, the types of messages being sent, the key data structures used and the relationships between different Classes; that is, how information is moved throughout the system and what values are being passed by various functions

The diagram below illustrates the Sequence Diagram output for a program that calculates the price of books

The first loop structure is executed four times, to add four books to the book database; the arrows indicate information flow and demonstrate the change of states over time

VEA Small Sequence Diagram

Enterprise Architect can record arguments to functions, record calls to external modules or capture state transitions based on any given constraint; this information can be integrated with existing system knowledge and test data to optimize code execution, reduce errors and determine why application failure and system crashes occur

If an application crashes, data corruption such as a stack overflow can prevent you from diagnosing and rectifying the problem; however, the Visual Execution Analyzer enables you to record a given execution sequence to provide a reliable source of information that might further explain why a crash occurred

A Sequence diagram can convey more detail and provide greater understanding than reading unfamiliar code that might have been written by someone else; it also makes it easier to document existing code when the Sequence diagram illustrates functions that are being called and the specific sequence of events that occur to produce a particular type of system behavior

The Recording History

Diagram Features

Learn more:

  • Setup for Recording


The Recording History [Enterprise Architect User Guide]

The Recording History

All information recorded when the execution analysis of an application encounters user-defined recording markers is held in the Record & Analyze window.

Topics:

Topic

Detail

See also

Columns

The columns in the Record & Analyze window are as follows:

  • Sequence - The unique sequence number
  • Threads - The operating system thread ID
  • Delta - The elapsed thread CPU time since the start of the sequence
  • Method - There are two Method columns: the first shows the caller for a call or for a current frame if a return; the second shows the function called or function returning
  • Direction - Stack Frame Movement, can be Call, Return, State, Breakpoint or Escape (Escape is used internally when producing a Sequence diagram, to mark the end of an iteration)
  • Depth - The stack depth at the time of a call; used in the generation of Sequence diagrams
  • State - The state between sequences
  • Source - There are two Source columns: the first shows the source filename and line number of the caller for a call or, if a return, for a current frame; the second shows the source filename and line number of the function called or function returning
  • Instance - There are two Instance columns, which only have values when the Sequence diagram produced contains State Transitions; the values consist of two items separated by a comma - the first item is a unique number for the instance of the Class that was captured, and the second is the actual instance of the Class

    For example: supposing a Class CName has an internal value of 4567 and the program created two instances of that Class; the values might be:
  • 4567,1
  • 4567,2

The first entry shows the first instance of the Class and the second entry shows the second instance

You can perform a number of operations on the results of a recording, using the Record & Analyze window context menu, once the recording is complete

Working With Recording History

Toolbar

The Record & Analyze window toolbar provides a range of facilities for controlling the recording of the execution of an Analyzer script

Recorder Toolbar

Notes:

  • The checkbox against each operation is used to control whether or not this call should be used to create a Sequence diagram from this history
  • In addition to enabling or disabling the call using the checkbox, you can use context menu options to enable or disable an entire call, all calls to a given method, or all calls to a given Class


Working With Recording History [Enterprise Architect User Guide]

Working With Recording History

You can perform a number of operations on or from the results of a recording session, using the Record & Analyze window context menu.

Reference:

Option | Detail | See also
Show Source for Caller | Display the source code, in the Source Code Viewer, for the method calling the sequence | The Source Code Viewer
Show Source for Callee | Display the source code, in the Source Code Viewer, for the method being called by the sequence | The Source Code Viewer
Generate Diagram for Selected Sequence | Generate a Sequence diagram for a single sequence selected in the recording history | Generating Sequence Diagrams
Generate Sequence Diagram | Generate a Sequence diagram including all sequences in the recording history | Generating Sequence Diagrams
Clear | Clear the recording history currently displayed in the Record & Analyze window. | The Recording History
Save Recording History to File | Save the recording history to an XML file A browser window displays, on which you specify the file path and name for the XML file |
Load Recording History From File | Load a previously saved recording history from an XML file A browser window displays, on which you specify the file path and name for the XML file to load |
Disable All Calls | Disable every call listed in the Record & Analyze window |
Disable This Call | Disable the selected call |
Disable This Method | Disable the selected method |
Disable This Class | Disable the selected Class |
Disable All Calls Outside This Call | Disable every call listed in the Record & Analyze window except for the selected call |
Enable All Calls | Enable every call listed in the Record & Analyze window |
Enable This Call | Enable the selected call |
Enable This Method | Enable the selected method |
Enable This Class | Enable the selected Class |
Help | Display the Help topic for the Record & Analyze window | The Recording History


Diagram Features [Enterprise Architect User Guide]

Diagram Features

When you generate a Sequence diagram, it includes the following features:

Feature | Detail | See also
References | When the Visual Execution Analyzer cannot match a function call to an operation within the model, it still creates the sequence but also creates a reference for any Class that it cannot locate It does this for all languages | Generating Sequence Diagrams
Fragments | Fragments displayed in the Sequence diagram represent loops or iterations of a section(s) of code The Visual Execution Analyzer attempts to match function scope with method calls to as accurately as possible represent the execution visually
States | If a State Machine has been used during the recording process, any transitions in State are presented after the method call that caused the transition to occur States are calculated on the return of every method to its caller | Reporting State Transitions


Setup for Recording [Enterprise Architect User Guide]

Setup for Recording

This section explains how you prepare to record execution of the application.

Topic

Link

Prerequisites - To set up the environment for recording Sequence diagrams you must:

  • Have completed the basic setup for Build & Debug and created Execution Analysis scripts for the package
  • Be able to successfully debug the application

Build and Debug Prerequisites

Build and Debug Setup

Debugging

Narrow the focus of a recording by applying filters

Configuring Recording Detail

Control the detail of a recording by adjusting the stack depth

Control Stack Depth


Configure Recording Detail [Enterprise Architect User Guide]

Configure Recording Detail

To avoid generating too complex a Sequence diagram, you must control the scope of what is being recorded by:

  • Filtering - using the Analyzer Script you can exclude specific modules, Classes and functions from the recording

Access: Analyzer | Execution Analyzer (Shift + F12) Double-click on required Analyzer Script > Recording

Topics:

Topic

Detail

See also

Filtering

If the Enable Filter checkbox is selected on the Recording page of the Execution Analyzer Script Editor, the debugger excludes calls to matching methods from the generated Sequence history and diagram; the comparison is case-sensitive

To add a value, click on the New (Insert) icon in the right corner of the Exclusion Filters box, and type in the comparison string; each filter string takes the form:

class_name_token::method_name_token

The class_name_token excludes calls to all methods of a Class or Classes that have a name matching the token; the string can contain the wildcard character * (asterisk)

The method_name_token excludes calls to methods having a name that matches the token; again, the string can contain the wildcard character *

Both tokens are optional; if no Class token is present, the filter is applied only to global or public functions (that is, methods not belonging to any Class)

Managing Analyzer Scripts

Analyzer Script Editor

Example

In the Java example below, the debugger would exclude:

  • Calls to the OnDraw method for the Class Example.common.draw.DrawPane
  • Calls to any method of any Class having a name beginning with Example.source.Collection
  • Calls to any constructor for any Class (such as <clint> and <init>)

In the Native Code example below, the debugger would exclude:

  • Calls made to Standard Template Library namespace
  • Calls to any Class beginning with TOb
  • Calls to any method of Class CLock
  • Calls to any Global or Public Function with a name beginning with Get
  • Calls to the method GetLocation for Class Ctrain

Reference:

To Filter | Use Filter Entry
All public functions having a name beginning with Get from the recording session (for example, GetClientRect in Windows API) | ::Get*
All methods beginning with Get for every Class member method | *::Get*
All methods beginning with Get from the Class CClass | CClass::Get*
All methods for Class CClass | CClass::*
All methods for Classes belonging to Standard Template and Active Template Libraries | ATL* std*
The specific method GetName for Class CClass | CClass::GetName

Learn More:

  • Control Stack Depth


Control Stack Depth [Enterprise Architect User Guide]

Control Stack Depth

When recording particularly high-level points in an application, the stack frame count can result in a lot of information being collected; to achieve a quicker and clearer picture, it is better to limit the stack depth on the toolbar of either:

  • The Breakpoint and Markers window or
  • The Record & Analyze window

Access: Analyzer | Record | Recorder

Topics:

Topic

Detail

See also

Usage

Set the recording stack depth in the numerical field on the toolbar of Breakpoints and Markers window or the Record & Analyze window

By default, the stack depth is set to four frames

The depth is relative to the stack level where the Debugger first encountered the recording marker; so, when recording begins, if the stack level is 6 and the stack depth is set to 3, the Debugger will record the levels between 6 and 9

For situations where the stack is very large, it is recommended that you first use a low stack depth of 2 or 3 and gradually increase it if necessary to expand the picture

Recorder Toolbar

Breakpoint & Markers

Control the Recording Session


Place Recording Markers [Enterprise Architect User Guide]

Place Recording Markers

This section explains how to place record markers, which enable you to silently record code execution between two points. The recording can be used to generate a Sequence diagram.

As this process records the execution of multiple threads, it can be particularly useful in capturing event driven sequences (such as mouse and timer events).

Access: Analyzer | Breakpoints and Markers

Use To:

  • Set recording markers, to define what is to be recorded during code execution in order to generate a Sequence diagram

Topics:

Topic | Link
Different recording markers can be used for recording the execution flow; see the related links for information on the properties and usage of these markers | Marker Types Set Record Markers
How to manage breakpoints in the Breakpoint & Markers window | The Breakpoint & Markers Window
How to activate and deactivate markers | Breakpoint and Marker Management
Working with Marker Sets - when you create a breakpoint or marker, it is automatically added to a marker set, either the Default set or a set that you create for a specific purpose | Working with Marker Sets Recording Activity for a Class

Notes:

  • The Breakpoint and Marker Management topic (Software Engineering) covers a different perspective

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Recording Execution


Set Record Markers [Enterprise Architect User Guide]

Set Record Markers

Markers are set in the source code editor. Like breakpoints, they are placed on a line of code; when that line of code executes, the Execution Analyzer performs the code execution recording action appropriate to the marker.

Access: Click on the Class containing code: F12

How to:

To set a recording marker, follow the steps below:

Step | Action | See also
1 | Press F12 to open the source code to debug, in the integrated source code editor | The Source Code Viewer
2 | Find the appropriate code line and right click in the left (Breakpoint) margin to bring up the breakpoint/marker context menu; select the required marker type: VEA Marker selection | Marker Types
3 | If a Start Recording Marker has been set, you must also set an End Recording Marker |


Marker Types [Enterprise Architect User Guide]

Marker Types

Recording markers are similar to breakpoints; however, instead of breaking execution as it does at a breakpoint, the debugger takes the action defined by the type of marker. If the marker is denoted as a recording start point, the debugger immediately begins to trace all executed calls from that point for the breaking thread. Recording is stopped again when either the thread that is being captured terminates or the thread encounters a recording end point.

Recording markers are set in the source code editor. If you right-click on the breakpoint margin at the point to begin recording, a context menu displays that enables you to select the type of a marker.

Use To:

  • Set Start and End points for recording
  • Set Markers for a Single Method
  • Set Stack Trace Markers

Reference:

Marker

Detail

See also

Start Recording marker

End Recording marker

Select the Add Start Recording Marker option, then right-click on the breakpoint margin at the point to stop recording and select the Add End Recording Marker context menu option; the markers are shown below:

When the debugger is executed it continues to run the thread, recording a stack history until either the End Recording marker is encountered or the thread terminates, unlike normal breakpoints where the debugger halts and displays the line of code

In order to limit the amount of information being collected, you can control the stack depth being recorded

Breakpoints and Markers

Analyzer Script Editor

Control Stack Depth

Stack Auto-Capture marker

stack marker in editor

(Native Code only) Stack markers enable you to capture any unique stack traces that occur at a point in an application; they provide a quick and useful picture of where a point in an application is being called from

To insert a marker at the required point in code, right-click on the line and select the Add Stack Auto Capture Marker context menu option

Each time the debugger encounters the marker it performs a stack trace; if the stack trace is not in the recording history, it is copied, and the application continues running

Method Auto Record marker

A Method Auto Record marker enables you to record activity for a particular function during a debug session; the debugger records any function calls executed after the marker point, and always stops recording when this function exits

The function marker combines a Start Recording marker and an End Recording marker in one

Learn More:

  • Set Record Markers
  • Recording Activity for a Class

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Recording Execution | Method Record Marker


The Breakpoints & Markers Window [Enterprise Architect User Guide]

The Breakpoints & Markers Window

The Breakpoints & Markers window enables you to apply control to Visual Execution Analysis when recording execution to generate Sequence diagrams.

Access: Analyzer | Breakpoints & Markers

Topics:

Topic | Detail | See also
Usage | Use the Breakpoints & Markers window to enable, disable and delete markers, and manage them as sets You can organize how the markers are displayed, either in list view or grouped by file or Class | Breakpoint and Marker Management Working with Marker Sets

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Recording Execution


Working with Marker Sets [Enterprise Architect User Guide]

Working with Marker Sets

Marker sets enable you to create markers as a named group, which you can reapply to a code file for specific purposes.

You can perform certain operations from the Breakpoints & Markers window alone, but to understand and use markers and marker sets you should also display the appropriate code file in the Source Code Viewer (click on the Class element and press (F12)).

Access: Analyzer | Breakpoints & Markers: Set Options toolbar icon

Topics:

Topic

Detail

See also

Example of Use

You might create a set of Method Auto Record markers to record the action of various functions in the code, and a set of Stack Capture markers to record the sequence of calls that cause those functions to be called

You could then create Sequence diagrams from the recordings under each set

Marker Types

Create a Marker Set

To create a marker set from the Breakpoints & Markers window, click on the drop-down arrow on the Set Options icon ( VEA-BPSetOptions) and select the New Set option

The New Breakpoint Marker Set dialog displays; in the Enter New Set Name field, type a name for the set, and click on the Save button

The set name displays in the text field to the left of the Set Options icon

Alternatively, you can either:

  • Create a Class Activity marker set or
  • Select the Save as Set option from the Set Options drop-down, to make an exact copy of the currently-selected set, which you can then edit

Recording Activity for a Class

Accessing Sets

To access a marker set, click on the drop-down arrow on the text field to the left of the Set Options icon, and select the required set from the list

The markers in the set are listed in the Breakpoints & Markers window

You would normally load a marker set prior to the point at which an action is to be captured

For example, to record a sequence involving a particular dialog, when you begin debugging you would load the set prior to invoking the dialog; once you bring up the dialog in the application, the operations you have marked are recorded

Add Markers to Set

To add markers to a marker set, add each required marker to the appropriate line of code in the Source Code Viewer

The marker is immediately added to whichever set is currently listed in the Breakpoints & Markers window

Each marker listed on the dialog has a checkbox in the Enabled column; newly-added markers are automatically enabled, but you can disable and re-enable the markers quickly as you check the code

Set Record Markers

Storage of Sets

When you create a marker set it is immediately saved within the model; any user using the model has access to that set

However, the Default set, which always exists for a model, is a personal workspace, is not shared and is stored external to the model

Delete a Marker from a Set

Right-click on the marker and select the Delete Breakpoint context menu option

Delete a Set

If you no longer require a marker set, access it on the Breakpoints & Markers window and select the Delete Selected Set option from the Set Options drop-down list

You can also clear all user-defined marker sets by selecting the Delete all sets option; a prompt displays to confirm the deletion

Notes:

  • Marker Sets are very simple and flexible but, as they are available for use by any user of the model, they can be easily corrupted; consider the following guidelines:
  • When naming a set, use your initials in the name and try to indicate its use, so that other model users can recognize its owner and purpose
  • When using a set other than Default, avoid excessive experimentation so that you don't add lots of ad-hoc markers to the set
  • Make sure you are aware of which marker set is exposed in the Breakpoints & Markers window, as you can easily inadvertently add markers to the set that are not relevant to the code file the set was created for
  • In any set, if you have added markers that don't have to be kept, delete them to maintain the purpose of the set; this is especially true of the Default set, which can quickly accumulate redundant ad-hoc markers

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Recording Execution | Creating a Marker Set
  • (Alt+F1) | Execution Analysis | Recording Execution | Enable a Marker Set


Recording Activity for a Class [Enterprise Architect User Guide]

Recording Activity For a Class

In addition to setting breakpoints and markers in the code editor, or creating a marker set through the Breakpoints and Markers window, you can record all the operations of a Class or a subset using the Class Markup Selection dialog to create a marker set of record markers for those operations. These marker sets are also available to all users of the model.

Access: Project Browser Class context menu | Execution Analyzer | Markup Class For Recording

Reference:

Field

Usage

See also

Existing marker set

Select to change the operations, marker types or stack depth of an existing marker set

New marker set

Select to create a new marker set

Name

Type the name of the marker set to create or edit

Operation check boxes

All checkboxes default to selected; click on the checkbox against each operation that you do not want to record

Click again on the checkbox against any excluded operation that you do now want to record, to re-select it

Include disabled operations

Select this option to set a recording marker against all operations, but disable all those that you have not specifically selected above

In the Breakpoints & Markers window, you can then enable these markers individually or as a whole, rather than enabling them by editing the marker set

Working with Marker Sets

Marker Type

Click on the drop-down arrow and select the type of marker to set against each of the selected operations

The marker type specifies the action to take when the process encounters that marker on each operation:

  • Record function
  • Record stack trace
  • Break execution

Marker Types

Limit recording frame depth

Set the stack depth to limit the recording, to avoid ultimately producing Sequence diagrams that are too complicated to read

Control Stack Depth

OK

Click to store the marker set under the name you have specified; the set can then be loaded either before or during a session, from the Breakpoint & Markers window toolbar

Breakpoint and Marker Management

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Recording Execution | Automated Set Creation


Control the Recording Session [Enterprise Architect User Guide]

Control the Recording Session

The Record & Analyze window enables you to control a recording session. The control has a toolbar, and a history window that displays the recording history as it is captured. Each entry in this window represents a call sequence made up of one or more function calls.

Access: Analyzer | Record | Recorder

You must also open the Execution Analyzer window (Analyzer | Execution Analyzer), which lists all the scripts in the model; make sure you select and activate the appropriate script for the recording.

Learn More:

  • Recorder Toolbar
  • Start Recording
  • The Recording History


Start Recording [Enterprise Architect User Guide]

Start Recording

You start a recording by selecting the Recording icon on the Record & Analyse window toolbar. However, before you start recording, select the package or Class under which to generate the Sequence diagram, in the Project Browser

The Record dialog displays, on which you can optionally select:

  • A marker set to use
  • A State Transition diagram to record during the session; the Execution Analyzer captures instances of the Class that the State Machine refers to and calculates the State whenever a function in the recorded stack exits
Field/Button | Detail | See also
Using record set: | Recording markers determine what is recorded If you have a recording set to use, click on the drop-down arrow and select it | Working with Marker Sets
Using Statechart / Diagram: | The recording can also capture changes in State transitions If you have a State Machine diagram to use you can browse for and select the diagram, using the State Transition Recorder dialog | Reporting State Transitions Reporting a State Machine
OK | Click on this button to invoke the start screen of the application to be recorded The application screen should have a Start or Run button; click on this to execute the application When the application has run for an an appropriate period of number of cycles, click on the Stop or Cancel button The execution is recorded and you can generate the Sequence diagram from this record | Generating Sequence Diagrams

Notes:

  • The State Machine diagram must exist as a child of a Class, and can exist anywhere in the model; wherever possible, it should be created as a child of the Class to which it relates


Recorder Toolbar [Enterprise Architect User Guide]

Recorder Toolbar

The Record & Analyze window toolbar provides the facilities for starting, stopping and moderating an execution analysis recording session.

Reference:

Icon

Description

See also

VEA-Record

The Recording icon is enabled when the active Analyzer Script is configured for debugging

Use this icon to launch and record the application described in the script

You can optionally select a record marker set and / or a State machine to use during the recording

Start Recording

Recording Activity for a Class

VEA-Attach

The Recording (attach to process) icon is enabled even if no Analyzer Script exists

When you use this icon, a prompt displays to select a process to record and a debugging platform to use

You can also optionally select a record marker set and / or a State machine to use during the recording

Start Recording

Recording Activity for a Class

VEA-ManualRec

Use the Manual Record icon to perform ad-hoc recording of the current thread during a debug session

Used in conjunction with the 'step' buttons of the debugger; each function that is called due to a step command is logged to the history window

This icon is only enabled if no recording is taking place and you are currently at a breakpoint (that is, debugging)

VEA-AutoRec

Use the Auto Record Selected Thread icon to perform ad-hoc auto-recording during a debug session

When you select this icon, the Analyzer begins recording and does not stop until either the program ends, you stop the debugger or you click on the Stop icon

This icon is only enabled if no recording is taking place and you are currently at a breakpoint (that is, debugging)

VEA-StepThru

Use the Step Through icon to step into a function, record the function call in the History window, and step back out

Enabled for manual recording only

Step Through Function Calls

VEA-Stop

Use the Stop Recording icon to stop recording the execution trace

VEA-Depth

Use this field to define the marker set's recording stack depth - the number of frames from the point recording began

Marker Types

VEA-ShowRec

Select the Show/Hide lines during recording icon to show live line-by-line execution in the code editors as the program runs

This icon is disabled if marker sets are in use

VEA-RecOpen

Use this icon to select an XML file from which to load a previously-saved recording history

VEA-RecSave

Use the Save Recording History to file icon to save the recording history to an XML file

Generating Sequence Diagrams

VEA-GenDgm

Use the Generate Sequence Diagram from recording icon to generate a Sequence/State diagram from the Execution Analyzer trace

Generating Sequence Diagrams

VEA-GenTDD

Use the Testpoints icon to generate a TestPoints diagram from the Execution Analyzer trace, including Classes, Test Cuts and a Test Set that can be used with the Testpoint facility

Testpoint Management

Combine Testpoints


Generating Sequence Diagrams [Enterprise Architect User Guide]

Generating Sequence Diagrams

This topic describes what you might do with the recording of an execution analysis session.

Access: Analyzer | Record | Recorder

Use to:

  • Generate a Sequence diagram from a recorded execution analysis session, for:
  • all recorded sequences or
  • a single sequence in the session
  • Save the recorded sequence to file
  • Retrieve the saved recording and load it into the Record & Analyze window

Reference:

Action

Detail

See also

Generate a diagram

Select the appropriate package in the Project Browser, in which to store the Sequence diagram

To create the diagram from all recorded sequences, either:

  • Click on the Create Sequence Diagram icon ( [image] ) in the Record & Analyze window toolbar, or
  • Right-click on the body of the window and select the Generate Sequence Diagram context menu option

To create the diagram from a single sequence, either:

  • Select the sequence and click on the Create Sequence Diagram icon ( [image] ) in the Record & Analyze window toolbar, or
  • Right-click on the sequence and select the Generate Diagram from Selected Sequence context menu option

The Recording History

Recorder Toolbar

Working With Recording History

Save a recorded sequence to an XML file

Click on the sequence and click on the Record & Analyze window toolbar Save icon ( Saveicon)

Recorder Toolbar

Access an existing sequence XML file

Either:

  • Click on the toolbar Open icon ( [image] ), or
  • Right-click on a blank area of the screen and click on the Load Sequence From File context menu option

The Windows Open dialog displays, from which you select the file to open


Reporting State Transitions [Enterprise Architect User Guide]

Reporting State Transitions

This section describes how you can generate Sequence diagrams that show transitions in state as a program executes.

Use to:

  • Generate Sequence diagrams that report user-defined transitions in state as a program executes (as shown in the example generated diagram below)

    State Sequence Diagram

Topic | Link
Create a State Machine under the Class to be reported | Reporting a State Machine
Set the constraints against each State to define the change in state to be reported | Recording and Mapping State Changes


Reporting a State Machine [Enterprise Architect User Guide]

Reporting a State Machine

A State Machine can be used to illustrate how States change during the execution of an application, explicitly describing the transitions from State to State. You can show these State transitions on the Sequence diagrams you generate in Execution Analysis.

Topic

Detail

See also

Process

Firstly you create a State Machine to model all the valid system states, as a child of the appropriate Class element, and on the State Machine you create the State elements that correspond to any states to be captured for your Class

You then set constraints in the States to record and map the State changes

When you record code execution for the Class, you set an option in the Record dialog and browse for the State Machine using the State Transition dialog

The State Transition dialog presents a list of State Machines for the entire model, in which you locate and select the appropriate diagram (see the Example below)

When you generate the Sequence diagram, it depicts not only the sequence but changes in State at the various points in the sequence; each Class instance participating in the detection process is displayed with its own lifeline

State Machines

Recording and Mapping State Changes

Start Recording

Reporting State Transitions

Example

The State Machine below, called Stations, shows the different States within the Melbourne Underground Loop subway system

A train traveling on the subway network can be stopped at any of the stations represented on the State Machine

The Stations State Machine is a child of the CTrain Class

VEA - State Machine

When you browse for the diagram in the State Transition Recorder dialog, the hierarchy shows only the root package, parent Class and child Sub Machine and diagram; no other model components are listed


Recording and Mapping State Changes [Enterprise Architect User Guide]

Recording and Mapping State Changes

This topic discusses how to set constraints against each State in the State Machine under a Class, to define the change in state to be recorded.

Topics:

Topic

Detail

See also

Example

The State Properties dialog shown below is for the State called Parliament; the Constraints tab is open to show how the State is linked to the Class CXTrain

A State can be defined by a single constraint or by many; in the example below the State Parliament has two constraints:

State Constraints - Turquoise

The values of constraints can only be compared for elemental, enum and string types

The CXTrain Class has a member called Location of type int, and a member called Departing.Name of type CString; what this constraint means is that this State is evaluated to true when:

  • an instance of the CXTrain Class exists and
  • its member variable Location has the value 0 and
  • the member variable Departing.Name has the value Parliament

Reporting a State Machine

Operators in Constraints

There are two types of operators you can use on constraints to define a State:

  • Logical operators AND and OR can be used to combine constraints
  • Equivalence operators {= and !=} can be used to define the conditions of a constraint

All the constraints for a State are subject to an AND operation unless otherwise specified; you can use the OR operation on them instead, so you could rewrite the constraints in the above example as:

Location=0 OR

Location=1 AND

Departing.Name!=Central

Below are some examples of using the equivalence operators:

Departing.Name!=Central AND

Location!=1

Notes:

  • Quotes around strings are optional; the comparison for strings is always case-sensitive in determining the truth of a constraint

Learn more:

  • Reporting a State Machine


Profiling Native Applications [Enterprise Architect User Guide]

Profiling Native Applications

Access: Analyzer | Profile

Topics:

Topic

Detail

See also

Visual Execution Profiler

The Visual Execution Profiler enables you to quickly report on:

  • The most frequently called functions in a running application
  • Tasks in an application that are taking more time than expected
  • Which functions are taking the most time in an application

The Profiler only works with MS Native Windows applications, but can be used under WINE (Linux and Mac) to debug standard Windows applications deployed in a WINE environment

The Profiler can generate a report that shows how these functions are called in relation to the application; the following image shows how one function is taking most of the overall time recorded, and how that is broken up into some of the functions that it calls

Notes:

  • The Profiler, or sampler, is available in the Enterprise Architect Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions

Learn More:

  • System Requirements
  • Getting Started
  • Profiler Operation


System Requirements [Enterprise Architect User Guide]

System Requirements

Profiles can monitor calls in an application that is configured to be debugged in the Execution Analyzer.

Options:

Profiles can be recorded by:

  • Executing an existing Analysis script for an application, or
  • Attaching to a running process

The latter option is useful if the development application being analysed:

  • Spawns from a call from another application (such as Winword.exe)
  • Is running as a Service
  • Is best monitored at a known point of processing (e.g. after a user interaction)

Topics:

Topic

Detail

See also

Prerequisites

The Profiler requires an Analyzer Build & Debug script for a C, C++ or Visual Basic application that has been compiled with the Microsoft™ Native compiler; note that this requires a PDB file to be available

The Profiler can sample both debug and release configurations of an application, provided that the PDB file for each executable exists and is up to date

Debugging

Microsoft C++ and Native (C, VB)

General Setup

Learn more:

  • Getting Started
  • Profiling Native Applications

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Profiling Native Code


Getting Started [Enterprise Architect User Guide]

Getting Started

Access: Analyzer | Profile

Topics:

Topic

Detail

See also

Abstract

The Profiler operates by taking samples of a process at intervals of up to 250 milliseconds

At these intervals the Profiler interrupts the process and collects stack information for all threads running at that time; this information is sent back to Enterprise Architect where it is collected sorted and and stored

You can pause and resume profiling at any time during the session, or clear any sample data collected and begin again

If you stop the Profiler and the process is still running, you can quickly attach to it again

Toolbar Options:

Icon

Action

See Also

Profstart

(When an application is configured for the package) create the Profiler process, which launches the configured application

Managing Scripts

Profattach

Profile an application that is already running

When the application is running, pause and resume sample capture

Pausing sampling enables the Report and Erase buttons

Profstop

Stop the Profiler process; if any samples have been collected, the Report button is enabled

Profreport

Generate a report on the current number of samples collected

Profiling Native Application

Profint

Set the interval, in milliseconds, at which samples are taken of the target process; the range of possible values is 1 - 250

Setting Options

Profopt

Set Profiler options, using a drop-down menu; the options are:

  • Load Report from Disk - load and display a previously-generated report from an XML disk file
  • Analyzer Scripts ( Shift+F12 ) - display the Execution Analyzer window to enable creation or editing of scripts and debug configuration
  • Start Sampling Immediately - begin sample collection immediately upon either process start (main thread entry point executed) or attachment of process by Profiler
  • Capture Debug output - capture any appropriate debug output and redirect it to the Enterprise Architect Output window
  • Stop Process on Exit - select to terminate the target process when the Profiler is stopped

Build

Proferase

Erase the collected data

scenHelp

Display the Help topic for this window


Start & Stop the Profiler [Enterprise Architect User Guide]

Start & Stop the Profiler

Topics:

Topic | Detail |  | See also
Usage | For most debugging operations it is necessary to have first configured an Execution Analyzer Script that typically defines the application to build, test and debug, and any sequence recording options It is possible to use the Profiler without doing any of this by using the Attach to Process button If the application to profile is the one defined in the current package, use the Launch button |  |
Buttons | Profstart | (When an application is configured for the package) create the Profiler process, which launches the configured application | Managing Scripts
 | Profattach | Profile an application that is already running
 | Profstop | Stop the Profiler process


Profiler Operation [Enterprise Architect User Guide]

Profiler Operation

Topics:

Topic

Detail

See also

Usage

Enterprise Architect creates a Profiler process whenever you click on the Launch or Attach to Process button on the Profiler window toolbar; this process operates by collecting samples from the stacks of every thread in the target process

The sampler process exits if you click on the Stop button, if the target application terminates, or if you close the current model

You can turn sample collection on and off at any time during a session

When sampling is turned on or resumed, the Profiler process becomes active and samples are collected from the target; resuming sampling collects completely new samples

The Profiler process idles if sampling is turned off or paused during a session. The Report and Erase buttons then become enabled

Click on the Report button to produce a call graph summary similar to that in the Profile Native Applications topic; this report can be saved to file

Click on the Erase button to discard any samples currently collected for the target

Profile Native Applications


Setting Options [Enterprise Architect User Guide]

Setting Options

Topics:

Topic

Icon

Detail

See also

Interval

Profint

Set the interval, in milliseconds, at which samples are taken of the target process; the range of possible values is 1 - 250

Profile Options

Profopt

Set Profiler options, using a drop-down menu; the options are:

  • Start Sampling Immediately - begin sample collection immediately upon either process start (main thread entry point executed) or attachment of process by Profiler
  • Capture Debug output - capture any appropriate debug output and redirect it to the Enterprise Architect Output window
  • Stop Process on Exit - select to terminate the target process when the Profiler is stopped


Save and Load Reports [Enterprise Architect User Guide]

Save and Load Reports

Topics:

Topic | Detail | See also
Usage | The Profiler Reports can be saved in either binary format or xml format.; save the report using the toolbar above the report (Stack) view To load a report, use the Profiler Toolbar Options button Profopt and select the Load Report From Disk option |


Save Report in Team Review [Enterprise Architect User Guide]

Save Report in Team Review

You can save any current report as a resource for a Category, Topic or Post in the Team Review. The report can then be shared and reviewed at any time as it is saved with the model.

Access: Team Review Context Menu | Share Resource | Add Active Profiler Report

Use to:

  • Preserve a profiler report to compare against future runs
  • Allow other people to investigate the profile

Learn More:

  • (Team Review) Context Menu


Object Workbench [Enterprise Architect User Guide]

Object Workbench

This section describes the Object Workbench, a tool in Enterprise Architect debugging that enables you to create your own Class workbench instances and invoke methods on them.

Topic | Link
Setup requirements for the workbench | Workbench Setup
Overview of the workbench as a debugger tool | How it Works
How to create and delete workbench instances | Create & Delete Workbench Instances
How to invoke methods to record the Stack trace and produce Sequence diagrams | Invoke Methods


Workbench Setup [Enterprise Architect User Guide]

Workbench Setup

This topic describes the requirements for setting up the Object Workbench on Java and Microsoft .NET.

Access: Analyzer | Execution Analyzer | double-click on script | Debug | Workbench

Topics:

Topic

Detail

See also

Platforms Supported

The Workbench supports the following workbench platforms:

  • Microsoft .NET (version 2.0 or later) excluding native C++, C and VB
  • Java (JDK 1.4 or later)

The Execution Analysis script for the package must have a debugger configured

Setup for Debugging

Microsoft .NET Workbench

The .NET workbench requires an assembly, which is used to create the workbench items

You specify the path to the assembly on the Workbench page of the Analyzer Script

There are two constraints in using the .NET workbench:

  • Members defined as struct in managed code are not supported
  • Classes defined as internal are not supported

General Setup for .NET

Java Workbench

The Java workbench uses the Virtual Machine settings configured in the Analyzer Script Debug page to create the JVM

General Setup for Java

Learn more:

  • How it Works
  • Create & Delete Workbench Instances


How it Works [Enterprise Architect User Guide]

How it Works

The Workbench is a tool in Enterprise Architect Debugging, enabling you to create your own variables and invoke methods on them. Stack trace can be recorded and Sequence diagrams produced from the invocation of such methods. It provides a quick and simple way to debug your code.

Topics:

Topic

Detail

See also

Mode

The Workbench operates in two modes:

  • Idle mode - When the Workbench is in idle mode, instances can be created and viewed and their members inspected
  • Active mode - When methods are invoked on an instance, the Workbench enters Active mode and the displayed instances change if the debugger encounters any breakpoints; if no breakpoints are set, then the instances do not change and the Workbench immediately returns to Idle mode

Logging

The results of creating instances and the results of calls on their methods are displayed in the Debug Output window

Show Output From Debugger

Learn More:

  • Workbench Setup
  • Create Workbench Variables
  • Invoke Methods


Create & Delete Workbench Instances [Enterprise Architect User Guide]

Create & Delete Workbench Instances

Topic under construction

This topic explains how to create and delete a workbench instance for any Class in your model.

Access: Project Browser Class context menu | Execution Analyzer | Create Workbench Instance of Class ( Ctrl+Shift+J )
Diagram Class context menu | Execution Analyzer | Create Workbench Instance of Class

Topics:

Topic

Detail

See also

Naming the Workbench

Select the Create Workbench Instance of Class option

The Workbench dialog displays

Type in a name for the new instance (for example, Catherine); each instance name must be unique for the workbench

Choosing a Constructor

Click on the Create button

The following dialog displays:

Select the constructor from the drop-down list and fill in any parameters required

Click on the Invoke button to commit the workbench instance

If you do not define a constructor, or define a single constructor taking no arguments, the default constructor or the defined constructor is automatically invoked

The instance then displays in the Workbench window, showing the variables of the instance in a hierarchy of the type and value of the instance and of any members

Delete Workbench Instances

You can delete instances using the Delete shortcut menu on any instance on the Workbench

If all instances are deleted, the debugger is shut down and the Workbench window is closed


Invoke Methods [Enterprise Architect User Guide]

Invoke Methods

Topics:

Topic

Detail

See also

Access

On the Workbench window, right-click on the instance on which to execute a method, and select the Invoke context menu option

Choose Method

A list of methods for the type are presented in a dialog; select a method from the list and click on the Invoke button

Note that all methods listed are public; private methods are not available

Supply Arguments

In the example, the instance or variable Rob has been created, of type MyClassLibrary.CRobert, and the method AddFriends invoked that takes an array of CPerson objects as its only argument

You now supply to it three other Workbench instances: Fred, John and William

Arguments

In the dialog above, type any parameters required by the constructor:

  • Literals as arguments
  • Text: abc or "abc" or "a b c"
  • Numbers: 1 or 1.5
  • Objects as arguments

    If an argument is not a literal then you can supply it in the list only if you have already created an instance of that type in the workbench; you do this by typing the name of the instance as the argument

    The debugger checks any name entered in an argument against its list of workbench instances, and substitutes that instance in the actual call to the method
  • Strings as arguments

Surrounding strings with quotes is unnecessary as anything you type for a string argument becomes the value of the string; for example, the only time you should surround strings with quotes is in supplying elements of a string array, or where the string is equal to the name of an existing workbench instance

"A b c"

"a b $ % 6 4"

A b c d

As 5 7 ) 2 === 4

  • Arrays as arguments

Enter the elements that compose the array, separated by commas

Type Arguments

String( ) one,two,three,"a book","a bigger book"

CPerson( ) Tom,Dick,Harry

If you enter text that matches the name of an existing instance, surround it in quotes to avoid the debugger passing the instance rather than a string

Invoke

Having chosen the constructor and supplied any arguments, click on the Invoke button to create the variable

Output confirming this action is displayed in the Output tab

Show Output From Debugger


Unit Testing [Enterprise Architect User Guide]

Unit Testing

Enterprise Architect supports integration with unit testing tools in order to make it easier to develop good quality software.

In sequence:

  • You download and install the NUnit and JUnit applications (JUnit - http://www.junit.org/ NUnit - http://www.nunit.org/index.php?p=home) - Enterprise Architect does not include these applications in the installer
  • Enterprise Architect helps you to create test Class stubs with the JUnit and NUnit transformations
  • You define your test code within the Class stubs
  • You set up and run a test script against any package
  • All test results are automatically recorded inside Enterprise Architect

Learn More:

  • JUnit Transformation
  • NUnit Transformation
  • Set Up Unit Testing
  • Add Testing Command
  • Run Unit Tests
  • Record Test Result

Learning Center topics:

  • (Alt+F1) | Execution Analysis | xUnit Tests


Set Up Unit Testing [Enterprise Architect User Guide]

Set Up Unit Testing

This topic explains the actions you should take in setting up Unit Testing, after having downloaded and installed the JUnit and/or NUnit applications.

Topics:

Topic

Detail

See also

Create Unit Test Stubs

By using the JUnit or NUnit transformations and code generation you can create test method stubs for all of the public methods in each of your Classes

( TestFixture )

public class CalculatorTest

{

( Test )

public void testAdd(){

}

( Test )

public void testDivide(){

}

( Test )

public void testMultiply(){

}

( Test )

public void testSubtract(){

}

}

Unit Testing

JUnit Transformation

NUnit Transformation

Generate Source Code

Define Test Cases

Write your unit test in the generated code stubs (either in Enterprise Architect or your preferred IDE)

The following is an NUnit example in C#, although it could also be any other .NET language, or Java and JUnit

( TestFixture )

public class CalculatorTest

{

( Test )

public void testAdd(){

Assert.AreEqual(1+1,2);

}

( Test )

public void testDivide(){

Assert.AreEqual(2/2,1);

}

( Test )

public void testMultiply(){

Assert.AreEqual(1*1,1);

}

( Test )

public void testSubtract(){

Assert.AreEqual(1-1,1);

}

}

Alternatively, if you have not performed an xUnit transformation, you can reverse engineer the above code into Enterprise Architect so that Enterprise Architect can record all test results against this Class

Compile Your Code

Ensure the source code being tested is compiled without errors, so that the test scripts can be run against it

Set up the Test Scripts

Set up the Test scripts against the required package, and then run the tests

Add Testing Command

Run Unit Tests


Run Unit Tests [Enterprise Architect User Guide]

Run Unit Tests

On running a test script you generate test results that are stored as Test Cases against the Classes being tested.

Access: Analyzer | Test | Run Test Script

Topics:

Topic

Detail

See also

Run Tests

Select the appropriate package in the Project Browser

Select the Run Test Script option to run the test script you previously set up for that package, in the Execution Analyzer

Set Up Unit Testing

Add Testing Command

View Results

The results of xUnit tests are displayed in the Output window, identifying which tests have run and which of these have failed

The results also show which method failed and the file and line number the failure occurred at

Double-click on an error message; Enterprise Architect opens the editor to that line of code, enabling you to quickly find and fix the error

Enterprise Architect also records the run status of each test against the Class being tested; these are stored in the element Test Cases

A diagram containing the Class can be set to display these Test Cases, by exposing the test scripts compartment on the diagram elements

Record Test Results

Show Test Scripts Compartment


Record Test Results [Enterprise Architect User Guide]

Record Test Results

Enterprise Architect is able to automatically record all results from tests through a testing script in Enterprise Architect.

Topics:

Topic

Detail

See also

Process

In order to use this feature, you must reverse engineer the test Class into the package containing your test script

Once your model contains your test Class, on the next run of the test script Enterprise Architect adds Test Cases to the Class for each test method found; on this and all subsequent test runs all Test Cases are updated with the current run time and whether they passed or failed, as shown below:

The error description for each failed test is added to any existing results for that Test Case, along with the current date and time

Over time this provides a log of all test runs where each Test Case has failed, which can then be included in generated documentation, resembling the following:

Failed at 05-Jul-2006 1:02:08 PM

expected: <0>

but was: <1>

Failed at 28-Jun-2006 8:45:36 AM

expected: <0>

but was: <2>

Set Up Unit Testing

Importing Source Code

Run Unit Tests


Testpoint Management [Enterprise Architect User Guide]

Testpoint Management

Testpoint Management provides the facility to test and pass or fail application tasks, viewing test results in real time as the program executes and results are saved.

The image shows a Testpoint run in progress. The example was produced using the Example Model that ships with Enterprise Architect

The image shows a Testpoint run in progress. The example was produced using the Example Model that ships with Enterprise Architect

Topics:

Topic

Detail

See also

Overview

You define tests as Class invariants, and as pre/post conditions on operations

Testpoint design and management is performed on a Test Domain diagram, on which you define constraints and group them into sets, which in turn can form suites

The Testpoint interface is contextual, and when an object (Class, Test Cut, Test Set, Test Suite) is selected, the constraints for that object are displayed

In the Testpoint system, the rules that define task behaviors are defined within the model and do not form part of any code base, which has a number of advantages - changing a test condition in other systems can require that the application be re-built; in Enterprise Architect you could stop the run, change a constraint and start the run again without re-building the project

Test Domain Diagram

A Test Domain diagram is a particular diagram designed for use with the Testpoint facility

A Test Domain diagram provides specific elements that can aid in the logical composition of the Tests into Test Sets and Suites

You can perform a Testpoint run on an entire Suite, a single Set or an individual Class

Test Domain Group

Test Cut

Test Set

Test Suite

Combine Testpoints

Testpoint Class

Test conditions are always defined on a Class; invariants are created for the Class itself, and pre- and post-conditions are defined on its operations

These conditions can be aggregated later into sets, but the Classes are the building blocks upon which any sets you create are built

Constraints

The Testpoint facility is based on a programming-by-contract model

The Execution Analyzer uses constraints that you define for a Class and its methods:

  • A Class invariant is evaluated by the Analyzer whenever a method called on an object of the Class completes
  • Pre-conditions defined for a method are evaluated when the method is first called; similarly, Post-conditions are evaluated (at the same time as any Class invariant) when the method completes

In the Testpoint facility, constraints are composed using member and local variables in expressions separated by operands; precedence can be achieved through the use of parentheses, which also permits the construction of complex expressions - you can specify any variable that would be in scope at the time

Elements and members of elements can also form part of the constraint; almost all equivalence operands are supported for primitive types and strings

Testpoint Editor

Testpoint Constraints

An invariant defines the rules or constraints of a Class; it is expected that no objects of the Class nor its methods can break this constraint, thus preserving the state of the object

In the Testpoint facility, constraints are composed in much the same way as conditions are written in code; they rely on and are tied ultimately to the named attributes of the Class

The Execution Analyzer can take a single invariant defined for a Class and test it against every invocation of any method on any instance of that Class; the results can be seen during real time in the Testpoints window

The Testpoints Window

Class Invariant Dialog

Trace Statements

Trace statements are used to output messages during the execution of a program; the Execution Analyzer provides this facility in:

  • Debugging through the use of Tracepoints and
  • Testing through the use of Testpoints

In Testpoints, a trace statement can be associated with a pre- or post- condition; whenever the condition is evaluated, the trace statement is output

You can also group trace statements by level; when you perform a Testpoint run, you can choose the level of trace to be output

Output can be directed to the Testpoints tab of the Output window or to a file, as configured in the Analyzer script for the parent package

In debugging, trace statements are associated with code breakpoints

You can include the values of variables in trace statements, by prefixing the variable name with a special token that lets the debugger know it is not a part of the text; the available tokens are:

  • $ - when the variable is to be interpreted or printed as a string
  • @ - when the variable is a primitive type (int, double, char)

Variables can be qualified - that is, the members of a variable can be printed

You separate member names with a period character ('.'); for example:

The value of the station name = $station.name
Departing passenger count = @passenger.count

The Output Window

Managing Scripts

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Testpoints | Introducing Testpoints


The Testpoints Window [Enterprise Architect User Guide]

The Testpoints Window

The Testpoints window lists the test and trace items for the testpoint object currently selected on a diagram or in the Project Browser.

You can execute, stop and filter the test runs using the window toolbar.

Access: Analyzer | Test | Testpoint Manager

Use to:

  • Review tests and traces for testpoint objects

Reference:

Column

Usage

See also

Tests

Displays the name of the selected Testpoint object and the hierarchy of objects beneath it

The selected object can be a:

  • Class
  • Operation
  • TestCut
  • TestSet or
  • TestSuite

Test Cut

Test Set

Test Suite

Id

If the test object represents an operation, an icon is displayed here when the test run commences, indicating a successful binding of that method's constraints

Invariant

A pencil icon in this column indicates that a Class Invariant is defined for this Class

Double-click on the item to add a constraint (no pencil icon) or edit the existing constraints (pencil icon) on the Class Invariant dialog

Class Invariant dialog

Pre

A pencil icon in this column indicates that a pre-condition is defined for this method

Double-click on the item to add a constraint (no pencil icon) or edit the existing constraints (pencil icon) on the Operation Constraints dialog

Operation Constraints dialog

Post

A pencil icon in this column indicates that a post-condition is defined for this method

Double-click on the item to add a constraint (no pencil icon) or edit the existing constraints (pencil icon) on the Operation Constraints dialog

Operation Constraints dialog

Author

Displays the username of the author of the constraints

Status

During a test run, indicates the last evaluated status of the test - either pass or fail

Evals

During a test run, indicates the number of times the Execution Analyzer has evaluated this test

Passes

During a test run, indicates the number of times the test passed

Fails

During a test run, indicates the number of times the test failed

Last Run By

Displays the username of the last person to run this test

Last Run Date

Displays the date this test was last evaluated

Last Run Result

If the test has previously been run, displays the result of the last run

Parent Collections

Lists any parent collections that include the selected object as part of their design

Double-click this collection to make it the selected object in the left pane

Learn More:

  • The Testpoints Window Toolbar

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Testpoints |
  • Add Class
  • Add Test Cut
  • Add Test Set
  • Add Test Suite


The Testpoints Window Toolbar [Enterprise Architect User Guide]

The Testpoints Window Toolbar

The Testpoint window toolbar enables you to execute, stop and filter the output of a Test run.

Access: Analyzer | Test | Testpoint Manager

Use to:

  • Manage the execution of a test run

Reference:

Action

Usage

See also

Text field

Display the currently-selected test point object

StartTestIcon

Execute the test run

Stoptesticon

Stop the test run

TSToggle

Toggle between showing all items and showing only those items that have constraints

TSToggle2

Toggle between showing all items and showing only operations that have been selected; this button is only enabled when a Testcut is selected

When a Testcut is selected, each of the operations of its Class are displayed with a checkbox; you use this checkbox to select the operations of the Testcut

TPMenu1

Display the Test Option menu, providing the following options:

  • All - Run all tests: include all tests and all trace statements
  • Testpoints Only - Run tests only: exclude trace statements
  • Tracepoints Only - Run trace statements only: exclude tests
  • Trace Level menu:
  • Disabled - All trace statements are excluded
  • Level 1 - Level 1 trace statements are included
  • Level 2 - Level 1 and 2 trace statements are included
  • Level 3 - All trace statements are included
  • Trace Output menu:
  • Prefix With Function Call - Prefix all trace output lines with the executing function name

Helpicon

Display The Testpoints Window help topic

Learn more:

  • Testpoint Management


Class Invariant Dialog [Enterprise Architect User Guide]

Class Invariant Dialog

You use the Class Invariant dialog to define or edit the invariant constraint on a Class that is subject to Testpoint tests. A Class invariant is evaluated by the Analyzer whenever a method called on an object of the Class completes.

Access: Double-click on the Class item in the Testpoints window

Reference:

Field

Usage

See also

Name

Defaults to Invariant

Leave this value or, if required, overtype it with your preferred name

Constraints

Click on the ( ... ) button

The Testpoint Editor dialog displays, listing the conditions currently set on the operation; you can create, delete and re-sequence the conditions on this dialog

Testpoint Editor

Action on Fail

Click on the drop-down arrow and select from the three options:

  • Continue - ignore the failure
  • Break execution - halt the run and display the Stack trace
  • Disable on fail - do not execute the test again

OK

Click on this button to apply your changes

Learn More:

  • The Testpoints Window

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Testpoints | Edit Invariant


Operation Constraints Dialog [Enterprise Architect User Guide]

Operation Constraints Dialog

You use the Operation Constraints dialog to define or edit the pre-conditions and/or post-conditions on an operation in a Testpoint Class that is subject to Testpoint tests.

Pre-conditions defined for a method are evaluated when the method is first called; post-conditions are evaluated (at the same time as any Class Invariant) when the method completes.

Access: Double-click on the operation item in the Testpoints window

Reference:

The dialog contains two sets of the following fields; one set for pre-conditions and one set for post-conditions:

Field

Usage

See also

Constraint

Click on the ( ... ) button

The Testpoint Editor dialog displays, listing the conditions currently set on the operation; you can create, delete and re-sequence the conditions on this dialog

Testpoint Editor

Action on Fail

Click on the drop-down arrow and select from the three options:

  • Continue - ignore the failure
  • Break execution - halt the run and display the Stack trace
  • Disable on fail - do not execute the test again

Testpoint Trace:

The dialog also contains fields for Testpoint Trace statements. Testpoints differ from constraints, being statements that can return the values of variables (similar to a Debug.Print or Session.output statement). They are not set in the code, but stored in the model.

Field

Usage

See also

Trace

(Disabled if the Level field is set to Disabled)

View the current traces and/or, if necessary, type in a new trace statement

If there are several trace statements, you can list the statements in a vertical list rather than a comma-separated string - click on the Browse button

Testpoint Management

Level

Select the required level of trace statement to be output

  • Disabled - no statement output
  • Level 1 - Only Level 1 statements output
  • Level 2 - Both Level 1 and Level 2 statements output
  • Level 3 - Levels 1, 2, and 3 statements output

Learn More:

  • The Testpoints Window

Learning Center topics:

  • (Alt+F1) | Execution Analysis | Testpoints |
  • Edit Pre Condition
  • Edit Post Condition


Testpoint Editor [Enterprise Architect User Guide]

Testpoint Editor

You identify the Testpoint constraints to use on the Class Invariant dialog and the Operation Constraints dialog, but both dialogs call the Testpoint Editor dialog to enable you to:

  • List the existing conditions in a vertical list rather than a comma-separated string (Browse button)
  • Delete a condition applied to the invariant (Delete icon)
  • Create a new condition (New icon, then type the condition in)
  • Change the order in which the conditions are applied (Move Item Up, Move Item Down icons)

Constraint Composition:

Constraints are composed using member and local variables in expressions separated by operands such as:

  • /
  • *
  • %
  • +
  • -
  • >
  • >=
  • <
  • <=
  • OR
  • AND
  • (
  • )

The following is an example Conditional expression that returns a Boolean True/False:

( (x%2) > 1) AND (y >= 10) )

Variables can be scoped by either ‘.’ or ‘->’; for example:

c.Name : c.Names[0] of an array as c.Names[0].Surname= "Smith"

There are two types of operators you can use on constraints:

  • Logical operators AND and OR can be used to combine constraints
  • Equivalence operators '=' and '!=' can be used to define the conditions of a constraint

All constraints are subject to an AND operation unless otherwise specified; you can use the OR operation on them instead, for example:

Location=0 OR

Location=1 AND

Departing.Name!=Central

(a AND b)

(a.b AND ( b.a OR c.a))

Below are some examples of using the equivalence operators:

m_value!="true"

m_value <> 0

m_value[10]="john"

m_value[0][1]=2

Notes:

  • Quotes around strings are optional; the comparison for strings is always case-sensitive in determining the truth of a constraint

Learn more:

  • Testpoint Management


Combine Testpoints [Enterprise Architect User Guide]

Combine Testpoints

Testpoints are applied to a Class. Where functionality requires tests across multiple Classes, you can group the tests together to allow a single test run across the group of Classes.

You group the tests on a Test Domain diagram, either:

  • Manually using the Test Domain Toolbox pages and Project Browser, or
  • Automatically from the results of using the debugger and Record & Analyze window

Topics:

Topic

Detail

See also

Create Test Domain diagram manually

Create a new Test Domain diagram under the required package, and drag a Test Cut element from the Test Domain Toolbox page onto the diagram; give the element an appropriate name, such as the name of the Class it acts on

Drag the Class containing the tests from the Project Browser onto the diagram, and select the 'paste as simple link' option on the Paste Element dialog; create a Dependency connector between the Test Cut element and the Class

(When you select the Test Cut element on the diagram when the Testpoints window is open, the operations of the Class are listed in the window, each followed by a checkbox; you then select the checkbox against each Class operation to include in the Test Cut)

Drag and connect further Test Cut and Class element pairs on the diagram as appropriate

Drag a Test Set element from the Toolbox onto the diagram, and create a Dependency relationship between this element and each of the Test Cut elements; the resulting diagram should resemble the following:

If you want to further combine tests, set up additional Test Set hierarchies and then drag a Test Suite element onto the diagram from the Toolbox; create a Dependency relationship between this element and each of the Test Set elements

When you open the Testpoints window, you can select any element on the diagram to display that element and its hierarchy in the window; you can then execute the test run on your selection

If the selection checkboxes do not display, select the Testcut element on the diagram again

Test Domain Group

Test Cut

Test Set

Test Suite

The Testpoints Window

Generate Test Domain diagram from Sequence Record

To generate a Testpoint Domain diagram automatically:

  • Build and debug your code successfully
  • Work through the process of recording the stack trace to generate a Sequence diagram
  • When you have completed recording (whether or not you display the Sequence diagram), click on the Testpoints icon in the Record & Analyze window toolbar
  • Open the Testpoints window, select any element on the diagram to display that element and its hierarchy in the window, and execute the test run on your selection

You cannot automatically generate a Test Suite element from the Sequence record, only Test Sets, Test Cuts and Classes

Recording Sequence Diagrams

Recorder Toolbar

The Testpoints Window


Test Cut [Enterprise Architect User Guide]

Test Cut

Description:

A Test Cut element is a stereotyped Object element, used internal to Enterprise Architect for defining test sets using the Testpoint code testing facilities.

A task, such as 'Print', might involve operations on different Classes. In order to create a 'Print' test, you would want to include only the 'Print' operations of these Classes and exclude any other operations.

A Test Cut enables you to capture only the operations that represent the behavior (in this case, 'Print') defined for a single Class. You might then place the Test Cut from each of several Classes into a single task as a Test Set.

When you drag a Test Cut element onto a Test Domain diagram, you create a Dependency relationship with the required Class element. As a result, when you select the Test Cut element on the Testpoints Window, the operations of the Class are listed in the window, each with a checkbox. You then select the checkbox against each Class operation to include in the Test Cut.

Toolbox Icon:

Learn More:

  • Test Set
  • The Testpoints Window
  • Combine Testpoints


Test Set [Enterprise Architect User Guide]

Test Set

Description:

A Test Set element is a stereotyped Use Case element used to aggregate one or more groups of methods (Test Cuts), which perhaps span multiple Classes, into a single task. Test Sets can also be aggregated into Test Suites.

You link the Test Cut elements to the Test Set using Dependency connectors.

Toolbox Icon:

Learn More:

  • Test Cut
  • Test Suite
  • Combine Testpoints


Test Suite [Enterprise Architect User Guide]

Test Suite

Description:

A Test Suite element is a stereotyped Use Case element, used to aggregate one or more groups of tasks (Test Sets).

You link the Test Set elements to the Test Suite using Dependency connectors.

Toolbox Icon:

Learn More:

  • Test Set
  • Combine Testpoints


Model Simulation [Enterprise Architect User Guide]

Model Simulation

This section explains how to use the Visual Execution Analyzer to simulate the execution of behavior models. It covers the following topics:

Topic | Link
Overview of the Model Simulator | How It Works
How to set up simulation | Set Up Simulation
How to activate a simulation script | Activate a Simulation
How to run the model simulation | Run Model Simulation
How to set up and use breakpoints | Using Simulation Breakpoints


How It Works [Enterprise Architect User Guide]

How It Works

The Model Simulator is a tool in Enterprise Architect's Visual Execution Analyzer, enabling you to simulate the execution of conceptual model designs containing behavior. It provides a quick and simple way to verify your design's behavior for logical correctness.

Topics:

Topic

Detail

See also

Platforms Supported

The Model Simulator supports the following simulation platform:

  • UML Basic

The Model Simulator currently supports the execution of Activity, Interaction and State Machine models

Set Up Simulation

Learn More:

  • Set Up Model Simulation
  • Run Model Simulation


Set Up Simulation [Enterprise Architect User Guide]

Set Up Simulation

Setting up a model for simulation is a simple process. An Execution Analyzer script is configured for the package containing the required simulation model.

To configure a simulation execution script, you must select the package on the Project Browser, Package Browser, Diagram List or Model Search.

Access: Analyzer | Execution Analyzer (Shift + F12) : New (Toolbar icon)
Analyzer | Execution Analyzer (Shift + F12) : locate and double-click on required script > Simulation

How To:

To set up a model for simulation, using the Execution Analyzer dialog Simulation page, follow the steps below:

Step | Action | See Also
1 | In the Entry Point field, click on the ( ... ) button and select the required entry point for the simulation, and the required Activity, Interaction or State Machine to simulate |
2 | In the Platform field, click on the drop-down arrow and select UML Basic |
3 | If required, select the Record Execution checkbox to record the simulation session | Control the Recording Session
4 | Click on the OK button to save changes |

Notes:

  • If you do not specify an entry point, the simulator attempts to simulate the entire package
  • All simulation elements and relationships must reside within the package configured for simulation

Learn More:

  • How Simulation Works
  • Activate Simulation Script
  • Run Model Simulation
  • Using Simulation Breakpoints


Activate Simulation Script [Enterprise Architect User Guide]

Activate Simulation Script

An Execution Script is configured for a model package defining the simulation parameters. To run the simulation you must first activate the execution script on the Execution Analyzer window.

Access: Project Browser Package Context Menu | Execution Analyzer | Analyzer Scripts...

How to:

To activate a simulation script for execution, follow the steps below:

Step | Action | See Also
1 | In the Execution Analyzer window, select the required execution script Simulation - ActivateScript |
2 | Click on the checkbox to the left of the script to activate it |
3 | Select the Analyzer | Simulation menu option to execute the simulation | Run Model Simulation

Notes:

  • The simulation tool only becomes active when a valid simulation execution script is activated

Learn More:

  • Set Up Simulation


Run Model Simulation [Enterprise Architect User Guide]

Run Model Simulation

You run a model simulation through the Simulation window, by executing the activated simulation script configured for the model package.

Access: Analyzer | Simulation > Output

Topics:

Topic

Detail

See also

Abstract

The simulation executes the model step-by-step, enabling you to validate the logic of your behavior model; the simulation automatically highlights the execution step in the model's diagram

If a branch is encountered in the execution, the simulator prompts you to choose the appropriate path to take in your execution

The Simulation window toolbar icons are explained in the table below

Activate Simulation Script

Icon

Action

See Also

Start the simulator using the activated simulation script

Activate Simulation Script

ProfsampleOn

Pause the simulation

<Slider>

Varies the execution rate of the simulation between 0% and 100%

  • If you select a rate of 100%, the simulator executes the simulation at the fastest possible rate
  • If you select a rate of 0%, the simulator breaks execution at every statement

When the simulation is paused, step over, step in and step out to control the simulator's execution at the required step in the model simulation

Stop the simulation

Notes:

  • The Simulation tool only becomes active when a valid simulation Execution Script is activated

Learn More:

  • Set Up Simulation
  • Using Simulation Breakpoints


Using Simulation Breakpoints [Enterprise Architect User Guide]

Using Simulation Breakpoints

The Simulation Breakpoints window enables you to apply control to the Model Simulation process.

Access: Analyzer | Simulation > Breakpoints

Topics:

Topic | Detail | See also
Abstract | The simulation executes the model step-by-step, enabling you to validate the logic of your behavior model; the simulation halts when it reaches an element defined as a breakpoint The UML elements that can be defined as breakpoints include: Actions, Activities, and States The UML relationships that can be defined as breakpoints include: Interaction Messages The breakpoints are stored as Breakpoint Sets for a given Enterprise Architect project | Run Model Simulation

Icon

Action

See Also

Enables all breakpoints defined in the current Breakpoint Set for the simulation session

Deletes all breakpoints defined in the current Breakpoint Set for the simulation session

Disables all breakpoints defined in the current Breakpoint Set for the simulation session

Adds a breakpoint for the selected element or Sequence message to the current Breakpoint Set

Changes the selected Breakpoint Set for use in the simulation session

Performs Breakpoint Set commands:

  • New Set: Create a new Breakpoint Set
  • Save As Set: Saves the current Breakpoint Set under a new name
  • Delete Selected Set: Deletes the current Breakpoint Set
  • Delete All Sets: Deletes all Breakpoint Sets saved for the project

Learn More:

  • Run Model Simulation


Testing [Enterprise Architect User Guide]

Testing

This section discusses quality control in your project with Enterprise Architect, describing:

Topic | Link
Model Validation Checks - Used to check UML elements, diagrams or packages against known UML rules (identified in configuring validation) and constraints defined within the model, using the Object Constraint Language (OCL) | Model Validation Checks
Testing - Enterprise Architect enables you to create and manage test scripts for model elements, covering unit, integration, scenario, system and acceptance tests | Testing
Testpoint Management - provides the facility to pass or fail application tasks, viewing test results in real time as the program executes and results are saved | TestPoint Management
Integration with the unit testing tools JUnit and NUnit | Unit Testing


Model Validation [Enterprise Architect User Guide]

Model Validation

You use Model Validation to check UML models against known UML rules (which you identify in configuring validation) as well as any constraints defined within the model, using the Object Constraint Language (OCL). You can run Model Validation against a single UML element, a diagram or an entire package.

Access: Project | Model Validation | Validate Selected (Ctrl + Alt + V)

Topics:

Topic

Detail

See also

Validating

Validating a UML:

  • Element validates the element and its children, features (attributes and operations) and relationships (connectors)
  • Diagram validates the diagram itself (for correctness) as well as any elements and connectors within the diagram
  • Package validates the package and all sub-packages, elements, connectors and diagrams within it

Example - Model Violation

The following UML diagram contains several basic violations:

If you run Model Validation on this diagram, Enterprise Architect displays the following violations in the Output window:

  • It contains a UML ExpansionRegion (ExpansionRegion1) that is missing its child input ExpansionNode
  • It contains an invalid self-generalization on Class2 (UML elements cannot be self-generalized)
  • It contains an OCL violation for the anonymous Association (between Class2 and Object1)
  • It contains a UML ExceptionHandler (ExceptionHandler1) that is missing its child input ObjectNode

How To:

To use Model Validation, follow the steps below:

Step

Action

See Also

1

Select the package, diagram or element either from the Project Browser or within an open diagram

2

Select the Validate Selected menu option

Enterprise Architect performs the validation, and displays the results in the Output window (if the Output window does not automatically display, select the View | System Output menu option)

While performing the validation, Enterprise Architect also displays a progress window containing the Cancel Validation button, which enables you to cancel the validation process at any time

Alternatively, select the Project | Model Validation | Cancel Validation menu option

Output Window

Notes:

  • If you double-click on an error in the Output window, you select the diagram element that the error message refers to

Learn More:

  • UML rules
  • Configuring Model Validation


Configure Model Validation [Enterprise Architect User Guide]

Configure Model Validation

Use the Model Validation Configuration dialog to enable and disable the rules that are run with the model validator. You can define additional rules in this dialog from any additional Add-Ins that might be installed besides Enterprise Architect.

Access: Project | Model Validation | Configure

Topics:

Topic

Detail

See also

Usage

Click on the checkbox against each Validation Rule to apply in performing a model validation

When you perform a validation, each violation listed on the Output window has a violation ID of the format MVRxxnnnn, where:

  • MVR stands for Model Validation Rule
  • xx is a hexadecimal number corresponding to the position of the validation rule in the Model Validation Configuration dialog, thus indicating which rule is applied and violated
  • nnnn is the number of the violation message

Therefore:

  • Messages with the ID MVR01nnnn indicate that the Element: Well-Formedness checkbox is selected and a violation of that rule has been detected
  • Messages with the ID MVR0Annnn indicate that the Feature: OCL Conformance checkbox (10th in order on the dialog, or Ath in hexadecimal) is selected and a violation of that rule has been detected

Model Validation

Notes:

  • To disable UML syntax ("The requested connection is not UML compliant"), select the Tools | Options | Diagram option, and in the General panel deselect the Strict UML Syntax checkbox

Learn More:

  • Rules Reference


Rules Reference [Enterprise Architect User Guide]

Rules Reference

Topics:

Topic

Detail

See also

Validation Rules

Model Validation works against a set of validation rules, arranged in the following groups:

  • (Element, Relationship, Feature, Diagram): Well-Formedness
    Checks whether or not an element, relationship, feature or diagram is well-formed; this group of rules includes checks such as whether the item is a valid UML item and whether a diagram contains valid elements within it
  • Element: Composition
    Checks whether or not a UML element contains valid children, whether it contains the right number of valid children, and whether or not the element is missing any required children
  • (Element, Relationship, Feature): Property Validity
    Checks whether or not the item has the correct UML properties defined, and whether the properties contain incorrect or conflicting values
  • (Element, Relationship, Feature): Custom Properties
    Validates an item against any defined constraints in OCL

Well-Formedness

Element: Composition

Property Validity

OCL Conformance


Well-Formedness [Enterprise Architect User Guide]

Well-Formedness

This group of rules checks whether or not an element, relationship, feature or diagram is well-formed. The rules includes checks such as whether the item is a valid UML item and whether a diagram contains valid elements within it.

Reported violations:

Violation ID | Description | Information
MVR010001 | «Element» is not a valid UML Element | The element is not a recognized UML 2.3 element
MVR050001 | «Relationship» is not a valid UML Relationship | The relationship is not a recognized UML 2.3 relationship
MVR050002 | «Relationship» is not legal for «Start Element» --> «End Element» | The relationship between the given start and end elements is not valid for those elements
MVR050003 | «Parent Element»:isLeaf=true and cannot be generalized by «Child Element» | The Generalization relationship cannot exist between parent and child elements because the parent element is defined as a leaf element
MVR050004 | «Child Element»:isRoot=true and cannot generalize «Parent Element» | The Generalization relationship cannot exist between parent and child elements because the child element is defined as a root element
MVR050005 | «Element» cannot generalize self | The element cannot be self-generalized
MVR0B0001 | Statechart violation: «extended information» | The State diagram contains a UML violation; see the extended information for more information about the detected violation


Element Composition [Enterprise Architect User Guide]

Element Composition

This group of rules checks whether or not a UML element contains valid children, whether it contains the right number of valid children, and whether or not the element is missing any required children.

Reported violations:

Error ID | Description | Information
MVR020001 | «Element» is missing required child element «Child Element» | The element is missing a child element of type Child Element
MVR020002 | Invalid UML package child | The element cannot be a direct package child and must be a child of another element (for example: Ports must be children of other elements, and not direct UML package members)
MVR020003 | Invalid child «Child Element name» («Child Element Type») | The child element is invalid on the tested parent element


Property Validity [Enterprise Architect User Guide]

Property Validity

This group checks whether or not an element, relationship or feature has the correct UML properties defined for it and whether they contain incorrect or conflicting values.

Reported violations:

Error ID | Description | Information
MVR030001 | «Element»:«Property» property is undefined | The element property contains no value
MVR030002 | «Element»:«Property» property has invalid value: "«Value»" | The element property contains an invalid value
MVR030003 | «Element»:isLeaf=true and cannot be abstract | The element's isLeaf and isAbstract properties are both set to true, which is invalid
MVR060001 | «Relationship»:«Property» property is undefined | The relationship property contains no value
MVR060002 | «Relationship»:«Property» property has invalid value: "«Value»" | The relationship property contains an invalid value
MVR090001 | Attribute/AssociationEnd mismatch, «Attribute»: «Mismatch description», ... | The given attribute has an associationEnd of the same name but they differ in the listed details

Learn More:

  • Properties Dialog (Element)
  • Connector Properties


OCL Conformance [Enterprise Architect User Guide]

OCL Conformance

This group validates an element, relationship or attribute against any defined constraints in the Object Constraint Language (OCL). OCL is used to describe expressions on UML models, and to express constraints free of side-effects. You can add OCL constraints to any element, relationship or attribute in Enterprise Architect.

Reported violations:

Error ID | Description | Information
MVR040001 | OCL violation: «violated OCL» | The element violates the OCL constraint specified
MVR070001 | OCL violation: «violated OCL» | The relationship violates the OCL constraint specified
MVR0A0001 | OCL violation: «violated OCL» | The attribute violates the OCL constraint specified

Topics:

Topic

Detail

See also

Define OCL Constraints for an Element

You can add OCL constraints to an element using the Properties dialog (Element | Properties); select the Constraints page, click on the Type drop-down arrow and select OCL

To perform an OCL Validation, display the Model Validation Configuration dialog and select the Element: (OCL) Conformance checkbox; any OCL violations are recorded in the Model Validation tab of the Output window

Model Validation Configuration

Model Validation

Define OCL Constraints for a Relationship

You can add OCL constraints to a relationship using the Properties dialog (right-click and select the <type> Properties context menu option); select the Constraints page, click on the Type drop-down arrow and select OCL

To perform an OCL Validation, display the Model Validation Configuration dialog and select the Relationship: (OCL) Conformance checkbox; any OCL violations are recorded in the Model Validation tab of the Output window

Define OCL Constraints for an Attribute

You can add OCL constraints to a feature using the Properties dialog (Element | Attributes); select the Constraints tab, click on the Type drop-down arrow and select OCL

To perform an OCL Validation, display the Model Validation Configuration dialog and select the Feature: (OCL) Conformance checkbox; any OCL violations are recorded in the Model Validation tab of the Output window

Notes:

  • To have a valid OCL constraint, the syntax must be correctly formed; if the expression is not correct, Enterprise Architect displays a message stating that the OCL constraint is not valid


Testing [Enterprise Architect User Guide]

Testing

Topics:

Topic

Detail

See also

Introduction to Testing

Enterprise Architect enables you to create and manage test scripts for model elements, covering unit, integration, scenario, system and acceptance tests; this can include test cases generated from xUnit testing and Testpoint Management

You can import tests from other elements, generate them from scenarios, and generate test documentation and reports; you can also indicate the presence of tests on an element by displaying test information on the element in a diagram

Enterprise Architect enables you to attach arbitrarily complex tests to any model element; keeping the model elements and the testing documentation in one integrated model significantly improves the communication between the test-team and the software developers and architects

The detailed search facilities make it easy to find failing test cases, test cases not run and test cases that have been passed; using the testing and search capabilities, it is easy to navigate through the model and quickly locate problem spots, design flaws and other critical issues

Enterprise Architect is not only a UML Modeling environment, it is also a complete Test Management environment

xUnit Testing

Testpoint Management

Basic Tasks

Simple tasks that you might perform include:

  • Open the Testing Workspace
  • Use the Test Details dialog

The Testing Workspace

The Test Details Dialog

Categories

Typically, you create:

  • Unit tests for things that are being built, such as Classes and components
  • Integration tests to test how components work together
  • System tests to ensure the system meets business requirements
  • Acceptance tests to test user satisfaction, and
  • Scenario tests to test the end-to-end suitability and functionality of the application

Unit Tests

Integration Testing

System Testing

Acceptance testing

Scenario testing

Using Tests

Other tasks that you might perform when working with tests include:

  • Import a scenario as a test
  • Move or copy tests between test types
  • Import a test from other elements
  • Import a responsibility or constraint as a test
  • Create a maintenance item from a test
  • Generate a Test Details report
  • Show test script compartments
  • Create test documentation

Import a Scenario as a Test

Move or Copy Tests Between Test Types

Import a Test from Other Elements

Import a Responsibility or Constraint as a Test

Create a Maintenance Item from a Test

Generate Test Details Report

Show Test Script Compartments

Create Test Documentation

Notes:

  • Most of the tasks identified above relate to a tests for a single element
  • You can make a set of tests available to a number of elements by performing the above tasks on a Test Case element and then associating that Test Case with each of the other elements; the Test Case element also helps to make tests more visible in diagrams, the Project Browser, windows and searches

Learn More:

  • Test Case


The Testing Workspace [Enterprise Architect User Guide]

The Testing Workspace

The Testing window, or Workspace, provides a quick and convenient method of working with element tests. When you select an element in a diagram or in the Project Browser, if the Testing window is visible the lists of tests for that element are loaded ready for modification or addition.

Access: View | More Element Tools | Testing (Alt + 3)

Topics:

Topic

Detail

See also

Using the Testing Workspace

The window has two formats - Item mode and List mode respectively

To toggle between the modes, click on the Show/Hide Properties button in the window toolbar

To add new items, click on the New icon in the window toolbar; in:

  • Item mode, this clears the fields for new data
  • List mode, this displays the Test details dialog

By clicking on the Auto button in Item mode or on the Test details dialog, you can apply an automatic naming/numbering nomenclature that you have previously defined

There are five tabs along the base of the window; one for each of the following types of testing:

  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
  • Scenario testing

The asterisk on a tab indicates that the tab contains saved information; if there is no information for a type of test, or the information has not yet been saved, its tab has no asterisk

The tabs toggle between Item mode and List mode independently

Test Dialog

Use Auto Naming and Auto Counters

Unit testing

Integration testing

System testing

Acceptance testing

Scenario testing

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records
  • The Testing window can be docked to the application workspace

Learn More:

  • Permission List


The Test Details Dialog [Enterprise Architect User Guide]

The Test Details Dialog

The Test Details dialog opens to edit tests when the Testing window is in List mode.

Double-click on an existing test case or click on the New icon in the window toolbar. The Test Details dialog displays.

Access: View | More Element Tools | Testing (Alt + 3)

Notes:

  • Add multiple test cases in one batch using the New and Apply buttons
  • You can format the text in the Description, Input, Acceptance Criteria and Results tabs using the Notes toolbar at the top of the field; this text is also reflected in the Notes window, but cannot be edited there
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records

Learn More:

  • Notes Toolbar


Unit Testing [Enterprise Architect User Guide]

Unit Testing

Use Unit Testing to test Classes, Components and other elements as programmers build them.

Access: View | More Element Tools | Testing > Unit

The Unit testing tab displays in the Testing window by default.

If any Unit tests exist, the first Test item for the element is shown in the Testing window in Item mode, and all items are listed either in the panel to the left of the window, or in the window in List mode.

Reference:

Field | Usage | See also
Test | Specify the name of the test |
Status | Click on the drop-down arrow and select the current status of the test |
Type | Click on the drop-down arrow and select the type of test |
Run By | Click on the drop-down arrow and select the name of the person who ran the test |
Checked By | Click on the drop-down arrow and select the name of the person who checked the test run |
Last Run | Click on the drop-down arrow and select the date on which the test was last run |
Description | Type a description of the test; you can format the text using the Notes toolbar at the top of the field This text is also reflected in the Notes window, but cannot be edited there | Notes Toolbar
Input | Type in the input data |
Acceptance Criteria | Type the acceptance or test success conditions |
Results | Type the results of the last test |

Topics:

Topic

Detail

See also

Editing Unit Tests

To edit existing Unit Test items for this element, either

  • Click on the item in the left-hand panel in Item mode
  • Double-click on the item in List mode to display the Test Details dialog, or
  • Click on the required item in the Testing folder in the Element Browser window (if this window is not displayed, click on the EBIcon icon in the Testing window toolbar); Unit Test item icons have a U in the bottom right corner

To change the element for which to create test items, click on the required element in the Project Browser

Test Details Dialog

Element Browser

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Integration Testing [Enterprise Architect User Guide]

Integration Testing

Use Integration Testing to test how the constructed components work together.

Access: View | More Element Tools | Testing > Integration

Open a diagram or the Project Browser and select the required element, then click on the Integration tab.

If any Integration tests exist, the first Test item for the element is shown in the Testing window in Item mode, and all items are listed either in the panel to the left of the window, or in the window in List mode.

Reference:

Field | Usage | See also
Test | Specify the name of the test |
Status | Click on the drop-down arrow and select the current status of the test |
Type | Click on the drop-down arrow and select the type of test |
Run By | Click on the drop-down arrow and select the name of the person who ran the test |
Checked By | Click on the drop-down arrow and select the name of the person who checked the test run |
Last Run | Click on the drop-down arrow and select the date on which the test was last run |
Description | Type a description of the test; you can format the text using the Notes toolbar at the top of the field This text is also reflected in the Notes window, but cannot be edited there | Notes Toolbar
Input | Type in the input data |
Acceptance Criteria | Type the acceptance or test success conditions |
Results | Type the results of the last test |

Topics:

Topic

Detail

See also

Editing Integration Tests

To edit existing Integration Test items for this element, either

  • Click on the item in the left-hand panel in Item mode
  • Double-click on the item in List mode to display the Test Details dialog, or
  • Click on the required item in the Testing folder in the Element Browser window (if this window is not displayed, click on the EBIcon icon in the Testing window toolbar); Integration Test item icons have a I in the bottom right corner

To change the element for which to create test items, click on the required element in the Project Browser

Test Details Dialog

Element Browser

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


System Testing [Enterprise Architect User Guide]

System Testing

Use System Testing to test that the system performs the right business functions correctly.

Access: View | More Element Tools | Testing > System

Open a diagram or the Project Browser and select the required element. Click on the System tab.

If any System Tests exist, the first Test item for the element is shown in the Testing window in Item mode, and all items are listed either in the panel to the left of the window, or in the window in List mode.

Reference:

Field | Usage | See also
Test | Specify the name of the test |
Status | Click on the drop-down arrow and select the current status of the test |
Type | Click on the drop-down arrow and select the type of test |
Run By | Click on the drop-down arrow and select the name of the person who ran the test |
Checked By | Click on the drop-down arrow and select the name of the person who checked the test run |
Last Run | Click on the drop-down arrow and select the date on which the test was last run |
Description | Type a description of the test; you can format the text using the Notes toolbar at the top of the field This text is also reflected in the Notes window, but cannot be edited there | Notes Toolbar
Input | Type in the input data |
Acceptance Criteria | Type the acceptance or test success conditions |
Results | Type the results of the last test |

Topics:

Topic

Detail

See also

Editing System Tests

To edit existing System Test items for this element, either

  • Click on the item in the left-hand panel in Item mode
  • Double-click on the item in List mode to display the Test Details dialog, or
  • Click on the required item in the Testing folder in the Element Browser window (if this window is not displayed, click on the EBIcon icon in the Testing window toolbar); System Test item icons have a Sy in the bottom right corner

To change the element for which to create test items, click on the required element in the Project Browser

Test Details Dialog

Element Browser

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Acceptance Testing [Enterprise Architect User Guide]

Acceptance Testing

Use Acceptance Testing to ensure that users are satisfied with the system.

Access: View | More Element Tools | Testing > Acceptance

Open a diagram or the Project Browser and select the required element. Click on the Acceptance tab.

If any Acceptance Tests exist, the first Test item for the element is shown in the Testing window in Item mode, and all items are listed either in the panel to the left of the window, or in the window in List mode.

Reference:

Field | Usage | See also
Test | Specify the name of the test |
Status | Click on the drop-down arrow and select the current status of the test |
Type | Click on the drop-down arrow and select the type of test |
Run By | Click on the drop-down arrow and select the name of the person who ran the test |
Checked By | Click on the drop-down arrow and select the name of the person who checked the test run |
Last Run | Click on the drop-down arrow and select the date on which the test was last run |
Description | Type a description of the test; you can format the text using the Notes toolbar at the top of the field This text is also reflected in the Notes window, but cannot be edited there | Notes Toolbar
Input | Type in the input data |
Acceptance Criteria | Type the acceptance or test success conditions |
Results | Type the results of the last test |

Topics:

Topic

Detail

See also

Editing Acceptance Tests

To edit existing Acceptance Test items for this element, either

  • Click on the item in the left-hand panel in Item mode
  • Double-click on the item in List mode to display the Test Details dialog, or
  • Click on the required item in the Testing folder in the Element Browser window (if this window is not displayed, click on the EBIcon icon in the Testing window toolbar); Acceptance Test item icons have a A in the bottom right corner

To change the element for which to create test items, click on the required element in the Project Browser

Test Details Dialog

Element Browser

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Scenario Testing [Enterprise Architect User Guide]

Scenario Testing

Use Scenario Testing to test the application with real-world situations and scenarios. An end-to-end test of all functions.

Access: View | More Element Tools | Testing > Scenario

Open a diagram or the Project Browser and select the required element. Click on the Scenario tab.

If any Scenario Tests exist, the first Test item for the element is shown in the Testing window in Item mode, and all items are listed either in the panel to the left of the window, or in the window in List mode.

Reference:

Field | Usage | See also
Test | Specify the name of the test |
Status | Click on the drop-down arrow and select the current status of the test |
Type | Click on the drop-down arrow and select the type of test |
Run By | Click on the drop-down arrow and select the name of the person who ran the test |
Checked By | Click on the drop-down arrow and select the name of the person who checked the test run |
Last Run | Click on the drop-down arrow and select the date on which the test was last run |
Description | Type a description of the test; you can format the text using the Notes toolbar at the top of the field This text is also reflected in the Notes window, but cannot be edited there | Notes Toolbar
Input | Type in the input data |
Acceptance Criteria | Type the acceptance or test success conditions |
Results | Type the results of the last test |

Topics:

Topic

Detail

See also

Editing Scenario Tests

To edit existing Scenario Test items for this element, either

  • Click on the item in the left-hand panel in Item mode
  • Double-click on the item in List mode to display the Test Details dialog, or
  • Click on the required item in the Testing folder in the Element Browser window (if this window is not displayed, click on the EBIcon icon in the Testing window toolbar); Scenario Test item icons have a Sc in the bottom right corner

To change the element for which to create test items, click on the required element in the Project Browser

Test Details Dialog

Element Browser

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Move or Copy Tests Between Categories [Enterprise Architect User Guide]

Move or Copy Tests Between Categories

When you define a test on the Unit, Integration, System, Acceptance or Scenario tab of the Testing window, you might decide that the test either is better suited to another category of tests, or forms a good template for tests in other categories. Enterprise Architect enables you to move or copy tests between categories.

How To:

To move or copy a test, follow the steps below

Step

Action

See Also

1

Open either:

  • The Testing window, and the tab that contains the test you want to move or copy
  • The Testing folder of the Element Browser window

Element Browser

2

Right-click on the required test item in the list

The item context menu displays

3

Click on the appropriate option - Move to or Copy to

A list of test categories displays

4

Click on the test category to which to move or copy the test

A confirmatory prompt displays

5

Click on the Yes button to confirm the move or copy

6

Click on the target tab of the Testing window to ensure that the test has been added, and make any required changes

Notes:

  • If you move or copy a test into the Scenario category, some unassociated data could be lost


Import Scenario as Test [Enterprise Architect User Guide]

Import Scenario as Test

You can import a scenario from a Use Case or other element, or from all elements in a package, into the Testing window Scenario tab. This avoids having to duplicate the scenario information manually.

The scenario description is copied to the Scenario Test Description tab in the Testing window. If a scenario contains a Structured Specification, its Action steps are also copied to the Description tab under the heading Structured Specification.

How To:

To import a scenario from a single element, follow the steps below:

Step

Action

See Also

1

Open a diagram or the Project Browser and select the element into which to import the scenario

2

Open either:

  • The Testing window and the Scenario tab
  • The Testing folder of the Element Browser window

Element Browser

3

Right-click on the list of tests to display the context menu, and select the Import element scenario(s) menu option

The Import Scenario dialog displays

4

You can import scenarios from any element in the model by clicking on the Select element drop-down arrow and selecting the required element

Select the scenarios to import from the Select items to import list

5

Click on the OK button to import the selected scenario(s)

To import scenarios from all elements in a package, follow the steps below:

Step

Action

See Also

1

Open a diagram or the Project Browser and select the parent package element or an element within the package

2

Open either:

  • The Testing window and the Scenario tab
  • The Testing folder of the Element Browser window

Element Browser

3

Right-click on the list of tests and select the Import Package Scenario(s) context menu option

The Import Scenario dialog displays

This version of the Import Scenario dialog lists all scenarios against all elements in the package; it does not enable you to select a specific element, but does enable you to filter the list of scenarios to those from specific types of element

4

In the Limit selection to these Object Types only field, type a comma-separated list of the object types for which to show scenarios

Click on the Refresh button

5

Click on the OK button to import the scenarios from each element as test scenarios for that element

Reference:

The Import Scenario dialog has the following additional options:

Field | Usage | See also
Show related elements only | Filter selection to apply only to related elements |
Limit selection to these Object Types only | Indicates specific element types, separated by commas, to filter for only those element types |
Refresh | Refresh the list of available scenarios |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Import Test From Other Elements [Enterprise Architect User Guide]

Import Test From Other Elements

You can import any test from a Use Case or other element into the Testing window. This avoids having to duplicate the test information manually.

How To:

To import a test, follow the steps below:

Step

Action

See Also

1

Open a diagram or the Project Browser and select the element into which to import the tests

2

Open either:

  • The Testing window, or
  • The Testing folder of the Element Browser window

Element Browser

3

Right-click on the list of tests and select the Import Tests from Other Element context menu option

The Import Element Tests dialog displays

4

You can import tests from any element in the model by clicking on the Select element drop-down arrow and selecting the required element

Select the test to import from the Select items to import list

5

Click on the OK button to import the selected test(s)

Reference:

The Import Element Tests dialog has the following additional options:

Option | Action | See also
Show related elements only | Filter selection to apply only to related elements |
Limit Selection to these Object Types only | Indicates specific element types, separated by commas, to filter for only those element types |
Refresh | Refresh available options |

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Import Responsibility or Constraint as Test [Enterprise Architect User Guide]

Import Responsibility or Constraint as Test

In the same way as you can import a scenario from an element as a test, you can also import an internal requirement (responsibility) or internal constraint as a test.

How To:

To import a requirement or constraint as a test, follow the steps below:

Step

Action

See Also

1

Open a diagram or the Project Browser and select the element into which to import the responsibility or constraint

2

Open either:

  • The Testing window and the tab into which to import the test
  • The Testing folder of the Element Browser window

Element Browser

3

Right-click on the list of tests to display the context menu (if in the Element Browser, click on a test of the appropriate type)

4

Click on the appropriate option, either:

  • Import element constraint(s)
  • Import element requirement(s)

The Import Constraint or Import Requirements dialog displays (the two dialogs are identical)

The dialog lists all of the internal requirements or constraints in the selected element

5

Select one or more of the items to import as tests, and click on the OK button

Each item is added to the list of tests in the Testing window, as a standard, 'Not Run' test

6

Edit the items to complete their definition as tests

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Manage Tests permission to add, update and delete test records


Create Maintenance Item From Test [Enterprise Architect User Guide]

Create Maintenance Item From Test

If an element fails a test, one likely consequence is that a Defect (Issue) item has to be raised in model maintenance to correct the problem. You can generate this Defect item directly from the test that failed.

How To:

To create a Maintenance item from a test, follow the steps below:

Step | Action | See Also
1 | In the Testing window, or the Testing folder of the Element Browser window, right-click on the test item from which to generate the Maintenance item |
2 | On the context menu, select the Create a Maintenance Defect from this test menu option A message box displays |
3 | Click on the OK button to clear the message |
4 | Open the Maintenance window and select the Defects tab The window displays a defect item having the same name as the test, and the test Description, Input, Acceptance Criteria and Results texts are displayed in the defect Description tab |
5 | Update the defect item as required | Maintenance Item Properties

Notes:

  • You can create Maintenance Defect items from several Test items at once; press and hold (Shift) as you select the Test items, and then right-click and proceed as above - each selected Test item then generates a Defect item


Show Test Script Compartments [Enterprise Architect User Guide]

Show Test Script Compartments

Any element that is capable of displaying a compartment can be used to show test scripts in a diagram. To make use of the feature the element must have an attached test.

How To:

To show the Test Script compartment on an element in a diagram, follow the steps below:

Step | Action | See Also
1 | Open a diagram containing the element with the attached test items |
2 | Double-click on the diagram background to display the Diagram Properties dialog Click on the Elements tab |
3 | In the Show Compartments panel, select the Testing checkbox |
4 | Click on the OK button to save the setting The tests now appear as an item in the test scripts compartment of the diagram element |

Example:

Example of Class Test Script


Test Documentation [Enterprise Architect User Guide]

Test Documentation

Enterprise Architect enables you to output the test scripts and results you have entered against elements in the model, in Rich Text format. For more information on entering test scripts and details see the previous sections of the Testing topic.

Access: Project Browser Package context menu | Documentation | Testing Report

Notes:

  • You can also access the Generate Test Documentation dialog by selecting the Project | Documentation | Testing Report menu option
  • The Generate Test Documentation dialog enables you to set up your report; you can configure which tests to include or exclude in the report, whether to include child packages and what file to output to

Learn More:

  • Testing
  • Testing Report


Maintenance [Enterprise Architect User Guide]

Maintenance

This section discusses the Enterprise Architect facilities for:

  • Creating and monitoring maintenance items on project elements
  • Creating and monitoring change and issue items on the project

Learn More:

  • Maintenance Items
  • Changes and Defects


Maintenance Diagram [Enterprise Architect User Guide]

Maintenance Diagram

A Maintenance diagram is a custom diagram used to describe change requests and issue items within a system model.

Change, Task and Issue elements can be linked back to other model elements in the system to illustrate how they must be modified, fixed or updated.

Maintenance models provide extensions to the UML model and enable change management of change items, and of the model elements that require the changes to be made to them.

Example Diagram: Example Maintenance Diagram

Tools:

Select Maintenance diagram elements and connectors from the Maintenance pages of the Toolbox.

Maintenance Diagram Elements | Maintenance Diagram Connectors


Example Maintenance Diagram [Enterprise Architect User Guide]

Example Maintenance Diagram

An example Maintenance diagram is shown below.

Example of a Maintenance Diagram


Maintenance [Enterprise Architect User Guide]

Maintenance

Topics:

Topic

Detail

See also

Maintenance Items

Maintenance items are defects, changes, issues and tasks. They all apply to individual model elements and can be used to record and capture problems, changes, issues and tasks as they arise, and document the solution and associated details. They are defined as follows:

  • A defect can be considered as a failure to meet a requirement for the current model element
  • A change can be considered as a change in requirement for the current model element
  • An issue records a risk factor that might affect the project being recorded for the current model element
  • A task is a means of recording work in progress and work outstanding for the current model element

Note that each of these maintenance items applies at the model element level. For changes, defects and issues that apply to the whole system, see the Changes and Defects topic; for tasks that apply to the whole system, see the Project Tasks topic.

Changes and Defects

Project Tasks

Creating and Editing Maintenance Items

The following topics explain how to create and edit Maintenance items:

  • The Maintenance Workspace - describes the Maintenance window
  • Maintenance Item Properties - describes how to complete the Maintenance window tabs for the various maintenance items
  • Move or Copy Maintenance Items - describes how to move items between maintenance categories or generate items from an item in a different category
  • Create Elements From Maintenance Items - describes how to generate elements from maintenance items
  • Show Maintenance Script in Diagram - describes how to display maintenance items in elements on diagrams
  • Insert Maintenance Feature - describes how to add a maintenance item directly to an element via in-place editing

The Maintenance Workspace

Maintenance Item Properties

Move or Copy Maintenance Items

Create Elements From Maintenance Items

Insert Maintenance Feature


The Maintenance Workspace [Enterprise Architect User Guide]

The Maintenance Workspace

Enterprise Architect makes it easy to record and capture problems and issues as they arise, and document the solution and associated details. The Maintenance window provides a quick method of viewing and modifying the changes, issues defects and 'to do' items associated with a particular model element. You can include the maintenance items in the main RTF documentation and HTML produced by Enterprise Architect. The RTF Setup dialog has checkboxes to show or hide element maintenance items.

Access: View | Other Element Tools | Maintenance (Shortcut: Alt+4)

Topics:

Topic

Detail

See also

Usage

You can also use the Element Browser window to select and display specific items on the Maintenance window. Click on the EBIcon icon in the Maintenance window toolbar to display the Element Browser, open the Maintenance folder and select the required item. In the folder, the 'page' icon contains a C for Change items, D for Defect items, T for Task items, or I for Issue items.

The window has two formats. In List mode a detailed list is provided showing several columns of information. In Item mode this list is cut down and instead an editor for the selected item is provided.

To toggle between the modes, click on the Show/Hide Properties button in the window toolbar. Item mode displays a single item with others of the same type listed in the left-hand panel. You can also either switch to List mode or select another item from the Element Browser window. List mode displays all items of one type in the selected element; it does not, however, display as much detail on an item as Item mode does.

Using the toolbar, you can add or delete items and show or hide the Properties window to enable you to edit each item in the list. Click on the New icon in the window toolbar to add new items. In Item mode, this clears the fields for new data. In List mode, this displays the <item type> details for <element type> <element name> dialog. By clicking on the Auto button in Item mode or on the details dialog, you can apply an automatic naming/numbering nomenclature that you have previously defined.

An asterisk on a tab (as for the Defects tab, above) indicates that the tab contains saved information. If the tab has no information or the information has not yet been saved, there is no asterisk, as shown for the Tasks tab.

You can also display the maintenance items in a compartment of each appropriate element in a diagram.

Element Browser

Maintenance Item Properties

Use Auto naming and Auto counters

Show Maintenance Scripts in Diagrams

Learn More:

  • Maintenance


Maintenance Item Properties [Enterprise Architect User Guide]

Maintenance Item Properties

Access: View | More Element Tools | Maintenance

To create, edit or delete maintenance items, follow the steps below

How To:

Step

Action

See Also

1.

Select the View | More Element Tools | Maintenance menu option. The Maintenance window displays.

2.

Open a diagram or the Project Browser and select an element. In Item mode, the oldest maintenance item of each type for that element is shown in the Maintenance window, on the appropriate tab. The other items are listed either in the left hand panel or in List mode.

3.

Click on the Browse Element icon in the window toolbar. The Element Browser window displays.

4.

To:

  • Add a new item, select the appropriate tab, click on the New icon in the Maintenance window toolbar and complete the fields as described in the table below
  • Modify an existing item, select the item from the left-hand list panel or from the Maintenance folder of the Element Browser window and edit the fields as described in the table below
  • Delete an existing item, select the item from the left-hand list panel or the Maintenance folder of the Element Browser window and click on the Delete icon in the Maintenance window toolbar

5.

Click on the Save button in the window toolbar.

Complete or edit the following fields on the Maintenance window

Field | Usage | See Also
Name | Type the name or a short description of the defect. |
Reported by | Select the name of the person who reported the defect. |
Reported | Select the date on which the defect was reported. |
Status | Select the defect status, such as New or Complete. |
Resolved by | Select the name of the person who fixed the defect. |
Resolved | Select the date on which the defect was resolved. |
Priority | Select the priority assigned to resolving the defect. |
Version | Type the version number associated with this fix. |
Description | Type a longer description of the defect. You can format the text using the Notes toolbar at the top of the field. This text is also reflected in the Notes window, but cannot be edited there. | Notes Toolbar
History | Enter any notes or references to previous occurrences of this defect. You can format the text using the Notes toolbar at the top of the field. This text is also reflected in the Notes window, but cannot be edited there. |

Notes:

  • For information on element-level Defects, Issues, Changes and Tasks, see the Maintenance topic. For information on the Maintenance window, see the Maintenance Workspace topic
  • This table describes the fields of the Defects tab of the Maintenance window. The Changes, Issues and Tasks tabs differ only in minor details

Learn More:

  • Maintenance
  • Maintenance Workspace


Move or Copy Maintenance Items [Enterprise Architect User Guide]

Move or Copy Maintenance Items

When you define an item on the Defects, Changes, Issues or Tasks tab of the Maintenance window, you might decide that the item either is better suited to another Maintenance category, or forms a good template for items in other categories. Enterprise Architect enables you to move or copy items between categories.

To move or copy a maintenance item, follow the steps below

How To:

Step | Action | See Also
1. | Open the Maintenance window and select the tab that contains the item you want to move or copy. | Maintenance Workspace
2. | Right-click on the required maintenance item. The item context menu displays. |
3. | Click on the appropriate option - Move to or Copy to. A list of maintenance categories displays. |
4. | Click on the category to which to move or copy the item. A confirmatory prompt displays. |
5. | Click on the Yes button to confirm the move or copy. |
6. | Click on the target tab to ensure that the item has been added, and make any required changes. | Maintenance Item Properties


Create Elements From Maintenance Item [Enterprise Architect User Guide]

Create Elements From Maintenance Item

A maintenance item identifies a defect, change, issue or task concerning an element. The maintenance item could itself be represented by an element if it has wider implications for the project or identifies - for example - an actor, activity or action that requires further definition.

You can create one or more elements from any maintenance item, using the Maintenance window. The new element is connected to the maintenance item's parent element by a Dependency connector. The item itself remains unchanged as a characteristic of its parent element.

To create an element from a maintenance item, follow the steps below:

How To:

Step | Action | See Also
1. | Open the Maintenance window and select the tab that contains the item you want to create the element from. | Maintenance Workspace
2. | Right-click on the required maintenance item. The item context menu displays. select the Create as new Element context menu option. The New Element dialog displays. | Add Elements Directly To a Package
3. | In the Name field, type a name for the new element. |
4. | In the Type field, click on the drop-down arrow and select the required element type. For example, you might create an Issue element for a Defect or Issue maintenance item, a Change element for a Change item, or an Action for a Task item. You can, however, create a wide range of other element types should any of these be appropriate, and use the Select Group button to select a profile, MDG Technology or Add-In to create an element specific to that element group. |
5. | If necessary, in the Stereotype field click on the drop-down arrow and select a stereotype to apply to the new element. |
6. | If you want to immediately define the properties of the element, select the Open Properties Dialog on Creation checkbox. |
7. | If you are adding multiple elements in one session, deselect the Close dialog on OK checkbox. |
8. | If you want to add the element to the currently-open diagram, select the Add to Current Diagram checkbox. |
9. | Click on the OK button to create the element. |

The element is added to the Project Browser and - if requested - to the current diagram.


Show Maintenance Script in Diagram [Enterprise Architect User Guide]

Show Maintenance Script in Diagram

Any element that is capable of displaying a compartment can show maintenance scripts in a diagram. To make use of the feature the element must have an attached maintenance item.

To show maintenance compartments in a diagram, follow the steps below

How To:

Step | Action | See Also
1. | Open a diagram containing the element with the attached maintenance items. |
2. | Double-click on the diagram background to display the Diagram Properties dialog. Click on the Elements tab. |
3. | In the Show Compartments panel, select the Maintenance checkbox. |
4. | Click on the OK button to save the setting. |

The maintenance Items now appear as items in the maintenance scripts compartment of the diagram element.

Example:

Example of Class Maintenance Script

Learn More:

  • The Maintenance Workspace


Changes and Defects [Enterprise Architect User Guide]

Changes and Defects

Topics:

Topic | Detail | See also
Change and Defect Elements | Changes and Defects are structured comments that can be used in managing change in a project A Defect element (also known as an Issue element) corresponds to a failure to match the requirements for the current system A Change element corresponds to a change in requirements for the current system | Changes Defects
Using Structured Comments | You can track changes and defects (issues) in an Enterprise Architect model Change and Defect elements can be created in UML diagrams and connected using Realization, Dependency, Aggregation and other relationships to show what model element each affects and how each is resolved You can edit the element properties, and assign people (as Actor elements) to changes and defects | Element Properties Assign People to Defects or Changes


Defects (Issues) [Enterprise Architect User Guide]

Defects (Issues)

 Return to Introduction

A Defect (or Issue) element is a structured comment that contains information about defects and issues that relate to the system or model. This corresponds in some sense to a failure to meet defined requirements for the current system. An Issue element looks the same as a Requirement element:

Enterprise Architect enables you to generate and handle issues in much the same way as you can handle and color code Requirements. See the Requirements topic for more information.

You can link Issues using Realize connectors to model elements that are responsible for the defect. You can even structure a hierarchy of Issues using aggregation.

To add an Issue to the model using the Toolbox, follow the steps below

How To:

Step | Action | See Also
1. | Open a Custom diagram. |
2. | From the Custom pages or Common page of the Toolbox, drag the Issue icon onto the diagram. | Custom Group Common Group
3. | Enter the details as required. |

To add an Issue to the model using the Insert New Element dialog, follow the steps below

How To:

Step | Action | See Also
1. | Right-click on a package in the Project Browser. |
2. | Select the Insert | New Element context menu option. The New Element dialog displays. |
3. | In the Type field, click on the drop-down arrow and select Issue. |
4. | In the Name field, type a name for the element. |
5. | Click on the OK button. |

Notes:

  • Issue elements can be created with or without an identifying I in the top right corner of the element. To toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page

Learn More:

  • Color Codes
  • Requirements
  • Objects


Changes [Enterprise Architect User Guide]

Changes

A Change element is a structured comment that contains information about requested changes to the system/model. This corresponds in some sense to a change in requirements for the current system. A Change element looks the same as a Requirement element:

Enterprise Architect enables you to generate and handle Changes in much the same way as you can handle and color code Requirements. See the Requirements topic for more information.

You can connect Changes using Realization connectors to model elements that implement the Change, and you can structure a hierarchy of changes using Aggregation.

Change elements can be created with or without an identifying C in the top right corner of the element. To toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page.

How To:

To add a Change to the model using the Toolbox, follow the steps below

Step | Action | See Also
1 | Open a Custom diagram. |
2 | From the Custom pages or Common page of the Toolbox, drag the Change icon onto the diagram. | Custom Group Common Group
3 | Enter the details as required. |

To add a Change to the model using the Insert New Element dialog, follow the steps below

Step | Action | See Also
1 | Right-click on a package in the Project Browser. |
2 | Select the Insert | New Element context menu option. The New Element dialog displays. |
3 | In the Type field, click on the drop-down arrow and select Change. |
4 | In the Name field, type a name for the element. |
5 | Click on the OK button. |

Notes:

  • Change elements can be created with or without an identifying C in the top right corner of the element. To toggle the display of this letter, select or deselect the Show stereotype icon for requirements checkbox on the Options dialog, Objects page.

Learn More:

  • Color Codes
  • Requirements
  • Objects


Element Properties [Enterprise Architect User Guide]

Element Properties

The Properties dialog for Changes and Issues is similar to that used by Requirements. It has a Properties tab containing the name of the Issue and relevant management details (such as owner and dates). You can also associate files with the issue and add Tagged Values.

Learn More:

  • Associate Files
  • Add Tagged Values


Assign People to Defects or Changes [Enterprise Architect User Guide]

Assign People to Defects or Changes

As an example of how you might use the Relationship Matrix to monitor issues or changes, the screen below illustrates staff (actors) being linked through Realization connectors to Issues. Each highlighted square indicates a responsibility of a staff member to work on or correct a named issue. This same approach can be used for any mix of model elements.


Reporting [Enterprise Architect User Guide]

Reporting

Model documentation is essential to realizing the full benefit of Enterprise Architect. Enterprise Architect provides a powerful mechanism for generating high quality, customized documentation directly from your model, in either RTF or HTML format.

Topics:

Topic

Detail

See also

Specifying Content

There are many ways to specify the Enterprise Architect content being documented; you can:

  • Document a package and/or its child packages by manually highlighting the package and selecting a documentation control
  • Specify embedded packages for exclusion if child packages are recursively documented
  • Link a package to an RTF document template to simplify generating consistent types of documentation (e.g. Use Case Reports) using the Documents feature
  • Select, group and order packages together in a different manner from the Project Browser by creating 'Virtual' Documents, either linked through a master document with headers, footers and contents list, or as separate individual documents

Exclude Package From Report

Save As Document

Virtual' Documents

RTF Documentation

Rich text reports are documents produced by Enterprise Architect in Rich Text Format (RTF), which can be modified directly with RTF Style templates to alter the look and feel of generated output

Using MS Word you can further enhance the separate RTF documents output from the model by connecting and interweaving them into a linked master document with headers, footers and contents list

Enterprise Architect has a fully-featured RTF Document Generator that features:

  • Powerful WYSIWYG RTF style template editor support
  • An easy-to-use document generator
  • An embedded RTF viewer that enables you to view RTF documents generated by Enterprise Architect within Enterprise Architect

RTF Documents

Use MS Word

RTF Reports

You can also generate a number of RTF reports on different aspects of your model

Other Documents

HTML Documentation

Enterprise Architect provides automated web-based publishing of models, making it simple to explore large models efficiently on-line

Enterprise Architect enables the export of an entire model or a single branch of the model to HTML Web pages; you can also create web style templates to customize the HTML output

HTML Reports


RTF Documents [Enterprise Architect User Guide]

RTF Documents

Topics:

Topic

Detail

See also

Rich Text Format Documentation

Rich text reports are documents produced by Enterprise Architect in Rich Text Format (RTF), a format common to many word processors

You can also maintain complex documents by creating virtual documents in Enterprise Architect, setting up a Master Document (package) element and/or Model Document elements (Class elements of stereotype Model Document) and linking packages into the document, in whatever order or combination is most appropriate to your requirements

You can select packages from different areas of the model, arrange them in any order, and edit or delete the packages; the virtual document automatically incorporates the changes each time you generate it

Alternatively, as RTF is particularly targeted at Microsoft Word™, it also enables you to link a number of rich text documents into a single master document

Typically you create a Word master document, then some Enterprise Architect RTF reports, and you link the reports back into sub-sections of the master document and refresh them as required during project development; in this way the project document becomes an easily-managed and feature-rich work product

You can also populate a Word document from specific sections of reports, based on bookmarks - for example, a Word document might have a section for a small part of your component model; using bookmarks you can generate a full component model, and then link into just one section of the report

This way you can maintain a complex Word document from parts of Enterprise Architect reports; the RTF Generator performs one pass for one template, but using a Word master document and Enterprise Architect bookmarks enables you to incorporate material from several RTF documents with different formats based on different templates

By adding tables of contents, figure tables, sections, and headers and footers, you can manage a complex document with relative ease; simply update the Enterprise Architect RTF reports then refresh the links in MS Word

You can have several RTF reports open at the same time, as separate tabs in the central view area of the Enterprise Architect work area; you can also close the reports individually or all together, leaving views of other types (such as diagrams or code editors) still open

Virtual Documents

Using MS Word

RTF Bookmarks

Diagram Tabs

The RTF Generator

Enterprise Architect has an enhanced RTF Document Generator that features:

  • Powerful WYSIWYG RTF style template editor support, enabling:
  • Headers and footers
  • Images
  • Indexes
  • Tabular Sections
  • Nested Sections
  • All model elements, connectors, diagrams and their properties
  • Template import and export using XML
  • Basic templates supplied for customization.
  • A document generator that:
  • Provides simplified options
  • Generates complex documents based on RTF templates
  • Has an embedded RTF viewer that you use to view RTF documents generated in Enterprise Architect directly within Enterprise Architect

More Information

A tutorial on using the RTF Generator and creating RTF documentation is provided on the Sparx Systems website

http://www.sparxsystems.com/resources/whitepapers/

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Generate Documents permission to generate RTF documents

Learn More:

  • Generate RTF Documents
  • Generate RTF Documentation Dialog
  • RTF Document Options
  • RTF Templates
  • Custom Language Settings
  • Include or Exclude a Package from Report
  • List of Available Permissions


Generate RTF Documents [Enterprise Architect User Guide]

Generate RTF Documents

Creating a Rich Text Format (RTF) document is a simple and flexible process. An RTF document is based on a package or an element in your project (more usually a package). To produce a document, you must select the package or element to report on in the Project Browser, Package Browser, Diagram List or Model Search.

You should also set the diagram properties to determine how the diagrams in the package are set out in the RTF document. When you have prepared and selected your package, use the context menu to open the Generate RTF Documentation dialog and configure the details of your document. The next topic guides you through creating a rich text report.

Topics:

Topic

Detail

See also

Open the Generate RTF Documentation Dialog

Use one of the following methods:

  • Select the Project | Documentation | Rich Text Format (RTF) Report menu option
  • In the Project Browser, right-click on the required package and, on the context menu, select the Documentation | Rich Text Format (RTF) Report menu option
  • In the Project Browser or a diagram, click on the required package or element and press ( F8 )
  • In a diagram, click on a specific element and select the Element | Advanced | Rich Text Format (RTF) Report menu option
  • In the Diagram List, Package Browser or Model Search, select one or more items, right-click and, from the context menu, select either the RTF Report | Generate report for each selected object option or the RTF Report | Generate one report for all selected option

Generate RTF Documentation Dialog

Generate RTF Report From Package Browser or Model Search

When you select to create an RTF Report from the Diagram List, Package Browser or Model Search tools, you can generate an element-level report rather than a package-level report, and you have additional flexibility in selecting:

  • The type of element to report on
  • The specific elements to report on, together or separately, whether in the same package or not

For example, you might want to find all elements with test cases, with the intention of reporting on some or possibly all such elements; with the Diagram List or Package Browser, you would identify these elements yourself within the list of all elements in a selected package, but with the Model Search you could specifically identify the elements across a section of the model or across the whole model, as required

The search filtering could be for specific test cases; however, the results are by element so if there are test cases outside the range in any element that has a filtered test, these elements are listed as well

Having generated the list of elements, you can select individual elements, blocks of elements, or all elements and then (as above) use the context menu to generate a report on all of the elements, or separate reports on each element

Diagram List

Package Browser

Model Search

How To:

To generate and view an example RTF report right now, follow the steps below:

Step | Action | See Also
1 | Open the EAExample project |
2 | Open the QA Model package and right-click on the Testing package |
3 | Select the Documentation | Rich Text Format (RTF) Report context menu option The Generate RTF Documentation dialog displays |
4 | In the Output to file field, select a convenient file location in which to hold the generated report |
5 | In the Use Template field, click on the drop-down arrow and select (basic template) |
6 | Click on the Generate button |
7 | When the report has been generated, click on the View button |

Notes:

  • Reports can be configured to include all packages within a parent package, or just the top level

Learn More:

  • Diagram Options


Diagram Options [Enterprise Architect User Guide]

Diagram Options

This topic refers to options on the Diagram page of the Diagram Properties dialog, which are used when generating RTF reports for a particular diagram.

Access: Diagram background context menu | Properties > Diagram page

Topics:

Topic

Detail

See also

Exclude Image from RTF Documents

Select this checkbox to exclude the image of the current diagram from any RTF reports

Document Each Contained Element in RTF

Select this checkbox to ensure the RTF report generator includes details of elements that belong in other - external - packages but that are linked into this diagram within the package being reported on; the report includes external elements for each diagram on which you have selected the checkbox

On the Generate RTF Documentation dialog, the Include all Diagram Elements in Report checkbox defaults to selected, to include external elements for every diagram covered by the report; therefore, to include external elements only for specific diagrams, deselect this checkbox

In either case, you must enable the Package.Diagram.Element and Package.Element sections in your (customized) document generation templates in order to include this external element information in the report

Generate RTF Documentation Dialog

Report Elements From External Packages

Divide Diagram Into Multiple Sections

Select this checkbox to divide each large diagram into separate pages in the RTF document

This option is only effective when the Scaled Printing option is set to None on the Print Advanced dialog

Scaled Printing Option

Rotate Images

Select this checkbox to rotate each diagram image by 90 degrees in the RTF document; this is only valid for bitmap (.bmp) images

Learn More:

  • Diagram Tab


Generate RTF Documentation Dialog [Enterprise Architect User Guide]

Generate RTF Documentation Dialog

The Generate RTF Documentation dialog enables you to set the exact contents and look and feel of your report.

Each tab of the dialog offers a number of RTF document generation options, as described in the following sections:

  • Generate Tab (see below)
  • RTF Templates
  • Document Options
  • Advanced Options
  • Element Filters
  • Other Filters
  • Project Constants
  • Word Substitution
  • Language Substitution (Codepage)

When you have worked through these tabs and set the options you require, return to the Generate tab and click on the Generate button to produce your report.

Reference:

Option

Action

See also

Model Document

Root Element
Root Package

Confirm the name of the element selected from the Project Browser, Diagram List or Model Search

If this is the specially-created model document element for a Virtual Document, the field is Model Document

Otherwise, this field identifies the selected element of the hierarchy to be reported on; that is, the Root Element or Root Package

Virtual Document

Output to File

Type or select the location and filename for the generated documentation

The ( ... ) (Browse) button enables you to navigate to the location

Use Template

Type or select the name of the RTF template to apply to document generation

You can select either a standard template (enclosed in parentheses) or a user-generated template

The standard templates include the following:

  • (basic template)
  • (diagrams template)
  • (maintenance template)
  • (requirements template)

Output to PDF

Generate the report in PDF format rather than in RTF format

Use Language Substitutions

Switch custom language word substitutions on

Deselect to switch custom language word substitutions off

Word substitutions

View Document On Completion

Open the document as soon as it has been generated

Use Internal Viewer

Enable the View button to launch the generated RTF Documentation in the Enterprise Architect internal viewer

Deselect to enable the View button to launch the generated RTF Documentation in the MS Windows default RTF file viewer

Document options

Include all Diagram Elements in Report

Include elements in the report from external packages that are referenced from a diagram, for every diagram covered by the report; this defaults to selected

The Package.Diagram.Element and Package.Element checkboxes must be selected in the current template

If external elements are to be included only for specific diagrams, deselect this checkbox and - only for the diagrams for which you want to include external elements in the report - for each diagram select the Document each contained element in RTF checkbox in the diagram properties

When both options are deselected, or when neither of the Package.Diagram.Element or Package.Element checkboxes are selected in the template, only elements in the current package are documented

Diagram properties

Optimize for Open Office

Generate reports where diagrams are adjusted for clean rendering in Oracle Open Office

The option also overwrites the value fields defined in a document section with the actual value text.; if you open a generated report in Word, you can format the text but you cannot display the original field code

If the checkbox is deselected, diagrams displayed in Open Office are less distinct - value fields remain and are populated with the appropriate values; when you display a generated report in Word, you can right-click on the field and toggle between the value text and the field code

If you use Open Office as your text editor, you must select this checkbox to show the field values; Open Office defaults to showing the field codes only, and you cannot toggle to the field values

Resource Document

Save the current options as a document definition

Document definition

Edit Template

Edit the currently-named template using the RTF Style Template Editor

You can only edit user-defined templates, not the standard templates provided with Enterprise Architect; standard template names are enclosed in parentheses

RTF Style Template Editor

Generate

Generate the document (after you have set all the options you require, on all tabs of the dialog)

View

Launch the generated RTF Documentation in:

  • The MS Windows default RTF file viewer, or
  • The Enterprise Architect internal viewer, if you have selected the Use Internal Viewer checkbox

Abort

Cancel report generation; a prompt displays to confirm cancellation of the report

Notes:

  • For an introduction to generating RTF documentation, see the RTF Documents topic
  • If you have never selected the Optimize for Open Office checkbox, the document generator prompts you to confirm which document style you want to adopt - Microsoft Office or Oracle Open Office; once you have made a selection in this prompt, the document generator always acts on the status of the checkbox and does not display the prompt again

Learn More:

  • RTF Documents
  • RTF Templates
  • Document Options
  • Element Filters
  • Other Filters
  • Project Constants
  • Word Substitution
  • Language Substitution (Codepage)


Resource Documents [Enterprise Architect User Guide]

Resource Documents

The Resource Document feature enables a particular documentation configuration to be 'remembered', linking the loaded template within the Generate RTF Documentation dialog to the current highlighted package. If a particular template is always used with a specific package, and multiple cases of documentation exist to be propagated, saving these as Resource Documents can ease document generation later.

How To:

To create and use Resource Documents, follow the steps below:

Step

Action

See Also

1

Open the Generate RTF Document dialog

Generate RTF Documents

2

Click on the Resource Document button

The Save current as document definition dialog displays

3

In the Enter Value field, type a name for the document and click on the OK button

The document is added to the Resources window for easy future access

4

To generate documentation from the Resources window, right-click on the required document

The context menu displays

5

Select the required context menu option:

  • Open Document - Opens the corresponding .RTF file, as specified by the RTF template Filename property
  • Generate Document - Opens the Generate RTF Documentation dialog, loaded with the specified template
  • Auto Generate Document - Generates documentation, with the document located at the path specified by the template's Filename property
  • Delete Document - Removes the specified document

Topic

Detail

See also

Batch Generate Resource Documents

To generate a number of RTF documents at the same time, right-click on the RTF Documents folder name and select the Generate Documents context menu option; the Batch Document Generation dialog displays

The dialog lists all resource documents in the RTF Documents folder, defaulted to selected; deselect the checkbox against each document that you do not want to generate (or click on the Deselect All button to clear all selections, then select those you require)

Click on the OK button to generate each of the remaining reports into their respective target file locations

The Generate All Documents context menu option automatically generates every document in the RTF Documents folder, without displaying the Batch Document Generation dialog

Notes:

  • Resource Documents, saved into the Resources window, save the package, output file destination and template name from the Generate tab of the Generate RTF Documentation dialog, plus the data separately defined in the Options, Advanced and Element Filter tabs of the dialog

Learn More:

  • Generate RTF Documentation Dialog
  • Document Options
  • Element Filter


Exclude Package from Report [Enterprise Architect User Guide]

Exclude Package from Report

You can exclude a particular package from any RTF or HTML report by marking it for exclusion.

Access: Project Browser package context menu | Documentation | Generated Report Options

How To:

To mark a package for exclusion from reporting, follow the steps below:

Step | Action | See Also
1 | Select the Generated Report Options menu option The Generated Report Options dialog displays |
2 | Select the Exclude Package from Generated Reports radio button |
3 | Click on the OK button |

Notes:

  • By default, packages are included in any generated reports
  • When you exclude a package from reports, all of the selected package's subpackages are also excluded


Document Options [Enterprise Architect User Guide]

Document Options

The RTF report options enable you to set type filters and order the elements.

Topics:

Topic

Detail

See also

How to Access

You can access the options from two different places; the start point affects the persistence of options selected:

  • If you access the options on the Options and Advanced tabs of the Generate RTF Documentation dialog, you can define settings for the current report to be run; selections are non-persistent, and are reset when you exit the dialog or select a different template
  • If you access the options on the Document Options dialog, by clicking on the File | Document Options menu option on the RTF Style Template Editor dialog, the settings are saved with the template as the default settings for any run of this report

Generate RTF Documentation

File and Print Options

RTF Style Template Editor

RTF Element Filters

Other

Document Options dialog

The Document Options dialog provides the options from both of the Options and Advanced tabs of the Generate RTF Documentation dialog, plus the Element Filters and Other Filters tabs, except for:

  • The Switch generator button
  • The Disable large OLE file support option
  • The Insert page breaks when generating a Master Document option

The dialog also contains the Optimize for Open Office option, as described for the Generate RTF Documentation dialog, and tabs for setting Element Filters and Other Filters

Click on the OK button to save your changes

Generate RTF Documentation

Element Filters

Other Filters

Reference:

The Options tab of the Generate RTF Documentation dialog has the following fields:

Field

Usage

See also

Only include objects

Filter elements according to date created or modified

In the first two fields, select the qualifiers from the drop-down lists; in the third field, select the appropriate date

Where Package Phase

Filter elements according to the value of the Package Phase field

In the first field select the qualifier, and in the second type the required phase (or leave the default value All)

With element status

Filter elements according to status

In the first field, select the qualifier (like, not like, in, not in) and in the second field type the value to be used

Values should be enclosed in quotes; for example: "Proposed"

If you type more than one value, separate them with a comma; for example: "Proposed", "Implemented"

Connector Direction

Filter connectors according to direction

If you select Both, the connector is documented twice; once for the source element and once for the target

For the remaining two values, the connector is documented only for the source or target element, as appropriate

Packages by

Order packages in the generated documentation in either ascending or descending order of Name, Tree Order, Modified Date or Created Date

Elements by

Order elements in the generated documentation in either ascending or descending order of Name, Tree Order, Modified Date or Created Date

Diagrams by

Order diagrams in the generated documentation in either ascending or descending order of Name, Tree Order, Modified Date or Created Date

Exclude details for

Exclude all elements of the selected type or types from the generated document

Exclude connector type

Exclude all connectors of the selected type or types from the generated document

The Advanced tab of the Generate RTF Documentation dialog has the following fields:

Field

Usage

See also

Hide 'note-less' elements

Exclude all elements without notes from the documentation

Diagram Format

Set the diagram format for the images included within the documentation to either Metafile or Bitmap

Skip root package

Exclude the parent package from the documentation and include only the child packages

No bookmarks

Stop RTF bookmarks being inserted into the generated document

Adjust Heading Levels

Enable the RTF Generator to automatically restrict the levels of heading generated for nested sub-packages in a document

The generator reproduces heading levels down to the value you set; for example, if you have four nested levels of sub-packages and you set this field to:

  • Heading 2, all sub-packages in the report are documented under level 2 headings
  • Heading 4, the first level of subpackages are documented under level 2 headings, the next level under level 3 headings, and the remainder all under level 4 headings
  • Heading 6, the first level of subpackages are documented under level 2 headings, the next level under level 3 headings, the next under level 4 headings, and the next under level 5 headings; if you added further levels of sub-package they would all be documented under level 6 headings

The field defaults to Heading 9 to accommodate the maximum number of levels of nested subpackages

Hide <Anonymous> elements

Hide anonymous elements in the documentation

Use style defined in template for notes

Override the character formatting specified in your Notes fields with the formatting set for the field in the template

Disable large OLE file support

Disable support for large Object Linking and Embedding (OLE) files

Insert page breaks when generating a Master Document

Insert a page break after each Model Document in a Master Document

Model Document in a Master Document

Include child elements even if the parent element is filtered out

Document all child elements that are not otherwise filtered out by the restrictions, even if the parent elements are filtered out

Hide 'note-less' connectors

Exclude all connectors without notes from the documentation

Switch generator

Switch from this Generate RTF Documentation dialog (the Enhanced Template Driven Generator) to the Rich Text Format Report dialog (Legacy Generator)

This button is not available if you displayed the dialog from the Diagram List, Package Browser or Model Search

Rich Text Format Report dialog


Element Filters [Enterprise Architect User Guide]

Element Filters

The Element Filters tab enables you to include specific types of element in your report, rather than including every element type encountered.

Topics:

Topic

Detail

See also

How to Access

As with the Document Options tabs, you can access the Element filter details from two different places; the start point affects the persistence of the filter definition:

  • If you define the filters on the Element Filters tab of the Generate RTF Documentation dialog, you can create filter settings for the current report to be run; selections are non-persistent, and are reset when you close the dialog or select a different template
  • If you access the filter definitions by clicking on the File | Document Options menu option on the RTF Style Template Editor dialog, the settings are saved with the template as the default settings for any run of this report

You add filters by clicking on the Add Filters button; to edit the filters, either double-click on the panel contents or click on the Edit Filter button, to display the Edit Filters dialog

The format is the element field name, the conditions placed on the field value, any actual value or delimiting value to search on, and whether the filter item is required (mandatory), as described below

Generate RTF Documentation

File and Print Options

RTF Style Template Editor

Add Filters

Reference:

Column/Button

Action

See also

Search In

Select the type and name of each element field to search on

Condition

Select the condition of the search parameter

The available options are Contains, Equal To, Not Equals and One Of

Fields and Conditions

Look For

Specify the search term to perform the conditional search on

This value can pertain to the selected element field; for example, the value could be a date for DateCreated or a text value for other fields

The search term can contain multiple values, separated by commas

Required

Indicate that the search results must include elements with your search term in that field; you select these checkboxes on the Add Filters dialog

The fields listed as filters have an OR relationship when no Required checkboxes are selected; that is, if the search term is found in any one of those fields, then the element is displayed

Any field having the Required checkbox ticked overrides fields where the Required checkbox is not ticked

Adding Filters

Element Features

- Optional

- Required

Specify whether element features are optional or required; these appear as a new branch underneath the root element term in the Search In column

If you scroll down the Search In column, you see sub-branches such as Attribute, Change and Custom Property; these are the element features

You can add these features by clicking on the Add Filter button; the Add Filters dialog displays, with a list of all the filters you can choose for an element or element feature

Click on the Search On drop-down arrow to see a list of the element features you can search on; each feature has its own set of filters such as Name, Notes and Alias, which you can add to your search

To search on an element attribute name, you would add the Attribute feature with a Name filter to your search

The Optional radio button enables you to generate a list of elements that meet one of the element features (Element Type = Object), or one of the feature filters (Attribute Name = Class1); for example, if your search is:

Element Name = Class11, Attribute Name = m_Att1 or Scope = Public

the search results list all the elements that have the name of Class11 and all the elements that have an Attribute Name of m_Att1 or a Scope of Public

The Required radio button enables you to generate a list of elements that must have the element features you have added; for example, if your search is:

Element Name = Class, Attribute Name = m_Att1 or Scope = Public

you would get elements that must have the name of Class AND an Attribute with a name of m_att1 or a Scope of Public

Add Filter

Add a new set of parameters to filter the search on

Adding Filters

Edit Filter

Open the Edit Filters dialog, which enables you to change the search parameters

Remove Filter

Remove the selected filter from the search


Other Filters [Enterprise Architect User Guide]

Other Filters

The Other Filters tab enables you to define a set of filters to restrict your report to specific features of elements (sub-element components such as attributes, responsibilities or constraints). If the feature does not have the defined characteristics, it is not reported for the element.

Topics:

Topic

Detail

See also

How to Access

As with the Document Options tabs, you can access the filter details from two different places; the start point affects the persistence of the filter definition:

  • If you define the filters on the Other Filters tab of the Generate RTF Documentation dialog, you can create filter settings for the current report to be run; selections are non-persistent, and are reset when you close the dialog or select a different template
  • If you access the filter definitions by clicking on the File | Document Options menu option on the RTF Style Template Editor dialog, the settings are saved with the template as the default settings for any run of this report

You add filters by clicking on the Add Filters button; to edit the filters, either double-click on the panel contents or click on the Edit Filter button, to display the Edit Filters dialog

The format is the feature field name, the conditions placed on the field value, the actual value or delimiting value to search on, and whether the filter item is required (mandatory)

The fields and options on the Other Filters tab are described below

Generate RTF Documentation

File and Print Options

RTF Style Template Editor

Add Filters

Reference:

Column/Button

Action

See also

Search In

Select the name of each feature field to search on

Condition

Select the condition of the search parameter

The available options are Contains, Equal To, Not Equals and One Of

Fields and Conditions

Look For

Specify the search term to perform the conditional search on

This value can pertain to the selected field; for example, the value could be a date for DateCreated or a text value for other fields

The search term can contain multiple values, separated by commas

Required

Indicate that the search results must include elements with your search term in that field; you select these checkboxes on the Add Filters dialog

The fields listed as filters have an OR relationship when no Required checkboxes are selected; that is, if the search term is found in any one of those fields, then the element is displayed

Any field having the Required checkbox ticked overrides fields where the Required checkbox is not ticked

Adding Filters

Add Filter

Add a new set of parameters to filter the search on

Edit Filter

Open the Edit Filters dialog, which enables you to change the search parameters

Remove Filter

Remove the selected filter from the search


Project Constants [Enterprise Architect User Guide]

Project Constants

The Project Constants tab enables you to add values for your own project-specific fields in a report, to be inserted during compilation. The fields can be inserted into any template, in the text, headers or page headers and footers, using the RTF Style Template Editor context menu.

Field | Usage | See also
Add | Add a new field and value to the list A prompt displays for the two data items |
Delete | Remove the selected field from the list A prompt displays to confirm the deletion |
Import | Import a set of fields from an external XML file A browser displays to select the source file and location |
Export | Export all fields to an external XML file A browser displays to specify the target file and location |

Learn More:

  • Add Content


Word Substitution [Enterprise Architect User Guide]

Word Substitution

The Word Substitution tab of the Generate RTF Documentation dialog enables you to define translations of technical terms used in Enterprise Architect, in particular field names, into a language other than English for direct substitution into RTF documentation.

How To:

To add a translation for a term, follow the steps below:

Step | Action | See Also
1 | Double-click on the term in the English column in the Word Substitution list; the Enter Value field displays |
2 | Type the foreign language translation in the Enter Value field, and click on the OK button |


Language Substitution [Enterprise Architect User Guide]

Language Substitution

The Codepage tab of the Generate RTF Documentation dialog enables you to define languages other than English for direct substitution into RTF documentation.

If you export RTF-format documents from Enterprise Architect in languages other than English, you can customize the codepage, default language ID and character set that Enterprise Architect uses when generating RTF. This makes it much easier to generate documentation appropriate to your country or locale.

How To:

Step | Action | See Also
1 | From the drop-down lists in the Language, Codepage and Charset fields, select the language, codepage and character set that most closely match your location |
2 | If required, modify the Substitute Tag by double-clicking on each and manually setting the value (for advanced use only) |
3 | To clear the substitution list, double-click on each item in turn and delete the substitute value Now when you generate RTF documents, the substitute tags are used in the output |

Notes:

  • You can transport these tag definitions between models, using the Export Reference Data and Import Reference Data options

Learn More:

  • Export Reference Data
  • Import Reference Data


RTF Templates [Enterprise Architect User Guide]

RTF Templates

The Templates tab of the Generate RTF Documentation dialog enables you to create, edit and delete your own RTF style templates. You can also import RTF templates saved as XML files.

Topics:

Topic

Detail

See also

Abstract

In versions of Enterprise Architect later than 7.1, a Normal.rtf template is provided as a system template, as an external file stored in:

%APPDATA%\Sparx Systems\EA\RTF Templates

This provides user-editable defaults of styles, numbering and other base formats; any styles modified in the Normal.rtf file reflect in newly created templates - one useful style is the default list numbering, MasterList

To edit the Normal.rtf template, use the RTF Style Template Editor to create a new template called, for example, Normal, and use the File | Import menu option to import the Normal.rtf file into the Normal template; modify the Normal template as required, but ensure there is no text when you save it, just style definitions

Export the modified template (File | Export) back into the Normal.rtf file in the RTFTemplates folder

A related feature in the RTF Style Template Editor is the File | Update Styles menu option, which enables you to update existing templates to reflect any changes to Normal.rtf

File and Print Options

Reference:

The Templates tab has the following functions:

Field

Field

See also

Delete a template

Click on the template name and click on the Delete button

Create a new template

Click on the New button

The New Document Template dialog displays, on which you specify the template name and the name of any existing template to act as the base for the new template

To make it easier to get up and running, Enterprise Architect provides a basic template with default settings on which you can base new templates

Modify the template as required, using the RTF Style Template Editor

Open the RTF Style Template Editor

Click on the template name and click on the Edit button

The Template: <Template name> screen displays, presenting the facilities of the RTF Style Template Editor

How To:

To Import RTF templates saved to XML files using the Project | Model Import/Export | Export Reference Data menu option, follow the steps below:

Step | Action | See Also
1 | Click on the Import From Reference File button |
2 | On the Import Reference Data dialog, click on the Select File button and browse for and select the required file |
3 | In the Select Datasets to Import panel, click on the required datasets |
4 | Click on the Import button to import the template |

The imported template displays in the list on the Templates tab of the Generate RTF Documentation dialog.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is switched on, you must have Configure Resources access permission to create RTF templates
  • In the Normal.rtf template, you must not edit the SSbookmark style; this defines the section styles and must be preserved
  • There are two methods of exporting and importing RTF templates out of and into models:
  • If the template is in a batch file, export it using the Project | Model Import/Export | Export Reference Data menu option and import it using the Templates tab, as above
  • If the template is a one-off copy, use the RTF Template Editor File menu options, Export and Import

Learn More:

  • RTF Style Template Editor
  • File and Print Options
  • Update Styles
  • Permission List


RTF Style Template Editor [Enterprise Architect User Guide]

RTF Style Template Editor

The RTF Style Editor enables you to create and edit custom RTF templates to define output RTF documentation associated with various sections of the RTF Report facility in Enterprise Architect. You typically use this facility to customize the look and feel of a report for your company or client.

Access: View | More Project Tools | Project Resources > (one of the following folders) Templates, Document Templates, System or Model : View/Modify

Topics:

Topic

Detail

See also

Usage

You select particular model components and specify, from the component type, the fields to include in the generated document

You can define formatting styles in the RTF Style Template Editor, and add a range of items such as tables of contents or headers to the document

For information regarding specific commands to alter the format of the RTF documentation, see the entries under the RTF Style Template Editor Options topic

Selecting Components for Recording

RTF Style Template Editor Options

Notes:

  • You can transport these RTF templates between models, using the Export Reference Data and Import Reference Data options
  • You can also access this in alternative ways, by:
  • Selecting to edit the current template on the Generate tab of the Generate RTF Documentation dialog
  • Selecting to edit a style template on the Templates tab of the Generate RTF Documentation dialog

Learn More:

  • Resources
  • Export Reference Data
  • Import Reference Data


RTF Style Template Editor Options [Enterprise Architect User Guide]

RTF Style Template Editor Options

The following topics provide assistance on using the RTF Style Template Editor.

Topic | Link
Scroll Through Text | Scroll Through Text
File and Print Options | File and Print Options
Cut and Paste Options | Cut and Paste Options
View Options | View Options
Image and Object Inserts | Image and Object Inserts
Character Formatting | Character Formatting
Paragraph Formatting | Paragraph Formatting
Tab Support | Tab Support
Page Breaks and Repagination | Page Breaks and Repagination
Headers and Footers | Headers and Footers
Hyperlinks and Bookmarks | Hyperlinks and Bookmarks
Table Commands | Table Commands
Sections and Columns | Sections and Columns
Stylesheets and Table of Contents | Stylesheets and Table of Contents
User-Defined Section Numbering | User-Defined Section Numbering
Frame and Drawing Objects | Frame and Drawing Objects
Search/Replace Commands | Search/Replace Commands

Notes:

  • Throughout your template editing, be aware that:
  • To undo one or more immediately previous edits, press (Ctrl+Z), or select the Edit | Undo menu option; you can still undo a change even after you have saved the change
  • To redo one or more immediately previous undone edits, press (Ctrl+Y), or select the Edit | Redo menu option


Scroll Through Text [Enterprise Architect User Guide]

Scroll Through Text

Scroll Using

Options

Keyboard Keys

Press:

  • ( # ) , ( $ ) , ( ! ) or ( " ) to scroll up or down a line, or left or right one character
  • ( Home ) to move to the beginning of the current line
  • ( End ) to move to the end of the current line
  • ( Ctrl+Page Up ) to move to the beginning of a file
  • ( Ctrl+Page Down ) to move to the end of a file
  • ( Page Up ) to display the previous page
  • ( Page Down ) to display the next page
  • ( Ctrl+! ) to move to the previous word
  • ( Ctrl+" ) to move to the next word
  • ( Ctrl+# ) to move to the first column of the current line (if not already on the first column) or the first column of the previous line
  • ( Ctrl+$ ) to move to the first column of the next line
  • ( F10 ) (or select the Other | Jump menu option), type in a line number to jump to, and click on the OK button

Mouse

Click on the vertical and horizontal scroll bar to perform various scrolling functions

These functions are available only if the horizontal or the vertical bar has been enabled by the startup parameters

Vertical Scroll Bar: Click on the arrows on either end to scroll the screen up or down by one line

Click above the elevator to scroll the screen up by one page; similarly, click below the elevator to scroll the screen down by one page

You can also drag the elevator to any position in the bar; as the elevator is dragged, the editor scrolls the screen up or down accordingly

Horizontal Scroll Bar: Click on the arrows on either end to scroll the screen left or right by one column; click on either side of the elevator to scroll the screen left or right by a 1/2 screen

You can also drag the elevator to any position in the bar; as the elevator is dragged, the editor scrolls the screen left or right accordingly


File and Print Options [Enterprise Architect User Guide]

File and Print Options

Command

Action

Shortcut

See also

New

Clear an existing template from the edit window and start an empty, unnamed template

The editor prompts you to save any modification to the previous template

Revert

Revert to the previously-saved copy of the template

Save

Save the text to the current file name

If a file is not yet specified, the editor prompts you for a template name

Ctrl + S

Save As

Similar to Save File, but you specify a new template name for saving the template

Ctrl + Shift + S

Import

Import an existing RTF document into the Template Editor, so as to insert model elements from that document into the template

This option is useful when creating templates from a predefined document with a particular 'look and feel'

Import an existing RTF document

Export

Save the template as an RTF document rather than as a template

This can be useful for saving the template for other models

Update Styles

Imports the styles from Normal.rtf, found in the RTF Templates directory

This option is useful when creating a Master Document / Sub Documents that require consistent user-defined styles across multiple templates (including such things as numbering formats)

Document Options

Display the Document Options dialog which enables you to set the filter and order the elements

Document Options

Page Layout

Specify the page layout, before selecting the Print option

You can specify the margins (left, right, top and bottom) in inches

Printer Setup

Invoke a printer-specific dialog for the default printer (the default printer selection is made from the Windows Control panel)

You select the parameters from a set of printer-specific options; these options include page size, page orientation, resolution and fonts

Ctrl + Shift + P

Print

Print the contents of the current file; the editor displays a dialog where you can select the scope of the printing

You can also choose to print only a selected part of the file

To print a block of text, highlight the required text before invoking the Print function; this command prints a highlighted:

  • Line block
  • Character block

The Print function prints on a default printer selected from the Windows Control panel; you can alter the printer setup or page layout prior to invoking the Print function

Ctrl + P

Print Preview

Preview the document before printing; the editor displays up to two pages at a time

You can scroll to a different page using ( Page Up ), ( Page Down ) or the scroll bar

By default the preview rectangle is sized to fit the current window; however, you can use the zoom option to enlarge or shrink the preview rectangle as required

Click on the Edit button or the File | Print Preview menu option again to return to editing mode

Close

Close the Template Editor; the editor prompts you to save any unsaved information


Cut and Paste Options [Enterprise Architect User Guide]

Cut and Paste Options

To

Action

See also

Highlight a word

Double-click on the word

Highlight a line

Move the cursor onto the line and press ( F8 )

Select all file content

Press ( Ctrl+A ) or select the Edit | Select All menu option

Copy a block

Highlight the lines of text to be copied and press ( Ctrl+C ), or select the Edit | Copy menu option

Move the cursor to the point at which to insert the text and press ( Ctrl+V ) or select the Edit | Paste menu option

Move a block

Highlight the lines of text to be moved and press ( Ctrl+X ), or select the Edit | Cut menu option; the selected text is removed from the page

Move the cursor to the point at which to insert the text and press ( Ctrl+V ) or select the Edit | Paste menu option

Delete a block

Highlight the lines of text to be deleted and press (Delete)

Delete a line

Press (Shift+F9) to delete the current line; the remaining lines close up

Paste special objects

Select the Edit | Paste Special menu option; the Paste Special dialog displays, listing the appropriate data type formats for pasting the copied object, as listed below:

Click on the Paste button to embed the data into your application, or click on the Paste Link button to create a link to the original file

Native Object Format

If available, this is the first format in the list box; you can edit data in this format using the original application, by double-clicking the object

Formatted Text

A text format; this option offers the most suitable format if the data is pasted from another text output application, as the font and formatting attributes are reproduced accurately

Unformatted Text

Another text format; this option pastes the text without retaining the formatting information

Picture Format

The data is available in Picture format; you can later edit the object, by double-clicking on it and invoking the Microsoft MS Draw application

This format is preferred over the Bitmap and the Device Independent Bitmap formats

Device Independent Bitmap and Regular Bitmap formats

The data is available in bitmap formats; you can later edit the object, by double-clicking on it and invoking the Microsoft MS Draw application

The editor converts these formats into the Picture format before calling the drawing application


View Options [Enterprise Architect User Guide]

View Options

Menu Option

Action

See also

Page Mode

Turn Page Mode on (the equivalent of Print View in Word) or off (the equivalent of Normal View in Word)

In Page Mode, the editor displays one page at a time; it is most useful for documents containing multiple columns, as the columns are displayed side by side

Fitted View

Turn Fitted View on or off; this is a special case of Page Mode, in which the text wraps to the window width and the soft page breaks are not displayed

If you select Fitted View, Page Mode is automatically selected too; if you deselect Page Mode, Fitted View is automatically deselected too

Ruler

Display or hide the ruler at the top of the page

The ruler shows tab stops and paragraph indentation marks; it can also be used to create or delete tab stops

Tool Bar

Display or hide the tool bar above the ruler

The tool bar provides a convenient method of selecting fonts, point sizes, character styles and paragraph properties; the tool bar also shows the current selection for font, point size and character styles

Status Ribbon

Display or hide the status ribbon at the bottom of the editing panel

The status ribbon displays the current page number, line number, column number and row number; it also indicates the current insert/overtype mode

Paragraph Marker

Display or hide the paragraph marker (an inverted 'P') at the end of each paragraph

This option is useful when working with lines with many different heights

Hidden Text

Show or hide 'hidden' text

Text formatted with the hidden attribute is shown with a dotted underline; when the option is turned off, the hidden text is not visible

Character Formatting Options

Field Names

Insert, show and hide field names

As you develop your RTF document, you right-click on sections to insert field markers; you cannot insert these markers unless you have selected the Field Names option

When you deselect the option, existing field names are obscured

Page Header/Footer

Display or hide the text of page headers and footers; if Page Mode is not selected, this option turns Page Mode on

When Page Mode is selected, you cannot edit the header or footer text unless you also select the Edit | Edit Page Header/Footer menu option

When Page Mode is deselected, you can see and edit page headers and footers at the start of the document

Headers and Footers

Page Border

Display or hide a page outline in Page Mode

When Page Mode is deselected, this option is not available

When Page Border is selected, the document contents are shown within a page outline; when Page Border is deselected, the document contents are formatted within the boundaries of the editing screen

Zoom

Shrink or enlarge the display of the document text, by selecting the appropriate percentage enlargement

The editor supports zoom percentages from 25 to 200


Image and Object Inserts [Enterprise Architect User Guide]

Image and Object Inserts

To

Action

See also

Embed a picture in the document

Position the cursor at the point at which to insert the picture bitmap or Windows metafile, and either:

  • Select the Insert | Embed Picture menu option, or
  • Press ( Alt+F8 )

A browser dialog displays, through which you select the picture to embed in the document.; the picture displays at the current cursor location

The embedded picture is saved within the document

Link a picture file to the document

Position the cursor at the point at which to link the picture bitmap or Windows metafile, and select the Insert | Link Picture menu option

A browser dialog displays, through which you select the picture to link to the document; the picture displays at the current cursor location

Linked picture data is not saved with the document, only the filename is stored within the document

Embed an Ole object in the text

Position the cursor at the point at which to embed the object, and select the Insert | Ole Object menu option; the Insert Object dialog displays, listing the applications that are available to create the object

When you select an application, the editor launches it and you create the required object using this application; when you save the application, the editor inserts an icon that indicates the inserted object

You can later edit the object using the application, by double-clicking on the object

You can also use the Edit | Paste Special menu option to import the OLE objects, provided that the object is available in the clipboard

Block editing

Edit an embedded picture

Click on the picture and select the Edit | Edit Picture menu option; the Edit Current Picture Parameters dialog displays, through which you can change the width and height of the picture, in inches

You can also align the top, bottom, or middle of the picture with the base line of the text

Edit an embedded Ole object

Double-click on the icon that indicates the inserted Ole object; alternatively, position the cursor on the icon and select the Edit | Edit Ole Object menu option

The editor opens the object in the application used to create it, and you can edit the object

Insert a background picture for the text

Select the Other | Background Picture menu option; a browser dialog displays, through which you select the bitmap or metafile file to insert as a background picture

The picture occupies the entire text area

To remove the background picture, deselect the Background Picture menu option

Insert an RTF File

Position the cursor at the point at which to insert the file, and select the Insert | Insert RTF File menu option


Character Formatting [Enterprise Architect User Guide]

Character Formatting

When you change the format of existing text, any new characters you type immediately following automatically assume the formatting characteristics of the existing text.

To

Action

See also

Apply character format

Highlight the text to which to apply the format, and use one or more of the following menu options or key combinations, as required:

  • Font | Normal, or press ( Alt+0 )
  • Font | Bold, or press ( Ctrl+B )
  • Font | Underline, or press ( Ctrl+U )
  • Font | Double Underline, or press ( Ctrl+D )
  • Font | Italic, or press ( Ctrl+I )
  • Font | Superscript, or press ( Alt+4 )
  • Font | Subscript, or press ( Alt+5 )
  • Font | Strike, or press ( Alt+6 ) (puts a line through the text)
  • Font | All Caps
  • Font | Small Caps

To reset any character format, highlight the text and select the Font | Normal menu option, or press ( Alt+0 )

Change font typeface and point size

Highlight the text to change and select the Font | Fonts menu option, or press ( Alt+F10 )

The Font Selection dialog displays, from which you select the required typeface and point size

Click on the OK button

Change character style

Highlight the text to change and select the Font | Style menu option

The Select a Style dialog displays, listing the currently-defined character styles in the template stylesheet

Select the required style and click on the OK button

Template stylesheet

Change the color of text, background (permanent highlight) or underline

Highlight the text to change and select one or more of the following options, as required:

  • Font | Text Color
  • Font | Background Color
  • Font | Underline Color

In each case, the Color dialog displays, through which you can select or define the required color

When you have selected a color, click on the OK button

Change character spacing

Normal character spacing is 20 Twips; if you want to change this (or return to it), highlight the text to adjust, and select the Font | Spacing menu option

The Character Spacing dialog displays

Select the radio button to expand or compress spacing, or to return to normal spacing; if you are changing from normal spacing, enter the number of Twips to set the spacing to

Click on the OK button

Hide text

Hidden text is not displayed on the screen or printer, but remains in the document and is not deleted

Highlight the text to hide and select the Font | Hidden menu option, or press ( Ctrl+H )

The highlighted text is not displayed and the rest of the text closes up

To view hidden text, select the View | Hidden Text menu option; you can then make the text normal again by highlighting it and deselecting the Font | Hidden menu option

Box text

Highlight the text to box and select the Font | Boxed menu option; this creates a broken-line border around the selected text

Insert a non-breaking space

Move the cursor to the point at which to insert the non-breaking space and select the Insert | Non-breaking Space menu option

Insert a non-breaking dash

Move the cursor to the point at which to insert the non-breaking dash and select the Insert | Non-breaking Dash menu option

Insert an optional hyphen

Move the cursor to the point at which to insert the hyphen and select the Insert | Optional Hyphen menu option


Paragraph Formatting [Enterprise Architect User Guide]

Paragraph Formatting

The functions described below operate on the current paragraph, or on a highlighted block of text.

To

Action

See also

Clear all paragraph formatting

Select the Paragraph | Normal menu option

The editor pushes the paragraph back up to the page margin

Set text flow in document

To set the text flow for:

  • A selected block of text, select the Paragraph | Text Flow menu option; the Paragraph Text Flow dialog displays
  • The entire document, select the Edit | Document Text Flow menu option; the Document Text Flow dialog displays

In either case, select the required text flow direction and click on the OK button

Center text

Select the Paragraph | Center menu option or press ( Alt+8 )

Right-justify text

Select the Paragraph | Right Justify menu option or press ( Alt+9 )

Justify both sides of text

Select the Paragraph | Justify Both menu option

Set double line spacing

Select the Paragraph | Double Space menu option

A double-spaced paragraph has a blank line after each text line

Indent paragraph left

Select the Paragraph | Indent Left menu option or press ( Alt+L )

Select the option again to increase the indent

Indent paragraph right

Select the Paragraph | Indent Right menu option or press ( Alt+R )

Select the option again to increase the indent

Create hanging indent

Select the Paragraph | Hanging Indent menu option or press ( Alt+T )

Select the option again to increase the indent of all lines below the first

Keep paragraph lines together

Select the Paragraph | Keep Together menu option

The editor attempts to keep all lines within the paragraph on the same page

Keep paragraph with next

Select the Paragraph | Keep with Next menu option

The editor attempts to keep the last line of the current paragraph and the first line of the next paragraph on the same page

Prevent 'widow' and 'orphan' lines

Select the Paragraph | Widow/Orphan Control menu option

The editor attempts to avoid having:

  • the first line of the paragraph on the previous page ('widow' line)
  • the last line of the paragraph on the next page ('orphan' line)

Start text on new page

Move the cursor to the point at which to start the new page, and select the Paragraph | Page Break Before menu option

Insert border and shading for text block

Highlight the required text and select the Paragraph | Border and Shading menu option

The Paragraph Box Parameters dialog displays, on which you specify:

  • which sides of the box to display (including a line between text lines)
  • whether the lines are thick or doubled
  • the degree of gray shading behind the text
  • the color of the lines

Define line spacing

Highlight the required lines and select the Paragraph | Paragraph Spacing menu option

The Paragraph Spacing Parameters dialog displays, on which you specify the line spacing and the point spacing before and after lines

Set a background color for text space

Highlight a text string or block of text and select the Paragraph | Background Color menu option

The Color dialog displays, on which you select the background color

The editor highlights the full width of the page in that color, for the selected lines

Create a bulleted list

Highlight the required lines of text and select the Paragraph | Bullet menu option

The editor formats the lines into a simple bullet list

Create a numbered list

Highlight the required lines of text and select the Paragraph | Numbering menu option

The editor formats the lines into a simple numbered list

Apply numbering to paragraphs

1) Set up a numbering list and overrides (Edit | List and Overrides)

2) Apply the numbering levels to the template sections (Paragraph | List Numbering)

User-Defined Section Numbering

Apply a paragraph style from the template stylesheet

Select the Paragraph | Style menu option

The Select a Style dialog displays, listing the currently-defined paragraph styles in the template stylesheet

Select the required style and click on the OK button

Stylesheets and Table of Contents

Learn More:

  • Block Editing


Tab Support [Enterprise Architect User Guide]

Tab Support

The RTF Style Template Editor supports left, right, center and decimal tabs. Tabs are very useful for creating columns and tables. A paragraph can have as many as twenty tab positions.

A tab usually applies to every line of the current paragraph. However, if you highlight a block of text before setting a tab, the tab then applies to every line in the highlighted text.

Topics:

Topic

Detail

See also

Create and Set Tabs

You can create tabs quickly and easily using the ruler at the top of the screen

To create a:

  • Left tab, click on the required tab position on the ruler; the left tab is indicated on the ruler by an L shape
  • Right tab, right-click on the required tab position on the ruler; the right tab is indicated on the ruler by a reversed L shape
  • Center tab, press (Shift) and click on the required tab position on the ruler; the center tab is indicated on the ruler by an inverted T shape
  • Decimal tab, press (Shift) and right-click on the required tab position on the ruler; the decimal tab stop is indicated on the ruler by an inverted T shape with a dot on the right hand side

    This tab is for numbers with a decimal point; numbers scroll left from the tab until you type a point, then numbers scroll right

You can also set tabs using the Paragraph | Set Tab menu option, which displays the Set a Tab Position dialog; this enables you to specify the tab type, and provides two advantages over the ruler: you can set the tab position with more precision and with a clear value that you can duplicate; and you can add a tab leader line (dot, hyphen, or underline)

  • To clear a single tab position for selected text, select the Paragraph | Clear Tab menu option; the Clear a Tab Position dialog displays, on which you select the tab to clear
  • To clear all tab stops for selected text, select the Paragraph | Clear All Tabs menu option
  • To move a tab position using the mouse, click on the tab symbol on the ruler and drag it to the new position

Notes:

  • The Other | Snap To Grid menu option affects the movement of the tabs (and the paragraph indentation markers) on the ruler; when you select this option, the movements of the tab markers are locked on to an invisible grid at intervals of 1/16 inch (half a ruler division)


Page Breaks and Repagination [Enterprise Architect User Guide]

Page Breaks and Repagination

You can force a page break in the document by selecting the Insert | Insert Break | Page Break menu option, or by pressing ( Ctrl+Enter ). The forced page break is indicated by a solid line in the editing window.

If Page Mode is off, the editor also marks automatic page breaks when the text overflows a page; these are indicated by a dotted line.

You can repaginate your document, using the Edit | Repaginate menu option. This updates the Page Number and Page Count fields, and recompiles the table of contents.

You insert the Page Number and Page Count fields as follows:

Topic | Detail | See also
Insert the page number | Position the cursor at the point at which to display the page number, and select the Insert | Page Number menu option The page number is displayed in gray |
Insert the page count | Position the cursor at the point at which to display the total number of pages in the document, and select the Insert | Page Count menu option The page count is displayed in gray. |


Headers and Footers [Enterprise Architect User Guide]

Headers and Footers

To

Action

See also

Edit the page header and footer text

In Page Mode, select the Edit | Edit Page Header/Footer menu option

A paragraph marker displays at the top and bottom of each page, and you can type in, format or delete the appropriate text

If Page Mode is turned off, all page headers and footers are displayed in a block at the start of the document, with identifying labels; you can also edit the text here

Each section in a document can have its own page header and footer

Create the header and footer for the initial page of the document

In Page Mode, select the Edit | Edit Page Header/Footer menu option and then select the Edit | First Page Header/Footer | Create First Page Header or Create First Page Footer menu option

A paragraph marker displays at the top or bottom of the first page, and you can type in and format the appropriate text

If Page Mode is turned off, all page headers and footers are listed in a block at the start of the document, with identifying labels; you can also edit the text here

Delete the header and footer for the initial page of the document

Whilst you can delete the first page header or footer text by simple editing, you must specifically delete the 'first page' assignment in order to display the header and footer text of the next section on the first page

In Page Mode, select the Edit | Edit Page Header/Footer menu option and then select the Edit | First Page Header/Footer | Delete First Page Header or Delete First Page Footer menu option

This removes the first page text and assignment, and displays the next-defined header and footer text

Create a footnote

Move the cursor to the position at which to insert the footnote marker, and select the Insert | Footnote/Endnote | Footnote menu option

The Footnote Parameters dialog displays, on which you enter the footnote marker and footnote text, and select whether to make the marker a superscript

Click on the OK button; the editor inserts the footnote marker at the current cursor location and, in Page Mode, displays the footnote text at the bottom of the page

Edit footnote text

Select the Edit | Edit Footnote/Endnote | Edit Footnote Text menu option; the text of each footnote displays in the document text where its marker was inserted

Locate the text and make the required changes; in Page Mode the modified footnote displays at the bottom of the page.

When you have finished editing footnote text, deselect the Edit | Edit Footnote/Endnote | Edit Footnote Text menu option; the footnote text is no longer shown in the document text

Create an endnote

Move the cursor to the position at which to insert the endnote marker, and select the
Insert | Footnote/Endnote | Endnote menu option

The Endnote Parameters dialog displays, on which you enter the endnote marker and endnote text, and select whether to make the marker a superscript

Click on the OK button; the editor inserts the endnote marker at the current cursor location and, in Page Mode, displays the endnote text at the end of the section or document

Edit endnote text

Select the Edit | Edit Footnote/Endnote | Edit Endnote Text menu option; the text of each endnote displays in the document text where its marker was inserted

Locate the text and make the required changes; in Page Mode, the modified endnote displays at the bottom of the page

When you have finished editing endnote text, deselect the Edit | Edit Footnote/Endnote | Edit Endnote Text menu option; the endnote text is no longer shown in the document text


Hyperlinks and Bookmarks [Enterprise Architect User Guide]

Hyperlinks and Bookmarks

To

Detail

See also

Manage bookmarks

Each template contains a number of bookmarks that mark the sections; you can apply these bookmarks to related sections, create and assign your own, delete those that are not required, and locate specific bookmarks in the document

In Page Mode, select the Insert | Bookmark menu option; the Bookmark dialog displays

  • To assign a bookmark to the current cursor position, either type a new bookmark in the top field or select one from the list, and click on the Insert button
  • To delete an existing bookmark, click on it in the list and click on the Delete button
  • To mark a bookmark with the number of the page it is on, click on the bookmark in the list and click on the Set Page Reference button
  • To locate a bookmark in the text, click on it in the list and click on the Go to button

Insert hyperlinks

Right-click on the point at which to create the hyperlink and select the Insert | Hyperlink context menu option; the Insert Hyperlink dialog displays

You can create a hyperlink within an RTF document to an external document, Help topic or web page

In the Link Text field, type the text to be hyperlinked and, in the Link Code field, type or paste the web page URL, help topic file or external file path and name

To capture the help topic file name, right-click on the displayed topic, select the Properties context menu option, and copy the file name - when you insert the file name in the Link Code field, ensure that the file name has the prefix $Help:/ /

Click on the OK button; the hyperlinked text displays in the document

Double-click on the link to display the web page or external document


Table Commands [Enterprise Architect User Guide]

Table Commands

The Table menu enables you to create a new table, or to edit an existing table's attributes.

To

Action

See also

Insert a table in the document

Position the cursor at the appropriate point, and select the Table | Insert Table menu option; the New Table Parameters dialog displays, in which you specify the number of table rows and columns

The editor initially creates cells of equal width; you can, however, change the cell width by dragging the cell borders using the mouse

When Page Mode is deselected, the table structure is not visible

Add a header row

Select the rows to act on, and then select the Table | Header Row menu option

Apply any heading settings and formatting to the rows in the highlighted block

Insert a new row above the current row

Select the Table | Insert Row menu option

Insert a new column to the left of the current column

Select the Table | Insert Column menu option

Merge cells

Select the cells to merge and select the Table | Merge Cells menu option

The width of the resulting cell is equal to the sum of the merged cells

You can merge cells across a row, down a column, and in a block spanning both rows and columns

Split a cell

Select the cell to split and select the Table | Split Cell menu option

The selected cell is split into two cells of equal width; any text in the original cell is assigned to the first cell, and the second cell is created empty

Delete cells

Select the cells to delete and select the Table | Delete Cells menu option; the Delete Table Cells dialog displays, on which you specify whether to delete:

  • Cells - deletes the highlighted cells
  • Columns - deletes all the cells in the highlighted column or columns
  • Rows - deletes all the cells in the highlighted row or rows

If you delete all cells in a table, the table itself is automatically deleted

Position the table on the page

Click on any part of the table and select the Table | Row Position menu option; the Table Row Alignment dialog displays, on which you select to left-align, center or right-align the table on the page

This option has little effect if the table is wide enough to span the page or text column

Set the height of a row, or all rows

Select the row to adjust and select the Table | Row Height menu option

The Row Height Parameters dialog displays, enabling you to set an automatic row height, a minimum row height, or an exact row height

You can apply the setting to the selected rows only, or to all rows in the table

Keep row text together if it continues over a page

Select the rows to protect (preferably all rows in the table) and select the Table | Keep Row Together menu option

If the row continues over the end of the page, the whole row is moved to the top of the next page

Set text flow in rows

Select the rows and select the Table | Row Text Flow menu option; the Table Text Flow dialog displays, on which you select the direction of flow of the text and select to apply the setting to the selected rows or all rows in the table

This option also moves the whole row over to the appropriate side of the page or column

Set the width of selected cells

Select the cells to act on and select the Table | Cell Width menu option; the Set Cell Width dialog displays, on which you set the cell width and text margin and apply them to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows.

Define the cell border width

Select the cells to act on and select the Table | Cell Border Width menu option; the Set Cell Border dialog displays, on which you set the width of the lines at any or all of the top, bottom, left and right of a cell, or whether to draw a uniform border around the cells

You can also set the text margin, and apply all the settings to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Define the cell border color

Select the cells to act on and select the Table | Cell Border Color menu option

The Set Cell Border Color dialog displays, on which you set the color of the lines at any or all of the top, bottom, left and right of a cell, or whether to have a uniformly colored border around the cells

You then apply the settings to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Define the cell shading

Select the cells to act on and select the Table | Cell Shading menu option; the Cell Shading Parameters dialog displays, on which you set the shading percentage

The value 0 indicates the palest background, whereas the value 100 indicates a black background; you apply the setting to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Define the cell background color

Select the cells to act on and select the Table | Cell Color menu option; the Cell Color Parameters dialog displays, on which you set the cell background color

You then apply the color to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Vertically align cells

Select the cells to act on and select the Table | Cell Vertical Align menu option; the Cell Vertical Alignment dialog displays, on which you select to align the selected cells by top, center, bottom or baseline

You then select to align:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Rotate cell text

Select the cells to act on and select the Table | Cell Rotate Text menu option; the Cell Text Rotation dialog displays, on which you select to display text horizontally across the cell, vertically up the cell, or vertically down the cell

You then select to apply the rotation to:

  • All cells in a highlighted block
  • The selected cells only
  • All cells in the selected column or columns, or
  • All cells in the selected row or rows

Select column

Click on a cell and select the Table | Select Current Column menu option; the whole column is highlighted and selected for further formatting

Show / hide table outline

Click on a table cell and select the Table | Show Gridlines menu option; this displays or hides the grid lines around the table cells

The grid lines are for display purpose only and do not appear on the printed document


Sections and Columns [Enterprise Architect User Guide]

Sections and Columns

The editor enables you to divide a document into multiple sections. A multiple section document is useful to:

  • Vary the page margins from one page to another
  • Create multiple columns of text

To

Action

See also

Create a new section

Select the Insert | Insert Break | Section Break menu option. This creates a new section on a new page

This option is not available when Edit | Edit Page Header/Footer is active

Edit the section parameters

Select the Edit | Edit Section menu option; the Section Parameters dialog displays

Define:

  • The number of columns and column spacing - text in a multiple column section wraps at the end of the column; when the text reaches the end of the page, it resumes in the next column

    When Page Mode is off, the page contains a single very thin and long column; when Page Mode is on, the correct column layout is shown
  • The orientation - Portrait or Landscape
  • Whether to start the new section on the next page
  • The direction of text flow
  • Any special printing characteristics for the section

You can also define any special page margins by selecting the File | Page Layout menu option

File and Print Options

Delete a section break

Move the cursor onto the section break line and press ( Delete )

Create a column break

Move the cursor to the appropriate point in the text and select the Insert | Insert Break | Column Break menu option

Normally in a multiple column section, the text flows from the end of one column to the top of the next column; a column break forces the text to the next column before the current column is completely filled

A column break is indicated by a line with a 'dot and dash' pattern; to delete the column break, simply position the cursor on the column break line and press ( Delete )


Stylesheets and Table of Contents [Enterprise Architect User Guide]

Styles, Special Text, Table of Contents

The editor supports Character and Paragraph-type stylesheet style items:

  • The Character stylesheet style constitutes a set of character formatting attributes and is applied to a character string
  • The Paragraph stylesheet style constitutes both a set of character formatting attributes and a set of paragraph formatting attributes, and is applied to one or more paragraphs

You can also include special, structured text in the document, such as page number, date and time and text input fields.

To

Action

See also

Use double-byte characters

Select the Edit | Inline Ime menu option

This enables you to enter double-byte characters without using an external IME application

Create and edit styles

Select the Edit | Edit Style menu option

The Edit Stylesheet dialog displays

Select the appropriate radio button to define a character style or a paragraph style

Either select an existing style to modify from the list box, or type in a name for a new style; click on the OK button to begin recording the style properties

You can use the ruler, toolbar or menu selections to modify the style items; these also reflect the currently-selected properties for the stylesheet item - please note that the paragraph properties are enabled only for the paragraph stylesheet items

After you have defined the required style, either select the Edit | Edit Style menu option again or click anywhere in the document:

  • If you modified an existing stylesheet item, the document automatically reflects the updated style
  • If you created a new stylesheet item, you can apply the style to highlighted text by selecting the Font | Style or Paragraph | Style menu options

Apply character styles

Select the Font | Style menu option to apply a stylesheet style to a highlighted character string

Apply paragraph styles

Select the Paragraph | Style menu option to apply a stylesheet style to a highlighted paragraph or range of paragraphs

Insert a table of contents

Create and apply the required heading styles using the Edit | Edit Style menu option, as above

Move the cursor to the point at which to insert the table of contents and select the Insert | Table of Contents menu option

The table of contents is automatically updated whenever repagination occurs

Repagination

Insert date and time fields

Move the cursor to the point at which to insert the current date and time, and select the Insert | Date and Time menu option

The Insert Current Date/Time dialog displays, from which you select the required date and time format

The date and time are automatically updated whenever the page text is refreshed

Insert your own data fields

Not Supported In The Enterprise Architect RTF Generator

Move the cursor to the point at which to insert the data field and select the Insert | Data Field menu option

The Data Field Parameters dialog displays, in which you enter the field name and data value

Insert your own text entry field

Move the cursor to the point at which to insert the text entry field and select the Insert | Text Input Field menu option

The Input Field Parameters dialog displays, in which you enter:

  • The field name
  • The initial value to display as a default
  • The maximum length of the field
  • The text font in which to display the text

You also specify whether or not the field has a border

For example: Hello {insert name field}

Insert a selectable checkbox

Move the cursor to the point at which to insert the checkbox and select the Insert | Checkbox Field menu option

The Checkbox Field Parameters dialog displays, in which you enter:

  • The field name
  • Whether it defaults to selected
  • The size of the box surrounding the check

Define level numbering in generated document

Select the Edit | List and Overrides menu option

Set up the numbering list and the list overrides

Apply the numbering list to the headings set for packages and elements, using paragraph numbering

User defined list numbering


User-Defined Section Numbering [Enterprise Architect User Guide]

User-Defined Section Numbering

You might want to define the numbering format for the section levels in your generated RTF document.

For example:

1. Package level 1
1.1 Package level 2 (child package)
1.1.1 Element Level 1
1.1.1.1 Element (child element)

To define the numbering format you:

  • First create a numbering list and
  • Then create a set of list overrides for this list

The overrides must also have the initial 1.0.0 setting altered to 1.1.1. You can then apply the numbering list to the headings set for packages and elements, using paragraph numbering.

(For further information on applying continuous section numbering throughout a Virtual Document, see Section Numbering in Virtual Documents.)

How To:

To define the numbering format, follow the steps below:

Step

Action

See Also

1

In the Template Editor, select the Edit | List and Overrides | Create List Item menu option

The List Properties dialog displays

2

In the List Name field, type a name for the list

Click on the OK button to close the dialog

3

Select the Edit | List and Overrides | Create List Override menu option

The List Override Properties dialog displays

4

In the List to Override field, type or select the name of the list you have just created

Click on the OK button to close the dialog

5

To set the list level properties for each level, select the Edit | List and Overrides | Edit List Level menu option

The List Level Properties dialog displays

6

To set the first level numbering (used in the Package Section), select the List override radio button and type or select the list override item you have just created

7

Ensure that the List Level field is set to 1 (for Packages) and the Number text field is set to ~1~

Click on the OK button to save the values and close the dialog

8

Open the dialog again (Edit | List and Overrides | Edit List Level) and set:

  • List Level to 2 (for the Element Section or Child Package Section, for example)
  • Start at to 1 (to ensure that numbering at this level begins at 1.1 rather than 1.0)

9

Click on the OK button to close the dialog and save the changes

10

Repeat steps 5 to 9 as required, incrementing the list level number and resetting Start at to 1 each time

To apply the numbering levels you have defined (above), follow the steps below

Step

Action

See Also

1

In the Content window of the Template Editor, select the first item of text to be numbered (for example, Package)

Numbering Content

2

Set the text style, using the style drop-down field in the Template Editor toolbar

Numbering Content Font

3

Click on the Paragraph | List Numbering menu option

The Apply Paragraph Numbering Using Lists dialog displays

4

Select the required Numbering List and Override, and set the Level field to the required level
(1, for the top level)

Click on the OK button to close the dialog, and check that the required level has been applied to the selected text

Package RTF Heading

5

Repeat steps 1 to 4 for the next level (Element), but at step 4 change the Level field to 2

Element RTF Heading

6

Continue applying the overrides for lower section levels as necessary, then save the template and generate your RTF report

The output should now resemble the following example:
RTF Output

Learn More:

  • Section Numbering in Virtual Documents
  • Virtual Document


Frames and Drawing Objects [Enterprise Architect User Guide]

Frames and Drawing Objects

A frame is a rectangular area that can contain both text and pictures on the page. The text outside the frame flows around it. A drawing object can be a text box, rectangle or a line. The drawing object overlays the text around it. You can see frames and drawing objects only if View | Page Mode is selected. However, the content of a frame or text box is still visible if Page Mode is deselected.

To

Action

See also

Embed a frame or drawing object at the cursor position

Select the Insert | Frame or Insert | Drawing Object menu option

Insert text into the frame or drawing object text box

Click inside the outline and type the text at the cursor position

Rotate text to display it down the side of the frame or text box

Select the Edit | Edit Frame/Drawing Object | Rotate Text menu option and select the text direction

Insert a picture into a frame or drawing object text box

Copy the picture, click inside the outline and paste the picture at the cursor position

Size a frame or drawing object

Click inside the outline, click on a sizing tab on the outline and drag the tab to the required position

If the frame or text box contains only a picture, the picture size is automatically adjusted to fill the outline; any text inside the outline is automatically wrapped to adjust to the new width

In a frame the frame height is automatically adjusted, if necessary, to enclose all lines; in a text box, you must adjust the height manually to enclose the text

Move the frame or drawing object

Click inside the outline and then move the cursor just outside the outline so that the cursor changes to a plus-shape

Drag the plus shape (and hence the outline) to the new location

Edit the relationship between a frame or drawing object and a point on the page (the vertical base position)

Click on the outline and select the Edit | Edit Frame/Drawing Object | Vertical Base Position menu option

Select the point to lock the outline to; outlines locked to the top of the page or the top of the margin retain their vertical position when you insert text before them

Edit the border and the background of a drawing object

Select the Edit | Edit Frame/Drawing Object | Edit Drawing Object menu option

On the Line and Fill Attributes dialog, select the options for the preferred border, line color, fill color and wrapping effect on the template text

Delete a frame or drawing object

Click on the outline and press ( Delete )

The editor prompts you to confirm the deletion; click on the OK button

Note that the deletion is actually reversible - press ( Ctrl+Z ) or select the Edit | Undo menu option


Search and Replace Commands [Enterprise Architect User Guide]

Search and Replace Commands

The first three menu options below all invoke the Search String Parameters dialog, if no search term has been defined.

Specify the term to search for, whether to search from the start of the file or forwards or backwards from the current cursor position, and whether the search should exactly match the case of the search term.

To

Action

See also

Search for a text string

Select the Other | Search menu option, or press ( F5 )

The Search String Parameters dialog displays

The editor searches for the first instance of the specified character string as defined by the parameters

Find the next instance of a previously-defined text string in the file

Select the Other | Search Forward menu option, or press ( Ctrl+F )

The editor searches forwards for the next instance of the specified text string in the file, and highlights it

Find the previous instance of the previously-defined text string in the file

Select the Other | Search Backward menu option, or press ( Ctrl+Shift+F )

The editor searches backwards for the previous instance of the text string in the file, and highlights it

Replace a text string

Select the Other | Replace menu option, or press ( F6 )

The Replace String Parameters dialog displays, in which you specify:

  • The text string to locate
  • The text string to replace it with
  • Whether to search the whole document or a highlighted block of text
  • Whether to confirm each replacement before making the change


Setting Sections for Reporting [Enterprise Architect User Guide]

Setting Sections for Reporting

How To:

To select model components to be documented in the report, using the RTF Style Template Editor, follow the steps below:

Step

Action

See Also

1

Expand the Sections tree on the <template name> screen

2

Select the checkbox next to the component name; the component name is then displayed as a section tag in the Content panel

More specific guidance is provided for selecting the following components:

  • Linked Documents and Document Artifact Contents
  • Tabular Sections
  • Embedded Sections
  • Child Sections
  • Constraint and Scenario Sections
  • Reporting elements held in external packages
  • Tagged Values
  • Profiled Relationship Matrices

Reporting Linked Documents

Tabular Sections

Embedded Elements Sections

Child Sections

Constraint and Scenario Sections

Report Elements From External Packages

Tagged Value Sections

Reporting Profiled Relationship Matrices

3

Add content to each report component

The position of the section tags within the Sections tree determines the position of the model component in the Content panel; for encapsulated components, selecting a child component automatically selects the parent also

Add Section Content

How To:

To move a model component to a different position in the documentation template, follow the steps below

Step | Action | See Also
1 | Select the component in the Sections panel |
2 | Click on uphand and downhand to move the component up and down the Sections panel |

Notes:

  • To enable you to include elements from external packages, if the Package.Diagram.Element checkboxes are selected, you must select either the Document each contained element in RTF checkbox in the Diagram Properties dialog for at least one included diagram, or the Include all diagram elements in report checkbox on the Generate RTF Documentation dialog

Learn More:

  • Diagram Options
  • Generate RTF Documentation


Tabular Sections [Enterprise Architect User Guide]

Tabular Sections

The RTF Style Template Editor supports rendering a document section as a table. A tabular section is defined as a table containing any number of columns, but with only two rows:

  • The first row is used to describe the headings of the columns, which you type in and format yourself
  • The second row defines the output, which you specify by right-clicking in each cell and selecting the output type from the field list; the output is then generated iteratively for every occurrence of the section in question

Topics:

Topic | Detail | See also
Example Tabular Section | In the following example, the Model > Glossary > section is defined as a tabular section: This renders the following document output: |

Notes:

  • Under some circumstances, a table might repeat the header row rather than the output row; if this occurs, create another row in the table between the header row and the output row, and leave this blank
  • If you type a carriage return between the end of the table and the section terminator, the table you generate has a line space between the rows; for example:

This generates the following table:

Element Name | Author
Choose Recipient | John Redfern

Line Space

Manage Contacts

Walter Frederick

To avoid this, ensure that there is no carriage return between the end of the table and the section terminator, as follows:

This generates a table with no space between the rows, as follows:

Element Name | Author
Choose Recipient | John Redfern
Manage Contacts | Walter Frederick


Child Sections [Enterprise Architect User Guide]

Child Sections

Child sections can be rendered in RTF documentation using one of the following two methods:

  • Render model components directly into the RTF as defined by the section's content and fields.
  • Render indirectly to the RTF by using a parent section to describe the content

The second option occurs as a result of creating a section that has a placeholder section tag (that is, no content within the tags). This method is used to create recursive documentation of child packages.

Topics:

Topic

Detail

See also

Example: Rendered Sub-section

This example shows a template with content between the Child Element tags; in this example, child elements of the parent are rendered using the Child Elements section, because it contains valid content and fields

Example: Non-rendered Sub-section

This example shows a template with no content between the child element tags; in this example, child elements of the parent are rendered using the element section, because the child element section is empty - the child element section is used as a placeholder

Child Document Sections and Their Corresponding Parent Sections

Child Section | Section rendered when used as a placeholder
Package->Child Package | Package
Package->Element->Child Element | Package->Element
Package->Element->Diagram | Package->Diagram
Package->Diagram->Element | Package->Element
Package->Diagram->Connector | Package->Element->Connector

Notes:

  • In principle, it is better to leave Child sections blank to replicate their parent sections

    Child sections do not contain the same sub-section detail as their parents; for example: Element::Child Element does not contain sub-sections such as Scenario or Attribute, so where Child Element sections are populated, these sub-sections are not rendered

    An exception to this is cases where sub-sections are not required, but different formatting of the section fields is preferred


Embedded Elements Sections [Enterprise Architect User Guide]

Embedded Elements Sections

The RTF Report Template editor enables you to report on the following embedded elements on an element:

  • ActivityParameter
  • RequiredInterface
  • ActionPin
  • Port
  • EntryPoint
  • ExpansionNode
  • ObjectNode
  • ProvidedInterface
  • ExitPoint
  • Part

Topics:

Topic | Detail | See also
Add Section For Embedded Elements | To report on the embedded elements on an element, select the Package | Element | Embedded Elements checkboxes The embedded elements list is rendered into the RTF documentation at: embedded elements > <embedded elements |

Notes:

  • It is better to leave Embedded Elements sections blank to replicate their parent sections

    Embedded Elements sections do not contain the same sub-section detail as their parents; for example: Element::Embedded Elements does not contain sub-sections such as Scenario or Attribute, so where Embedded Elements sections are populated, these sub-sections are not rendered


Reporting Linked Documents [Enterprise Architect User Guide]

Reporting Linked Documents

Topics:

Topic

Detail

See also

Linked Documents and Document Artifact Contents

Linked documents and documents created via the Document Artifact element are rendered into RTF Documentation by selecting the Linked Document checkbox in the RTF Style Template Editor

The Linked Document checkbox is within the Package | Element and Package | Package Element hierarchies, towards the end; however, remember that checkboxes can be moved up and down the hierarchy to position information in the generated document as you require

In some templates, the Linked Document checkbox is only available as a child of the External Requirements checkbox

The linked document is rendered into the RTF documentation at:

linked document >

<linked document

Linked Documents

Creating Document Artifacts


Reporting Profiled Relationship Matrices [Enterprise Architect User Guide]

Reporting Profiled Relationship Matrices

The contents of a particular configuration of the Relationship Matrix can be saved as a profile, and these profiles can be included in RTF reports.

Topics:

Topic

Detail

See also

Relationship Matrix Profiles

All Relationship Matrix profiles in your project are listed in the Resources window, in the Matrix Profiles folder

Relationship Matrix

Matrix Profiles

Resources

Reporting Profiles

The report captures Relationship Matrix contents that are profiled at at package level

If your report covers a tree of packages, only those profiles that include a source or target package in that tree are captured in the report

Render profiles

Relationship Matrix profiles are rendered into RTF Documentation by selecting the Package | Relationship Matrix checkbox in the RTF Style Template Editor; the matrix is rendered into the RTF documentation at:

relationship matrix >

<relationship matrix

By right-clicking between the markers, you can insert a number of fields to identify specific aspects of the profile, such as relationship name, direction, type, target element and element type, and source element and element type


Constraint and Scenario Sections [Enterprise Architect User Guide]

Constraint and Scenario Sections

The template content options enable you to include sections in your reports for:

  • constraints on Package Elements, Elements, Connectors and Attributes, and
  • scenarios for Package Elements and Elements

There are additional options in these types of section that enable you to determine what types of constraint or scenario are included in your reports, as described below.

Topics:

Topic

Detail

See also

Constraints

The following constraint options are available for selection, as checkboxes in the Sections panel of the RTF Style Template Editor:

  • Pre-Constraint - select this checkbox to include all constraints of the type 'pre-condition' in this section of the report
  • Post-Constraint - select this checkbox to include all constraints of the type 'post-condition' in this section of the report
  • Constraint - select this checkbox to include all constraints that have not been generated in the Pre-Constraint and Post-Constraint sections of the report

Scenarios

The following scenario options are available for selection, as checkboxes in the Sections panel of the RTF Style Template Editor:

  • Element > Scenario - select this checkbox to include all scenarios in this section of the report; if any of the following sections are also selected, the report includes all scenarios that are not exception paths
  • Element > Scenario > Exception - select this checkbox to include all exceptions for each scenario
  • Element > Scenario > Structured Scenarios - select this checkbox to include all scenario steps in the scenario sections of the report
  • Element > Scenario > Structured Scenarios > Exception - select this checkbox to include the steps for each exception path in the scenario sections of the report

Learn More:

  • Selecting Components for Reporting


Report Elements From External Packages [Enterprise Architect User Guide]

Report Elements From External Packages

Elements can be re-used in different diagrams across a model; this can often mean that a diagram contains elements that are held in packages other than the diagram's parent package.

When generating an RTF report on a package, you might want to include elements that are not held in that package, but that are referenced in diagrams within the package. To do this you must:

  • Select the appropriate diagram options on the Generate RTF Documentation dialog and/or the Diagram page of the diagram Properties dialog
  • Enable the appropriate template sections in the report template, as described in this topic

Access: Project Browser package context menu | Documentation | Rich Text Format (RTF) Report (F8)

How To:

To enable the template sections, follow the steps below:

Step

Action

See also

1

Select the Rich Text Format (RTF) Report menu option

The Generate RTF Documentation dialog displays

2

In the Use Template field, click on the drop-down arrow and select the appropriate customized template (not a system-provided one)

3

Click on the Edit Template button to display the RTF Template Editor

4

In the Sections panel on the left-hand side of the editor window, select the Package::Element checkbox

Selecting the checkbox adds the following set of sections to the Content panel of the template:

5

Delete the [right-click-to-insert-Element-field(s)] text to leave a blank area

Right-click and select the Insert Field | Name context menu option, this inserts an Element.Name field in the template

6

In the Sections panel, select the Package::Diagram::Element checkbox

Selecting the checkbox adds the following set of sections to the Content panel of the template:

7

To report on the linked elements in:

  • the same style as defined in the Package::Elements section, delete the [right-click-to-insert-Element-field(s)] text to leave a blank area
  • a different style to the elements within the selected package, set up the style as appropriate

If using the Legacy RTF generator, the Element checkbox is automatically checked in your customized template, when you select the Document each contained element in RTF checkbox

Package::Diagram::Element, if left blank, replicates the format of Package::Element including sub-element sections (for example, Package::Element::Scenario); Package::Diagram::Element does not have an option to add these sections

Learn more:

  • Diagram Options
  • Learning Center > Reporting | RTF Templates | Reporting Elements from External Packages


Tagged Value Sections [Enterprise Architect User Guide]

Tagged Value Sections

Tagged Values can be reported:

  • As a group using a section, and
  • Individually using valueOf() fields

The following objects and connectors support Tagged Values:

  • Package Element
  • Element
  • Connector (and Source and Target elements)
  • Attribute
  • Operation (Method)
  • External Requirement

Each of these has an associated section in the RTF template editor, which includes both a Tagged Value subsection and the ability to insert a valueOf() field.

Topics:

Topic

Detail

See also

Tagged Value Section

The Tagged Value section reports all Tagged Values for the object or connector

The valueOf Field

For the objects defined above you can add a valueOf() field to report a specific Tagged Value

To insert the field, right-click between the appropriate set of section tags and select the Insert Field | valueOf option, as shown for a Connector section below:

When you select the valueOf field from the context menu, the template editor prompts you to specify the Tagged Value from which to extract the value for the report output; this tag should be one of the tags associated with the model component, such as ConnectorAltName for a connector

When you provide the tag name, the template editor adds the field at the cursor position, in the format:

{Connector.valueOf(tagname)}

For example:

{Connector.valueOf(ConnectorAltName)}

For clarity, you could type some lead-in text or the meaning of the Tagged Value immediately preceding the value field; for example:

Alternative Name: {Connector.valueOf(ConnectorAltName)}

Add Section Content


Add Section Content [Enterprise Architect User Guide]

Add Section Content

The RTF Style Template Editor uses pairs of tags to define the layout of the documentation content. To insert a pair of model component tags into the Content section of the Editor, use the Sections panel of the RTF Style Template Editor.

The beginning of a model component is represented by a yellow highlighted sectionname > tag; the end of the model component is represented by < sectionname.

How To:

To add model component content, follow the steps below

Step

Action

See Also

1

Right-click in the area between the opening and closing tags; this displays a context menu that enables you to:

  • perform simple text editing (cut, copy and paste)
  • select from a list of defined project constants to insert at the cursor position; if no project constants have been defined, the menu option is not available
  • select from a context-sensitive list of fields to add to this component section of the RTF Documentation; any additional information entered between the tags is also included in the generated RTF Documentation

For example, in the connector> section shown below, the user has right-clicked in the fourth column of the table, underneath the <constraint tag; they can then select to add another field to the Notes on each connector listed in the table

Project Constants

Notes:

  • If you select a field with short date format (such as Pkg.DateCreatedShort, Diagram.DateModifiedShort or Element.DateCreatedShort) the format is actually drawn from the MS Windows settings

    To use a different short date format, click on the Start icon on the Windows desktop and select the Control Panel | Regional and Language Options | Customize option


Import RTF Template [Enterprise Architect User Guide]

Import RTF Template

Enterprise Architect provides a number of RTF document templates, and enables you to create others. However, you might already have corporate formats and templates in use in your organization, so Enterprise Architect also enables you to import existing templates into the RTF Generator.

How To:

To import an external template, follow the steps below:

Step | Action | See Also
1 | Save the external template as an RTF document |
2 | In Enterprise Architect, create a new blank template; name the template but do not specify an existing template to copy from | RTF Templates
3 | When the template is listed on the Templates tab of the Generate RTF Documentation dialog, click on the name and click on the Edit button The RTF Document Template Editor dialog displays |
4 | Right-click on the document and select the File | Import context menu option The Microsoft Word File Open dialog displays |
5 | Locate your template RTF file, and click on the Open button The Open dialog closes, returning you to the Document Template Editor dialog; this now contains your imported template |
6 | Right-click and select the File | Save menu option If necessary, make any changes to the template and select File | Save again before selecting File | Close to exit the dialog | RTF Style Template Editor Options

Notes:

  • Standard graphical images (such as a logo in the header, main text or footer) are imported; however, any Word-based meta-file graphics are not imported
  • You can select the new template to use in generating an RTF document, either on the Generate RTF Documentation dialog or in a Master Document or Model Document element

Learn More:

  • Generate RTF Documentation
  • Master Document
  • Model Document


Virtual Documents [Enterprise Architect User Guide]

Virtual Documents

Virtual documents enable you to structure and filter your RTF and HTML reports by selecting, grouping and ordering individual packages independent of the organization of the Project Browser.

Topics:

Topic

Detail

See also

Abstract

You can create separate virtual documents defining, say, Requirements, Use Cases or Design elements of a project, or you can combine these separate reports - retaining their own different formats - into a single generated document with common headers and footers and a central contents list; this combined document could apply your corporate standards

You generate virtual documents in Enterprise Architect from individual Model Document elements; you can also, if required, combine several Model Documents under a Master Document package element

You can create as many Model Documents as required, for as many combinations of information as required

Each Model Document element has its own template; for example, a specifically-designed Requirements template for a Requirements document, or a Use Case template for a section on Use Cases

For HTML, the template is identified on the report generation dialog; for RTF, the template is identified in a Tagged Value

The content of the report is defined as either:

  • A list of packages (defined as attributes) dragged onto the element in whatever order or combination is most appropriate to your requirements - you can easily add or delete packages as necessary; or
  • (Not for HTML reports) a standard model search (defined as Tagged Values) created within the Model Search facility - note that diagram searches are not supported; when you generate the document, this search captures the required data throughout the model and populates the document

The Master Document element has its own template Tagged Value, which defines the headers, footers and central contents list; you can import your corporate standards template and edit the Tagged Value to identify that

The template in the Master Document overrides the templates in the Model Documents; for example, headers and footers in the Master Document template override any header and footer definitions in the Model Document templates - this enables you to apply consistent and continuous styles and page numbering throughout the report generated through the Master Document

If you want the Model Documents to have their own styles, applied through their own RTFTemplate Tagged Values, either leave the Master Document RTFTemplate Tagged Value blank (for completely separate overall styles) or remove the definition of specific styles from the Master Document template

You can control the sequence in which information is presented in the document; see the Document Order topic

Create Model Document

Create Master Document

Add Packages to Model Document

Delete Package in Model Document

Create and Modify Searches

Import RTF Template

Document Order

Document Elements

The Master Document and Model Document elements are available from the Documentation page of the Toolbox; on the Toolbox, select More tools | Documentation (this Toolbox page also provides the Document Artifact element, which is not related to virtual documents but is used for adding a linked document to an element)

When you drag the Master Document and Model Document elements onto a diagram, the following symbols display, respectively:

Document Artifact

Notes:

  • In a Model Document for an RTF report, you should not define both a list of packages and a search; if both are present, when you generate the RTF document Enterprise Architect works from the package list only
  • You cannot use RTF Bookmarking in Master Document elements, which effectively replace RTF Bookmarking in Word

    RTF Bookmarking requires each bookmark to be unique; when you generate a report with a standard RTF template (including in a single Model Document element), each bookmark is unique and there is a 1:1 association between the Elements-details being generated and the elements in the repository

    As Master Documents are intended to contain multiple sub-documents, the association ceases to be 1:1; there is no simple method that enables the generated data to be uniquely identified directly in association with the original element

Learn More:

  • Model and Master Documents
  • RTF Bookmarking


Create Master Document [Enterprise Architect User Guide]

Create Master Document

Whilst you can create Model Document elements separately and generate individual documents from each one, you have added flexibility and scope if you organize Model Documents under a Master Document.

You can generate a document with a corporate template for the covers, contents, headers and footers, whilst each section (generated from a separate Model Document) has its own appearance defined by a template appropriate to the section content.

How To:

To create a Master Document element, follow the steps below:

Step

Action

See Also

1

Open or create the diagram in which to create the Master Document

2

In the Toolbox, select More tools | Documentation

3

Drag the Master Document icon onto the diagram

The system prompts you for the name of the Master Document

4

Type the element name and click on the OK button

The system creates the Master Document element and a child Custom diagram of the same name

5

If creating a Master Document for an HTML report, go to step 7

Otherwise, open the Tagged Values window (View | Tagged Values) and click on the Master Document element

The RTFTemplate Tagged Value displays in the window. This Tagged Value is filled with the valid template names

6

The RTFTemplate Tagged Value defaults to (model document: master template)

If you want to use an alternative master template, click on the drop down arrow at the right of the field and click on that template in the list

7

Return to the Project Browser and open the Master Document child diagram

At this point, you create the Model Document elements in the child diagram, to provide the content for the generated document

When you have added all your Model Document elements to the Master Document diagram, the Master Document element resembles the following:

Your completed Master document element and child diagram display in the Project Browser as shown below:

Create Model Document

Learn More:

  • Import RTF Template


Create Model Document [Enterprise Architect User Guide]

Create Model Document

You can create as many Model Document elements as are necessary to provide the sections of your generated document (under a Master Document) or to provide the independent documents you require.

How To:

To create a Model Document element, follow the steps below:

Step

Action

See Also

1

Open the Master Document child diagram or (if you are creating independent Model Documents) create a new diagram

The new diagram can live anywhere outside the packages you are adding to the document; you could create a Class diagram called Documentation within a specific Documentation package, and use this to hold the independent Model Document elements for your virtual documents

Create Master Document

2

From the Documentation page of the Toolbox (More tools | Documentation) drag the Model Document icon onto the diagram to create a new Model Document element

Give the element an appropriate name: for example, if the documentation is relevant to the shopping cart requirements of a model, you could call it ShoppingCartReqDocumentation

Click on the OK button

3

If you are creating a Model Document element for an HTML report, go now to the Add Packages to Model Document topic

Otherwise, open the Tagged Values window (View | Tagged Values) and click on the Model Document element

The RTFTemplate, SearchName and SearchValue Tagged Values display in the window

Add Packages to Model Document

4

Click on the drop-down arrow to the right of the RTFTemplate field, and click on the template to use for this Model Document

5

If you are creating a list of packages for the Model Document, go now to the Add Packages to Model Document topic

Otherwise, click on the drop-down arrow to the right of the SearchName field, and click on the model search type to populate this Model Document

Remember that, in a Model Document for an RTF report, you should not define both a list of packages and a search; if both are present, when you generate the RTF document Enterprise Architect works from the package list only

Add Packages to Model Document

6

If necessary, type a search term in the SearchValue field

7

Create further Model Document elements as required.

Your Model Document element appears in the Project Browser with a Class icon, as shown below:

When you have created all the required Model Document elements, see the Document Order topic

Document Order

Notes:

  • Diagram Searches are not supported
  • Custom SQL searches are supported if they are returning elements; the SQL must include ea_guid AS CLASSGUID and the object type

Learn More:

  • Creating Search Definitions


Add Packages to Model Document [Enterprise Architect User Guide]

Add Packages to Model Document

How To:

To add packages to your Model Document element, follow the steps below

(As the example Model Document element here is called ShoppingCartDocumentation, the steps indicate how to add shopping cart-related packages to the element.)

Step | Action | See Also
1 | Keeping the documentation diagram open, find a package in the Project Browser to add to the documentation; for example, a Resources package in a Dynamic view |
2 | Drag and drop the package from the Project Browser onto the Model Document element, as shown below: VirtualDoc-Drag |
3 | The title of the package displays in the Model Document element in the Attributes compartment, as shown below: VirtualDoc-Dropped This means that the Resources package is included in the document when you generate it |
4 | Using the above method, you can add as many packages from as many different views as required The next step is to generate your document in RTF or HTML, but consider the impact of your package list on the Document Order; you can also delete packages if required | Generating RTF Documents Generating a Master Document - HTML Document Order Delete Packages from a Model Document


Delete Package in Model Document [Enterprise Architect User Guide]

Delete Package in Model Document

You can delete a package from your Model Document element.

This example includes four packages:

  • Resources Package
  • Activity Diagram Package
  • View Cart Package
  • Sequence Diagram Package

How To:

To delete a package from a Model Document element, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, expand the element to list the package attributes |
2 | Right-click on the package to delete, and select the Delete Attribute context menu option |

Alternatively:

Step | Action | See Also
1 | In either the Project Browser or the diagram, right-click on the Model Document element and select the Attributes context menu option The Attributes dialog displays |
2 | On the Attributes list, click on the package to delete |
3 | Click on the Delete button to remove the package from the document element |


Document Order [Enterprise Architect User Guide]

Document Order

The order in which information is compiled into a document depends on:

  • The sequence of Model Document elements in a Master Document element
  • Whether you define a Model Search in a Model Document element (not for HTML reports)
  • Whether you define a package list in a Model Document element

When you have considered and, if necessary, amended the order in which information is compiled, you can generate the document in RTF or HTML.

Topics:

Topic

Detail

See also

Model Document Sequence

When you generate a document from a Master Document element, the sequence in which the sections are generated is determined by the order in which the child Model Document elements are listed in the Project Browser

You can create elements anywhere in a diagram, therefore the generator refers to the Project Browser sequence

If necessary, change the sequence using the green Up and Down arrows in the Project Browser toolbar to move an element up or down within the package

Model Search

A Model Search operates on the database, and accesses records in the order in which they are stored; this order depends on many factors, and can change with database maintenance

Therefore, the sequence of information provided by the search is unpredictable

Package Order

When you create a package list in a Model Document element, the sequence of information is determined by the order in which the package attributes are listed within the element

You can change the sequence using the Attributes dialog, and if you prefer a package to be in a different section of the document, you can move the attribute from one Model Document element to another

Both these procedures are described below

How To:

To change the sequence of Packages in a Model Document element, refer to the example element and follow the steps below:

Images | Step | Action | See Also
VirtualDoc-Class | 1 | Right-click on the Model Document and select the Attributes option from the context menu The Attributes dialog displays |
 | 2 | On the Attributes list, click on a package to move and click on the Up or Down (hand) buttons to change the order in which the packages are included in the documentation |
 | 3 | When you are satisfied with the order of your packages, click on the Close button |

To move a package attribute from one Model Document to another, follow the steps below

Step | Action | See Also
1 | Expand the Model Document elements in the Project Browser, so that both list their package attributes |
2 | Click-and-hold on the attribute to move, and drag it onto the name of the target Model Document element |
3 | Release the mouse button The attribute is removed from the source element and added to the top of the list of attributes in the target element |
4 | If necessary, move the attribute down the attribute list, as described in To change the sequence of Packages, above |

Learn More:

  • Generate the Document (RTF)
  • Generate a Master Document HTML


Section Numbering in Virtual Documents [Enterprise Architect User Guide]

Section Numbering in Virtual Documents

Virtual documents can contain several sections based on separate templates. To ensure that section and subsection numbering continues sequentially through the sections, you can either use:

  • The MasterList style from the Normal.rtf file (which is the default applied to all new templates, such as those used in each Master Document and Model Document element); this provides a simple but consistent list numbering style that you can start off with. Alternatively, use:
  • Your own numbering style

If you design your own styles in the template used in each model document, each template must use the same List Overrides for section numbering. These have a unique ID, so to propagate the List Overrides across multiple templates, you must:

Step | Action | See Also
1 | Set up the common List Overrides in the Normal.rtf template (your own customized override list) |
2 | Within each of the other templates used in the virtual document, using the template editor, select File | Update Styles to update the templates to include the common List Overrides | File and Print Options
3 | In each template use this common List Level for progressive numbering throughout the virtual document |

Learn More:

  • RTF Templates
  • User Defined Section Numbering


Generate the Document (RTF) [Enterprise Architect User Guide]

Generate the Document (RTF)

 Return to Introduction

How To:

To generate the documentation defined in the Master Document and/or Model Documents, follow the steps below

Step | Action | See Also
1 | On the documentation diagram, click on the Master Document element (or on an independent Model Document element) |
2 | Select the Element | Advanced | Rich Text Format ( RTF) Report menu option The Generate RTF Documentation dialog displays |
3 | Set the options for your RTF document as required See the Generate RTF Documentation Dialog and related topics for further information on these settings | Generate RTF Documentation Dialog
4 | Click on the Generate button to create the documentation |
5 | If you have not selected the View Document on Completion checkbox, click on the View button to view the documentation |

The RTF Report Generator works through the defined content of the Master Document element and/or the Model Document elements and pulls in the information from either the listed packages or the executed searches, formatted according to the templates identified in the RTFTemplate Tagged Value for each document element.


Other Documents [Enterprise Architect User Guide]

Other Documents

Enterprise Architect has other RTF based documentation that you can output:

Topic | Link
Dependency Report - shows a list of any elements that are dependent (in a Dependency connector) on another element for their specification | Dependency Report
Diagrams Only Report - lists only the relevant diagrams from the target package | Diagrams Only Report
Implementation Report - lists, for a specified package, the elements that require implementers, together with any source elements in Realize (Implements) relationships with those elements | Implementation Report
Resource Report - shows how your resources are deployed in your project, displaying a list of all elements that have resources allocated to them | Resource Report
Testing Report - outputs the test scripts and results you have entered against elements in the model, in Rich Text format | Testing Report
Testing Details Report - enables you to review the testing details for a package, as filtered reports on all elements in the package hierarchy under the selected package | Testing Details Report


Dependency Report [Enterprise Architect User Guide]

Dependency Report

A Dependency report shows a list of any elements in the package (selected from the Project Browser) that are dependent on another element for their specification.

For example, a Use Case derives its specification from the Requirement that it realizes.

Each of the elements in the first column of the report is the source or dependent in a Dependency connector to the corresponding target element in the Dependent on column.

Access: Project | Documentation | Dependency Details

How to:

On the Dependency Details dialog, run the report and make selections from the options as indicated below:

Field | Usage | See also
Root Package | Confirm the root package; all elements and packages under this package appear in the report If you want to change the package, click on the replacement package in the Project Browser and click on the Refresh button |
Refresh | Run the report |
Locate Object | Locate the selected element in the Project Browser |
Print | Print the list |
Save Report | Display a small dialog in which you specify the file location into which to save the report as an RTF file |
Details | List dependency details; lists the elements in the current package and the elements that they are dependent on | Dependency


Diagrams Only Report [Enterprise Architect User Guide]

Diagrams Only Report

You can also produce an RTF report that contains only the relevant diagrams from the target package. This is convenient for printing or handling a lot of diagrams in batch, rather than exporting or printing each one at a time.

Access: Project Browser package context menu | Documentation | Diagrams Only Report

How To:

To produce a Diagrams Only report, follow the steps below:

Step

Action

See Also

1

On the Export Diagrams to RTF Document dialog, in the Output Path field, type or browse for the output location to create the report in

2

Select the options you require, as follows:

  • Select the Embed Diagrams in Document checkbox to ensure the diagrams are created within the RTF file, not as linked image files
  • Select the Include all child packages checkbox to document all of the diagrams included in any child package
  • Select the Include Diagram Name checkbox to include the diagram name within the generated documentation
  • Select the Order Diagrams Alphabetically checkbox to generate the documentation in alphabetical order

3

Click on the Generate button to run the report

4

When the report is generated, click on the View button to show the RTF output


Implementation Report [Enterprise Architect User Guide]

Implementation Report

An Implementation report shows a list of the elements in the package (selected in the Project Browser) that require implementers, together with any source elements in Realize (Implements) relationships with those elements.

Access: Project | Documentation | Implementation Details

How to:

On the Implementation Details dialog, make selections from the options as indicated below, and run the report:

Field | Usage | See also
Root Package | Confirm the root package; all elements and packages under this package appear in the report If you want to report on a different package, click on that package in the Project Browser |
Set Target Types | By default Enterprise Architect only reports on a limited number of element types, such as Use Cases and Requirements; you can expand the range of element types to include Set the list of types to report on, using the Implementation Targets dialog | Implementation Targets Dialog
Refresh List | Run the report and display the results |
Locate Object | Locate the selected element in the Project Browser |
Show Unimplemented | Show non-implemented elements Non-implemented elements are those that don't have any other element to realize them (for example, a Use Case that has no Component or Class to implement the Use Case behavior) |
Show Implemented | Show implemented elements These are elements that do have some element associated with them in a Realize relationship (for example a Use Case that has a Component that implements it) | Realize
Details | List elements in the current package hierarchy and elements that implement them |
Print | Print the list |
Save Report | Specify the file location into which to save the report as an RTF file |


Implementation Targets Dialog [Enterprise Architect User Guide]

Implementation Targets Dialog

The Implementation Targets dialog is accessed by clicking on the Set Target Types button on the Implementation Details dialog.

This dialog enables you to set the types of elements that appear in the report as requiring implementation. Double-click on an element in either list to move it to the other list.


Testing Report [Enterprise Architect User Guide]

Testing Report

Enterprise Architect enables you to output the test scripts and results you have entered against elements in the model, in Rich Text format.

Access: Project | Documentation | Testing Report

How To:

To view a Testing report, follow the steps below:

Step | Action | See Also
1 | In the Project Browser, click on the package to report on The package name displays in the Root Package field |
2 | In the Report on panel, select the check box against each type of test to include in the report |
3 | If you intend to report on tests on elements in the subordinate packages, select the Include child packages checkbox |
4 | In the Output file field, type in or browse for the file path of the report output file |
5 | Click on the Generate button to output the report, and open it at the specified file location |


Testing Details Report [Enterprise Architect User Guide]

Testing Details Report

The Testing Details report enables you to review the testing details for a package, running filtered reports on all elements in the package hierarchy under the selected package.

Access: Project | Documentation | Testing Details

Use to:

  • Show the testing details for the elements in a package, for tests that meet specific criteria

How to:

On the Testing tab, make selections from the options as indicated below, and run the report:

Field | Usage | See also
Run By | Select a name to filter for tests run by that person; click on the x button to clear the field |
Checked By | Select a name to filter for tests checked by that person. Click on the x button to clear the field |
Test Type | Select the radio button for the required test type |
Status | Select the radio button for the required test status |
Locate Object | (After clicking on an element in the Test Details list) locate the element in the Project Browser |
Refresh | Re-run the report query |
Print | Print a summary of the test results |

Notes:

  • If required, you can display the test details on the Testing window, by double-clicking on the test line in the report

Learn More:

  • The Testing Workspace


The Legacy RTF Report Generator [Enterprise Architect User Guide]

The Legacy RTF Report Generator

Topics:

Topic

Detail

See also

Abstract

Creating a Rich Text Format (RTF) document is a simple and flexible process. An RTF document is based on a package or an element in your project (more usually a package). To produce a document, you select the package or element to report on in the Project Browser, Package Browser, Diagram List or Model Search, then press ( F8 ) to display the Generate RTF Documentation dialog. On the Advanced tab, click on the Switch generator button to access the Legacy Rich Text Format Report dialog.

The Rich Text Format Report dialog enables you to set the exact contents and look and feel of your report. You enter the file name of the report, a heading, additional notes, template name (for saving the set-up) and other options. You can also select the style of the report; either plain or formal.

Optionally, you can set up a filter, the details to include, element types to exclude, whether to process child packages, whether to show diagrams and the diagram format.

You can switch back to the Generate RTF Documentation dialog by clicking on the Switch RTF Generator button.

Notes:

  • The Legacy Generator is available if you have RTF templates created in releases of Enterprise Architect prior to 4.1, and you prefer to generate RTF reports using the original generator. However, as you can generate reports from these templates using the post-Enterprise Architect 4.1 RTF Generator, the Legacy Generator and instructions for its use are no longer updated. However, reports produced using the Legacy RTF Generator do reflect the Notes formatting feature in any text associated with elements
  • The Rich Text Format Report dialog panels are individually described in the subsequent topics of this section (listed below). The dialog has a lot of options; get to know them all to produce output at the level of detail suited to your project

Learn More:

  • Document a Single Element
  • Set the Main RTF Properties
  • Apply a Filter
  • Exclude Elements
  • RTF Diagram Format
  • Model Include
  • RTF Report Options
  • RTF Report Selections
  • Generate the Report
  • Diagrams Only Report
  • Report Templates
  • Include or Exclude a Package from Report
  • Save as Document
  • Generate RTF Documentation Dialog
  • Notes Toolbar


Document a Single Element [Enterprise Architect User Guide]

Document a Single Element

RTF documentation can also be generated for a single element.

Access: Select an element and then go to: Element | Advanced | Rich Text Format (RTF) Report

Click on the Switch Generator button to display the Rich Text Format Report dialog. See The Legacy RTF Report Generator and its related topics for further information.

Learn More:

  • Generate RTF Documentation Dialog
  • The Legacy RTF Report Generator


Set the Main RTF Properties [Enterprise Architect User Guide]

Set the Main RTF Properties

The main section of the Rich Text Format Report dialog enables you to set the output location and appearance of the final RTF document.

How To:

Step | Action | See Also
1. | Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator topic for how to do this). | The Legacy RTF Report Generator
2. | Supply an Output Filename to save the report into; always include the extension .RTF as part of the filename. |
3. | Provide a Template Name to save this report set-up. |
4. | Select a report Style: Formal or Basic. |
5. | Type a Heading for your report; this appears as the first heading item in your output. |
6. | Select your required Heading Style and Initial Heading Level Indent from the drop-down lists. |

Notes:

  • It is recommended that you enter a full path name for your report. The images in your report are saved externally in an images directory, and supplying the full directory path avoids confusion over the location of these images. Also, if you move your report you must also move the images directory


Apply a Filter [Enterprise Architect User Guide]

Apply a Filter

Topics:

Topic

Detail

See also

Usage

You can apply a filter on the Rich Text Format Report dialog to include or exclude elements by date modified, phase or status. This helps to track changes and break a document into multiple delivery phases.

Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator for how to do this).

  • To enable the date filter, select the checkbox in the date field.
  • In the first two Only include objects fields, click on the drop-down arrows and select the appropriate criteria (Modified/Created, Before/After).
  • The package phase filter applies at the package level (not the element level) and ignores the phase of the root package that you are documenting. To enable the phase filter, in the Where Package Phase field click on the drop-down arrow and select an operator; Enterprise Architect filters out all packages that do not meet the selection criteria. All elements in the package are ignored, regardless of their individual phase.
  • The element status filter enables you to limit the output by element status. Unlike the package phase filter, this filter applies to every element. You can filter against a status of like or unlike a criterion, for example, like proposed, or against the in and not in operators, such as in approved, not in validated. When using the in and not in operators, enter a comma-separated list of status types as your criteria expression

Learn More:

  • The Legacy RTF Report Generator


Exclude Elements [Enterprise Architect User Guide]

Exclude Elements

Topics:

Topic

Detail

See also

Usage

The Rich Text Format Report dialog enables you to exclude elements of any type from your final output; this is useful when you want to highlight particular items and not clutter up a report with too much detail

Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator for details on how to do this)

Click on each element to exclude, or click on the All button to exclude all elements

Click on the None button to clear your selections

The Legacy RTF Report Generator


RTF Diagram Format [Enterprise Architect User Guide]

RTF Diagram Format

Topics:

Topic

Detail

See also

Usage

You can output diagrams to Bitmap files, GIF files or Windows Metafiles

Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator for details on how to do this)

In the Diagram format panel (bottom center of the dialog) select the required format for the report

Generally the two metafile options (EMF and WMF) are recommended; however, there are times that the others might be suitable

The Legacy RTF Report Generator


Model Include [Enterprise Architect User Guide]

Model Include

Topics:

Topic

Detail

See also

Usage

The Model Include panel of the Rich Text Format Report dialog has the following options:

  • Glossary to include the project glossary
  • Tasks to include project tasks
  • Issues to include project issues

Select the appropriate checkbox to include the items in the generated RTF documentation

Project Glossary

Project Tasks

Project Issues


RTF Report Options [Enterprise Architect User Guide]

RTF Report Options

Additional RTF report options you can select from the Options panel on the Rich Text Format Report dialog are shown below.

Topics:

Topic

Detail

See also

Usage

You can select whether or not to recursively document packages, show diagrams or add a page break before each new package. Select the:

  • Process all Children checkbox to recursively process all child packages within the main package
  • Show Diagrams checkbox to include diagrams in your document. Clear this item for no diagrams
  • New page per package checkbox to force a page break on each new package (excepting empty packages)
  • Document all elements checkbox to include all elements included in the project
  • Document Packages checkbox to document the package as an element in addition to the documentation that would normally be produced for package documentation
  • Hide 'note-less' elements checkbox to exclude all elements without notes from the documentation
  • Embed Diagrams in Document checkbox to ensure that the diagram images are contained within the RTF document rather than stored in a linked external file
  • Skip root package checkbox to exclude the parent package from the documentation and include only the child packages
  • Document Linked Elements checkbox to include the object details for linked elements that do not originate from the selected package
  • Use Heading styles for Details checkbox to ensure that the details are formatted as heading styles rather than formatted text; this option is only available when the Heading Style field in the Main section of the Rich Text Format Report dialog is set to Max 9 levels - elements are package + 1.

Setting the Main RTF Properties


RTF Report Selections [Enterprise Architect User Guide]

RTF Report Selections

The For each Object Include section of the Rich Text Format Report dialog enables you to select the documentation sections to include in your report.

Topics:

Topic

Detail

See also

Usage

What you include or exclude governs how simple or detailed your report is. You can create multiple reports at different levels of detail for different audiences. Experiment with these options to see what effect inclusion or exclusion has. Most items are self-explanatory.

Selecting the checkbox against a category item in the list selects all of the options that are contained in the category. To expand a category, click on the +symbol next to the category name. To exercise greater control over a category of options expand the top level item and then select the required individual items from the list.

Sometimes an item applies only to a certain type of element; for example, Attributes only applies to Class elements and a few other element types. The Child Diagrams option shows or hides any diagrams that are attached under a model element; for example, a Use Case might have a Scenario diagram attached.

Notes:

  • Use this feature to produce the right level of detail for your audience. Technical readers might want to see everything, whilst management might require only the general outline


Generate the Report [Enterprise Architect User Guide]

Generate the Report

Topics:

Topic | Detail | See also
Usage | Once you have set up the document properties as required, click on the Generate button to generate the report. When you have generated the document, click on the View button to open the report in MS Word. |


Legacy RTF Style Templates [Enterprise Architect User Guide]

Legacy RTF Style Templates

The Legacy RTF Style Editor enables you to edit the RTF associated with various sections of the RTF Report facility in Enterprise Architect. You would typically use this functionality to customize a report's look and feel for your company or client.

If you have previously defined and saved a template, click on the Load button on the Rich Text Format Report dialog to open the list of defined templates. Select one in order to load it as the current template; all the features saved become the current features. This enables you to define a set of standard report types that streamline document production.

Access: View | More Project Tools | Project Resources | Resources

To create or Edit RTF Style Templates, follow the steps below

How To:

Step | Action | See Also
1. | Select the View | More Project Tools | Project Resources menu option to display the Resources window. |
2. | Expand the Templates folder |
3. | To edit an existing Legacy template, expand the Legacy Templates tree and double-click on the template name, or right-click and select the Modify Document Template context menu option. The RTF Style Editor displays. |
4. | Alternatively, to create a new Legacy template, right-click on Legacy Templates and select the Create RTF Style Template (Legacy) context menu option. Enterprise Architect displays a prompt for the new template name. |
5. | Type the name of the new template and click on the OK button. The RTF Style Editor displays. |

Topics:

Topic

Detail

See also

RTF Style Editor

The RTF Style Editor contains a list of all available RTF fragments for modification and customization.

Each fragment typically contains RTF plus one or more special tag names that Enterprise Architect replaces with information during generation. Currently you cannot alter the content within the tag names, but you can omit a complete tag by removing it, or alter its basic display properties in the surrounding RTF.

Special tag names are delimited by # characters; for example, #NOTES#

Click on the:

  • Get Default button to retrieve the default Enterprise Architect template for the currently-selected template item in the left hand list
  • Save button to save the version of the template for this style only
  • Delete button to remove your modified version of the template, which causes Enterprise Architect to use the default template during report generation

To select a template during report generation, click on the Style drop-down arrow on the Rich Text Format Report dialog. Once a style is selected, Enterprise Architect applies that to the current report. Select <Basic> for the inbuilt style.

The Legacy RTF Report Generator

Notes:

  • The RTF Style Editor discussed here automatically displays when you modify or create a Legacy RTF template. If you select a template created in the enhanced RTF Style Template Editor, that editor opens automatically instead
  • You can transport these RTF templates between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu
  • To delete a template, right-click on it and select the Delete Document Template context menu option
  • You can also alter the custom language settings

Learn More:

  • RTF Style Template Editor
  • Export Reference Data
  • Import Reference Data
  • Custom Language Settings


Save as Document [Enterprise Architect User Guide]

Save as Document

The Document feature enables a particular documentation configuration to be 'remembered', linking the loaded template within the Rich Text Format Report dialog to the current highlighted package. If a particular template is always used with a specific package, and multiple cases of documentation exist to be propagated, saving these as Documents can ease document generation later.

To create and use Documents, follow the steps below

How To:

Step

Action

See Also

1.

Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator for instructions on how to do this).

The Legacy RTF Report Generator

2.

Click on the Save as Document button. The Save current as document definition dialog displays:

3.

In the Enter Value field, type a name for the document and click on the OK button. The document is added to the Resources window for easy future access

4.

To generate documentation from the Resources window, right-click on the required document. The context menu displays.

5.

Select the required option.

The context menu options are:

  • Open Document - Opens the corresponding .RTF file, as specified by the RTF template Filename property
  • Generate Document - Opens the Rich Text Format Report dialog, loaded with the specified template
  • Auto Generate Document - Generates documentation, with the document located at the path specified by the template's Filename property
  • Delete Document - Removes the specified document


Custom Language Settings [Enterprise Architect User Guide]

Custom Language Settings

If you export RTF-format documents from Enterprise Architect in languages other than English, you can customize the codepage, default language ID and character set that Enterprise Architect uses when generating RTF. This makes it much easier to generate documentation appropriate to your country or locale.

You can also set up a list of word substitutions. For instance, where Enterprise Architect would include the word Figure, you can specify another word to replace it that is either in your language or more meaningful to your readers.

To Set Up Substitutions, follow the steps below

How To:

Step | Action | See Also
1. | Open the Rich Text Format Report dialog (see The Legacy RTF Report Generator for how to do this). | The Legacy RTF Report Generator
2. | In the Language panel (bottom left of dialog) click on the Adjust button. The Customize RTF Language dialog displays. |
3. | Double-click on an item to set or clear its Substitute word. |
4. | When you have finished, click on the OK button. |

To Set Up Codepage and Character Set, Follow the steps below

How To:

Step | Action | See Also
1. | From the drop-down lists in the Language, Codepage and Charset fields, select the language, codepage and character set that most closely match your location. |
2. | If required, modify the Substitute Tags by double-clicking on each and manually setting the value (for advanced use only). |
3. | To clear the substitution list, double-click on each item in turn and delete the substitute value. |
4. | When you have completed the settings, click on the OK button to save them. |

Now when you generate RTF documents, the substitute tags are used in the output.

Notes:

  • You can transport these language and tag definitions between models, using the Export Reference Data and Import Reference Data options on the Project | Model Import/Export menu

Learn More:

  • Export Reference Data
  • Import Reference Data


Use MS Word [Enterprise Architect User Guide]

Use MS Word

When Enterprise Architect only supported the 'Legacy' RTF Report Generator, MS Word provided many additional features in RTF report generation.

However, as the 'enhanced' RTF Report Generator has been developed within Enterprise Architect, the facilities provided by Word have been incorporated into the RTF Generator or otherwise rendered unnecessary. It is therefore likely that you would no longer have any requirement to use Word in generating your RTF reports.

These topics on the use of MS Word are therefore included only to support users who are still working with the 'Legacy' RTF Report Generator, or who are using Word for personal preference.

Topics:

Topic

Detail

See also

Usage

To further enhance and customize RTF documentation it is possible to create a custom master document, which can be used to add a table of contents, table of figures, headers and footers and to refresh linked files

In addition it is possible to create documents with sustainable links to generated 'pieces' of Enterprise Architect output, pre-divided by Enterprise Architect using bookmarks

As an alternative to the Word master document and to RTF Bookmarking, internal to Enterprise Architect, see Virtual Documents

In addition to creating Word master documents, you can:

  • Open a Report in Microsoft Word
  • Change Linked Images to Embedded
  • Apply Other Features of Word

RTF Bookmarks

Virtual Documents

Open a Report in Microsoft Word

Change Linked Images to Embedded

Other Features of Word

Notes:

  • You can develop a report using the combined facilities of Word and Enterprise Architect with few problems, as long as you leave definition of the section styles to the final stages in Enterprise Architect just prior to report generation

    Word truncates the section bookmarks, as it uses a smaller field length for sections

    In Word, you can review and edit reports generated by Enterprise Architect, but you cannot import them back into Enterprise Architect without damaging the section style definition


Open a Report in Microsoft Word [Enterprise Architect User Guide]

Open a Report in Microsoft Word

Topics:

Topic | Detail | See also
Usage | To open an RTF file in MS Word, simply load Word and open the file as a normal document Word converts the file; if Word is the default handler of RTF files, double-click on the output file to load up and view the report |

Notes:

  • If you have Word configured to view RTF files, you can also click on the View Output button on the Generate RTF Documentation dialog


Change Linked Images to Embedded [Enterprise Architect User Guide]

Change Linked Images to Embedded

One of the options available when generating RTF documentation is the ability to store image files in a separate directory to the RTF document. If at a later stage it becomes desirable to embed the images in the RTF documentation, this is especially important when the document is to be distributed. If the images are stored in a separate directory recipients of the document see only the placeholder of images rather than the actual images.

If you import an RTF document into Word with the images not embedded into the document, you have the option of breaking the links to the images and saving the image in the document.

To break image links in Word, follow the steps below

How To:

Step | Action | See Also
1 | Open the required RTF file in Word. |
2 | Select the Edit | Links menu option. |
3 | Highlight all links in the Links list. |
4 | Select the Save Picture in Document checkbox. |
5 | Click on the Break Link button. |
6 | When prompted, click on the Yes button to break links. |

Word breaks the links and saves copies of the images inside the document. You can distribute this document without the image directory.


RTF Bookmarks [Enterprise Architect User Guide]

RTF Bookmarks

Bookmarks are markers that are automatically placed in your rich text document when you generate it. You can create a master document in Word and link to sections of an Enterprise Architect report based on bookmarks. For example, a Word document might have a section for a small part of your component model. Using bookmarks you can generate a full component model, and then link into just one section of the report.

This way you can maintain a complex Word document from parts of Enterprise Architect reports. If you link into Enterprise Architect reports, then you can regenerate the report and refresh Word links to update the master document without having manually changed anything. For more information on refreshing links, see the Refresh Links topic.

Bookmarks are GUID-based numbers that can be created for packages, diagrams and elements. A package bookmark applies from the beginning of a package to the end, and includes all child packages and elements underneath.

To bookmark a Section of Enterprise Architect for RTF Documentation, follow the steps below

How To:

Step | Action | See Also
1. | In the Enterprise Architect Project Browser, right-click on the package to include in the documentation. The context menu displays. |
2. | Select the Documentation | Copy RTF Bookmark menu option to paste the package into the clipboard as a bookmark for use in Word. |

To Insert a Bookmarked Section of an Enterprise Architect RTF Document into Word, follow the steps below

How To:

Step

Action

See Also

1.

Open the Word document and position the cursor at the point at which to insert the file.

2.

Select the Word Insert | File menu option. The Insert dialog displays.

3.

Locate and click on the file to insert, then click on the Range button.

4.

In the Range cell type or paste the information from the clipboard.

5.

Click on the OK button.

6.

Click on the drop-down arrow next to the Insert button. Select the Insert as Link option.

The Insert option sets a permanent copy; the Insert as Link option creates a link that is updateable on altering the source document. For Insert as Link to operate you must first set Refresh Links.

Every package is bookmarked in the RTF document according to the following rules:

  • All alphabetic and numeric characters remain the same
  • All other characters (including spaces) are converted to underscores

For example UC01: Use Case Model becomes UC01__Use_Case_Model.

Refresh Links

Notes:

  • You cannot use RTF Bookmarking in Master Document elements, which effectively replace RTF Bookmarking in Word.

    RTF Bookmarking requires each bookmark to be unique. When you generate a report with a standard RTF template (including in a single Model Document element), each bookmark is unique and there is a 1:1 association between the Elements-details being generated and the elements in the repository. As Master Documents are intended to contain multiple sub-documents, the association ceases to be 1:1. There is no simple method that enables the generated data to be uniquely identified directly in association with the original element

Learn More:

  • Refresh Links
  • Create a Master Document


Other Features of Word [Enterprise Architect User Guide]

Other Features of Word

Word offers a considerable number of document enhancement tools to complete your project documentation. Here are some of the things you can do with Word in Enterprise Architect generated RTF documentation:

Topic | Link
Add a Table of Contents | Add a Table of Contents
Add a Table of Figures | Add a Table of Figures
Add Headers and Footers | Add Headers and Footers
Manipulating Tables in Word | Manipulating Tables in Word
Refresh Linked Files | Refresh Linked Files

Notes:

  • Enterprise Architect provides the basic content for your document - use Word to add the presentation and linkages


Add Table of Contents [Enterprise Architect User Guide]

Add Table of Contents

Among the features of MS word that can be incorporated into generated Enterprise Architect reports is the option to include a table of contents. A table of contents can be used to aid navigation of documentation and enhance the readability of Enterprise Architect RTF reports. This option provides hyperlinks to the diagrams included in the RTF documentation in the electronic version, and page numbers for both the printed and electronic documentation.

To include a Table of Contents in the RTF documentation, follow the steps below

How To:

Step | Action | See Also
1 | Open the Enterprise Architect RTF report to which to add a Table of Contents in MS Word |
2 | Select the Insert | Reference | Index and Tables menu option |
3 | Click on the Table of Contents tab to set the options that are available for formatting the table of contents |

The format of the table of contents is dependant on the heading levels created when the RTF is generated. To set the heading style for details in Enterprise Architect RTF documentation, see the RTF Document Options topic.

Learn More:

  • Document Options


Add Table of Figures [Enterprise Architect User Guide]

Add Table of Figures

Among the features of MS word that can be incorporated into generated Enterprise Architect reports is the option to include a table of figures. A table of figures can be used to aid the navigation of the documentation and enhance the readability of Enterprise Architect RTF reports. This option provide hyperlinks to the diagrams included in the RTF documentation in the electronic version and page numbers for both the printed and electronic documentation.

To include a Table of Figures in the RTF documentation, follow the steps below

How To:

Step | Action | See Also
1. | Open the Enterprise Architect RTF report to which to add a Table of Figures in MS Word. |
2. | Select the Insert | Reference | Index and Tables menu option. |
3. | Click on the Table of Figures tab to set the options that are available for formatting the table of figures. |


Add Headers and Footers [Enterprise Architect User Guide]

Add Headers and Footers

Among the features of MS word that can be used to enhance the appearance of Enterprise Architect RTF reports is the ability to add headers and footers to the documentation.

To include headers and footers in the RTF documentation follow the steps below

How To:

Step | Action | See Also
1. | In MS Word, open the Enterprise Architect RTF report to which to add headers and footers. |
2. | Select the View | Header and Footer menu option. |

This enables you to enter information into the header section and the footer section of the RTF Documentation.


Manipulate Tables in Word [Enterprise Architect User Guide]

Manipulate Tables in Word

When generating RTF documentation from Enterprise Architect, tables are included when items such as Attributes and Methods are selected in the For each Object section in the Rich Text Format Report dialog. MS Word offers several levels of customization for tables and can be used to tidy the formatting of the tables in situations where the margins of the table exceed the dimensions of the page size selected in Word for printing.

Resize Tables

When the amount of detail for a documented item such as an attribute or operation exceeds the margins of the page in MS Word it is necessary to manually resize the table in order to view all of the details.

To manually resize the table follow the steps below

How To:

Step | Action | See Also
1. | Select the table that exceeds the margin size. |
2. | Mouse over the border of the table until the mouse pointer changes into the icon shown below. cursortable |
3. | Drag the cursor to the left to reduce the width of the table and then select the File | Print Preview menu option to confirm that the table borders are within the page margins. |
4. | Resize all of the tables that overhang the margins of the page by using the steps detailed above. |

Applying Styles to Tables

One of the customizable properties of MS Word when working with tables is the ability to apply a style to a table, which enables you to rapidly change the appearance of the table.

To apply styles to a table, follow the steps below

How To:

Step | Action | See Also
1. | Open the Enterprise Architect RTF report in which to change the table styles. |
2. | Locate and select the table for which to adjust the appearance. |
3. | Select the Table | Table Auto Format menu option. The Table Autoformat dialog displays. |

From here you can specify a predefined table style from the Table styles list, or create a new style by clicking on the New button. The table styles defined in the Table Autoformat dialog only apply to one table at a time so you must apply the style to each table created individually.


Refresh Links [Enterprise Architect User Guide]

Refresh Links

If you link into Enterprise Architect reports, then you can regenerate the report and refresh MS Word links to update the Word master document without having manually changed anything.

To ensure that links are refreshed in the master document, you must select the Update automatic links at Open checkbox in Word.

To ensure that this setting is established follow the steps below

How To:

Step | Action | See Also
1. | From within MS Word select the Tools | Options menu option. |
2. | Select the General tab and select the Update automatic links at Open checkbox. |


HTML Reports [Enterprise Architect User Guide]

HTML Reports

Topics:

Topic

Detail

See also

Abstract

Enterprise Architect provides automated web-based publishing of models. A new outline structure closely mirrors the model hierarchy and makes it very simple to explore models on-line. With a great new look and the ability to explore very large models efficiently on-line, the new web-publishing capability is a significant enhancement.

Enterprise Architect enables export of an entire model or a single branch of the model to HTML Web pages. The HTML report provides an easy to use, highly detailed, Javascript based model tree. In addition, hyperlinked elements make browsing to related information very simple.

The current implementation is based on internal and external templates and generated Javascript. The ability to edit all templates is to be added in a future version of Enterprise Architect.

Create an HTML report

Notes:

  • You can create Web Style Templates to customize your HTML output
  • You can use Master Documents and Model Documents to select specific areas of your model for reporting
  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Generate Documents permission to generate HTML documents

Learn More:

  • Web Style Templates
  • Permission List


Create an HTML Report [Enterprise Architect User Guide]

Create an HTML Report

To create an HTML report, follow the steps below

How To:

Step | Action | See Also
1 | In the Project Browser, right-click on the root package for the report (all child packages are included in the output). The context menu displays. |
2 | Select the Documentation | HTML Report menu option. The Generate HTML Report dialog displays. | Generate HTML Report dialog
3 | In the Output to field, select an output directory for your report. Set any other required options. |
4 | Click on the Generate button to generate the report. The Progress field shows total percentage complete. |
5 | Once the report is complete, click on the View button to launch your default HTML viewer and view the web pages. |

Topics:

Topic

Detail

See also

Compatibility

The web report produced is compatible with any standard web server, on either Unix or Windows platforms. Simply bundle up the entire output directory and place it within the context of your web server. All path names should be relative and case sensitive.

When you view the HTML report in your HTML viewer, you can switch directly to a page for a specific diagram or element by specifying the appropriate GUID after the report web address. That is:

http://path/path/path/Index.htm?guid=xxxxxxxxxxxx

The word guid must be in lower case, and the value must not include braces { }. For example:

http:// .../path/Index.htm?guid=DC62B0DA-0D60-4447-85E6-B9BBAE7FC90F

You can obtain the GUID for the diagram or element using the Copy Reference option on the Project Browser Diagram, Element and Package context menu options.

The page locator does not work directly in Internet Explorer. Firefox automatically converts the path to file:///C:/path protocol, and actions it. That protocol also works in Internet Explorer. Therefore, to use the absolute references without a web server you must access the path using the file:/// protocol.

Diagram Menu

Element Menu

Package Menu

Quick Start

To generate an HTML report right now, follow the steps above on the System Model package of the EAExample project.

Notes:

  • If you are using Microsoft Internet Explorer 7.0 or later, and you do not have it open, its security profile might block the report display; click on the explanation banner at the top of the screen and select the Allow Blocked Content context menu option


The Generate HTML Report Dialog [Enterprise Architect User Guide]

The Generate HTML Report Dialog

The Generate HTML Report dialog is used to generate documentation about your model in HTML format. There are various settings to choose from to control the output, as described below.

Field | Usage | See also
Package | Display the name of the package you are creating documentation for. |
Title | Type the title for your HTML documentation; defaults to Package. |
Output to | Type the directory path your documentation is saved to. |
Style | Select a web style template to apply to your documentation (optional). | Web Style Templates
File | Specify the file extension for your HTML documentation files; the default is .htm. |
Header Image | Enter or select the file path for the header image graphic to display on your HTML output. If you do not specify a file path, the image defaults to the Enterprise Architect logo. |
Preserve White space in Notes | Preserve existing white space in your notes; deselect to remove white space. |
No page for Note and Text items | Omit the page for your notes and text items in the HTML report. |
Default Diagram | Select the diagram the report should open to when the generated documentation is loaded. |
Image Format | Select the image file format to save your images in, either PNG or GIF. |
Include | Select each area of your model to include in your report. |
System | Select each section to generate in your report. |

Click on the Generate button to generate the HTML report with the settings you have defined.

Click on the View button to display the report you have generated.

Notes:

  • You can also select packages in your model to exclude them (and their subordinate packages) from the HTML reports you generate

Learn more:

  • Exclude Package from Report


Web Style Templates [Enterprise Architect User Guide]

Web Style Templates

The HTML and CSS Style Editor enables you to edit the HTML associated with various sections of the HTML Report facility in Enterprise Architect. You would typically use this functionality to customize a report's look and feel for your company or client. The editor is derived from, and provides the facilities of, the common Code Editor.

Access: View | More Project Tools | Project Resources

How To:

To create or edit web style templates, follow the steps below:

Step

Action

See Also

1

Open the Resources window and expand the Templates folder

2

To:

  • Create a new template, right-click on the Web Style Templates folder and select the Create HTML Template context menu option; enter a name for the new template when prompted to do so
  • Edit an existing template, expand the Web Style Templates folder and either double-click on the template name or right-click and select the Modify HTML Style Template context menu option

In either case, the HTML and CSS Style Editor displays

To delete a template, right-click on it and select the Delete HTML Template context menu option

Topics:

Topic

Detail

See also

Usage

The HTML and CSS Style Editor contains a list of all available HTML fragments for modification and customization

Each fragment typically contains HTML plus one or more special tag names that Enterprise Architect replaces with information during generation. Currently you cannot alter the content within the tag names, but you can omit a complete tag by removing it, or alter its basic display properties in the surrounding HTML

Special tag names are delimited by # characters - for example, #NOTES#

The:

  • Get Default button retrieves the default Enterprise Architect template for the currently selected template item in the left hand list
  • Save button saves your version of the template for this style only
  • Delete button removes your modified version of the template, which causes Enterprise Architect to use the default template during report generation

To select a template during generation, use the Style drop-down arrow on the Generate HTML Report dialog; once a style is selected, Enterprise Architect applies that to the current report

Select <default> for the inbuilt style

HTML Template Fragments

Notes:

  • Each time Enterprise Architect generates the web report it overwrites these files, so you must back up your modified versions and copy them back in after every update

Learn More:

  • Code Editor


HTML Template Fragments [Enterprise Architect User Guide]

HTML Template Fragments

This topic identifies each of the HTML Template fragments available through the HTML and CSS Style Editor, and defines the fields of each fragment.

Section

Fields

Body - Diagram
  • #AUTHOR# - Diagram author
  • #CREATEDATE# - Diagram created date
  • #CSS# - Style Sheet to use
  • #GUID# - Diagram GUID
  • #IMAGE# - Image of the diagram
  • #IMAGES# - Image path
  • #LOCKED# - Is the diagram locked (true or false)
  • #MODDATE# - Diagram modified date
  • #NAME# - Diagram name
  • #NOTE# - Diagram notes
  • #STEREOTYPE# - Diagram stereotype
  • #TITLE# - Diagram title
  • #TYPE# - Diagram type
  • #VERSION# - Diagram version

Body – Object
  • #ABSTRACT# - Element abstract (if true, = abstract)
  • #ACTIVE# - Element isActive (true or false)
  • #ALIAS# - Element alias ("#ALIAS#")
  • #AUTHOR# - Element author
  • #BEHAVIOR# - Returns the object behavior.
  • #CLASSIFIER# - Element classifier
  • #CLASSIFIERREF# - Returns the HREF of the classifier
  • #COMPLEXITY# - Element complexity
  • #CREATEDATE# - Element created date
  • #CSS# - Style Sheet to use
  • #DIAGRAMS# - List of diagrams the element is on
  • #DIFF# - Element difficulty
  • #GUID# - Element GUID
  • #IMAGES# - Image path
  • #KEYWORDS# - Element keywords
  • #LANGUAGE# - Element language
  • #LEAF# - Element isLeaf (true or false)
  • #LEVELNUMBER# - Element level number
  • #MODDATE# - Element modified date
  • #MULTIPLICITY# - Element multiplicity ("Multiplicity: #MULTIPLICITY#")
  • #NAME# - Element name
  • #NOTE# - Element notes
  • #PHASE# - Element phase
  • #PRIORITY# - Element priority
  • #ROOT# - Element isRoot (true or false)
  • #SCOPE# - Element scope
  • #STATUS# - Element status
  • #STEREOTYPE# - Element stereotype(s)
  • #TYPE# - Element type; for example, Class, Object
  • #VERSION# - Element version

Body – Project Glossary
  • #CONTENT# - Loops Body – Project Glossary Item for each Project Glossary item

Body - Project Glossary Item
  • #MEANING# - Glossary Meaning
  • #TERM# - Glossary Term
  • #TYPE# - Glossary Type

Body – Project Issue
  • #CONTENT# - Loops Body – Project Issue Item for each Project Issue item

Body - Project Issue Item
  • #DATERESOLVED# - Project Issue resolved date (blank if no date entered)
  • #ISSUE# - Project Issue name
  • #ISSUEDATE# - Project Issue issue date
  • #NOTES# - Project Issue notes
  • #OWNER# - Project Issue owner
  • #RESOLUTION# - Project Issue resolution
  • #RESOLVER# - Project Issue resolver
  • #STATUS# - Project Issue status

Body – Project Task
  • #CONTENT# - Loops Body – Project Task Item for each Project Task item

Body - Project Task Item
  • #ENDDATE# - Project Task end date
  • #NAME# - Project Task name
  • #NOTES# - Project Task notes
  • #OWNER# - Project Task owner
  • #PHASE# - Project Task phase
  • #PRIORITY# - Project Task priority
  • #STARTDATE# - Project Task start date
  • #STATUS# - Project Task status
  • #TYPE# - Project Task type

Content – Attributes
  • #CONTENT# - Loops Content – Attributes Item for each attribute on an element

Content – Attributes Item
  • #ALIAS# - Attribute alias ("<i>Alias:</i> #ALIAS#<br>")
  • #CONST# - Attribute is constant value ("const " <-- Note Space)
  • #CONSTRAINT# - Attribute constraint
  • #DEFAULT# - Attribute default value ("<i>Initial:</i> #DEFAULT<br>")
  • #NAME# - Attribute name
  • #NOTE# - Attribute notes
  • #ORDERED# - Attribute Is ordered value ("Ordered <br />")
  • #RANGE# - If lower != 1 ("Range:<lower> to <upper>")
  • #SCOPE# - Attribute scope ("#SCOPE# " <-- Note space)
  • #STATIC# - Attribute is static value (“static ” <-- Note Space)
  • #STEREOTYPE# - Attribute stereotype(s)
  • #TAGS# - Attribute tags ("Property Name=Property Value<br>")
  • #TYPE# - Attribute type (if Column, “#TYPE(Column Precision, Scale)")

Content – Constraints
  • #CONTENT# - Loops Content – Constraints Item for each constraint on an element

Content – Constraints Item
  • #CONSTRAINT# - Constraint name
  • #NOTES# - Constraint notes
  • #STATUS# - Constraint status
  • #TYPE# - Constraint type

Content – Custom Properties
  • #CONTENT# - List of all Content – Custom Properties - Item

Content – Custom Properties - Item
  • #PROPERTY# - Custom property name
  • #VALUE# - Custom property value

( if type equal boolean

true or false

else

#VALUE#)

Content – Files
  • #CONTENT# - List of Content - Files Item

Content – Files Item
  • #DATE# - File date
  • #NAME# - File filename (<a href=”#FILENAME#”</a>)
  • #NOTES - File notes
  • #SIZE# - File size
  • #TYPE# - File type

Content - Inherited Attributes
  • #CONTENT# - Loops Content – Inherited Attributes Item for each attribute on an element

Content - Inherited Attributes Item
  • #ALIAS# - Attribute alias ("<i>Alias:</i> #ALIAS#<br>")
  • #CONST# - Attribute is constant value ("const " <-- Note Space)
  • #CONSTRAINT# - Attribute constraint
  • #DEFAULT# - Attribute default value ("<i>Initial:</i> #DEFAULT<br>")
  • #NAME# - Attribute name
  • #NOTE# - Attribute notes
  • #ORDERED# - Attribute Is ordered value ("Ordered <br />")
  • #RANGE# - If lower != 1 ("Range:<lower> to <upper>")
  • #SCOPE# - Attribute scope ("#SCOPE# " <-- Note space)
  • #STATIC# - Attribute is static value (“static ” <-- Note Space)
  • #STEREOTYPE# - Attribute stereotype(s)
  • #TAGS# - Attribute tags ("Property Name=Property Value<br>")
  • #TYPE# - Attribute type (if Column, “#TYPE(Column Precision, Scale)")

Content - Inherited Operations
  • #CONTENT# - List of Content - Inherited Operations Item

Content - Inherited Operations Item
  • #ABSTRACT# - Operation abstract (abstract)
  • #ALIAS# - Operation alias (“<i>Alias:</i> #ALIAS#<br>”)
  • #CONCURRENCY# - Operation concurrency (blank if not set)
  • #CONST# - Operation constant (const)
  • #CONSTRAINTS# - List of Method Constraint
  • #ISQUERY# - Operation IsQuery (isQuery)
  • #NAME# - Operation name
  • #NOTE# - Operation notes.
  • #PARAMS# - List of Content – Operations Item Parameters
  • #SCOPE# - Operation Scope
  • #STATIC# - Operation IsStatic (static)
  • #STEREOTYPE# - Operation stereotype
  • #TAGLABEL# - static text (Tags)
  • #TAGS# - Attribute tags ("Property Name=Property Value<br>")
  • #TYPE# - Operation type

Content – Notes
  • #VALUE#> - Notes text

Content – Operations
  • #CONTENT# - List of Content - Operations Item

Content – Operations Item
  • #ABSTRACT# - Operation abstract (abstract)
  • #ALIAS# - Operation alias (“<i>Alias:</i> #ALIAS#<br>”)
  • #CONCURRENCY# - Operation concurrency (blank if not set)
  • #CONST# - Operation constant (const)
  • #CONSTRAINTS# - List of Method Constraint
  • #ISQUERY# - Operation IsQuery (isQuery)
  • #NAME# - Operation name
  • #NOTE# - Operation notes.
  • #PARAMS# - List of Content – Operations Item Parameters
  • #SCOPE# - Operation Scope
  • #STATIC# - Operation IsStatic (static)
  • #STEREOTYPE# - Operation stereotype
  • #TAGLABEL# - static text (Tags)
  • #TAGS# - Attribute tags ("Property Name=Property Value<br>")
  • #TYPE# - Operation type

Content – Operations Item Parameters
  • #DEFAULT# - Op Parameter default
  • #GUID# - Op Parameter GUID
  • #KIND# - Op Parameter kind
  • #NAME# - Op Parameter name
  • #NOTES# - Op Parameter notes
  • #STEREOTYPE# - Op Parameter stereotype
  • #TYPE# - Op Parameter type

Content – Resource Allocation
  • #CONTENT# - List of Content – Resource Allocation Item

Content – Resource Allocation Item
  • #ACTUAL# - Resource actual time
  • #ENDDATE# - Resource end date
  • #EXPECTED# - Resource expected date
  • #NOTES# - Resource notes
  • #PERCENT# - Resource percent complete
  • #RESOURCE# - Resource name
  • #ROLE# - Resource role
  • #STARTDATE# - Resource start date
  • #TIME# - Resource time

CSS – Main
  • None

CSS – ToC
  • None

Feature Notes
  • #FIELD#
  • #VALUE#

Javascript
  • None

Link (Association)
  • #CONTENT#

Link (Association) Item
  • #CONNECTION# - Connector type
  • #IMAGE# - The file path of the images
  • #LINK# - (<a href= "path to element"> "Connection Name" </a>)
  • #NOTES# - The connector notes
  • #NUMBER# - A unique number used to identify div elements
  • #SOURCEROLE# - Source role
  • #SOURCEROLENOTES# - Source role notes
  • #STEREOTYPE# - Connector stereotype
  • #TARGETROLE# - Target role
  • #TARGETROLENOTES# Target role notes
  • #TYPE# - Connector type

Link (Flow)
  • #CONTENT#

Link (Flow) Item
  • #DIRECTION# - Connector direction
  • #ELEMNAME# - Name of the element at the source/destination of the connector
  • #IMAGE# - The file path of the images
  • #LINK# - (<a href= "path to element"> "Connection Name" </a>)
  • #LINKREF# - Page name of the element at the source/destination of the connector
  • #NAME# - Connector name
  • #NOTES# - The connector notes
  • #NUMBER# - A unique number used to identify div elements
  • #STEREOTYPE# - Connector stereotype
  • #TYPE# - Connector type

Link (Other)
  • #CONTENT#

Link (Other) Item
  • #CONNECTION# - Connector type
  • #IMAGE# - The file path of the images
  • #LINK# - (<a href= "path to element"> "Connection Name" </a>)
  • #NOTES# - The connector notes
  • #NUMBER# - A unique number used to identify div elements
  • #SOURCEROLE# - Source role
  • #SOURCEROLENOTES# - Source role notes
  • #STEREOTYPE# - Connector stereotype
  • #TARGETROLE# - Target role
  • #TARGETROLENOTES# Target role notes
  • #TYPE# - Connector type

Linked Document
  • #LINKDOC# - Linked Document.

Linked Requirement
  • #CONTENT# - List of Linked Requirement Item

Linked Requirement Item
  • #DIFF# - Linked Requirement difficulty
  • #NAME# - Linked Requirement name
  • #PRIORITY# - Linked Requirement priority
  • #STATUS# - Linked Requirement status

Linked Section
  • #ITEMS#
  • #TITLE#

Maintenance
  • #CONTENT# - List of Maintenance Line Item

Maintenance Line Item
  • #DATEREPORTED# - Maintenance date reported
  • #DATERESOLVED# - Maintenance date resolved
  • #IMAGE# - The file path of the images
  • #NOTES# - Maintenance notes
  • #NUMBER# - A unique number used to identify div elements
  • #PRIORITY# - Maintenance priority
  • #PROBLEM# - Maintenance name
  • #REPORTEDBY# - Maintenance reported by
  • #RESOLVEDBY# - Maintenance resolved by
  • #RESOLVERNOTES# - Maintenance resolved notes
  • #STATUS# - Maintenance status
  • #TYPE# - Maintenance type
  • #VERSION# - Maintenance version

Message

(Applies only to Sequence messages.)

  • #CONTENT# - Loops the Message Item for each attribute on an element
  • #DIRECTION# - Contains the value To or From

Message Item
  • #KIND# - The Message Kind field
  • #MESSAGE# - Connector Message
  • #NAME# - Name of the Message (<a href="<path>">#NAME#)
    If Message has a classifier: #NAME#="#NAME# :Classifier"
  • #NOTES# - The Message notes (<strong>Type:</strong> #Item Type#<br /> #NOTES#)
  • #SYNCH# - The Message Synch field
  • #TYPE# - The type of Message

Method Constraint
  • #NAME# - Method Constraint name
  • #NOTES# - Method Constraint notes
  • #TYPE# - Method Constraint type

Object Requirement
  • #CONTENT# - List of Object Requirement Item

Object Requirement Item
  • #DIFF# - Requirement difficulty
  • #NAME# - Requirement name
  • #NOTES# - Requirement notes
  • #PRIORITY# - Requirement priority
  • #STABILITY# - Requirement stability
  • #STATUS# - Requirement status
  • #TYPE# - Requirement type

Package Content
  • #CONTENT# - List of Package Content Row

Package Content Row
  • #NAME# - Link to Package (<a href="#Link to file#">#Package name#</a>)
  • #TYPE# - Link to Image (<img src="#path to image#">)

Page - Basic template
  • #CONTENT# - Contains Body - Diagram through to Body - Object
  • #TITLE# - Current package name

Page - Index
  • #CSS# - Style Sheet to use
  • #HOME# - A link to the Start page
  • #JS# - Javascript to use
  • #TITLE# - Current package name
  • #TOC# - To be established

Page - ToC
  • None

Scenario
  • #CONTENT# - List of Scenario Item
  • #EXCEPTIONS# - List of Structured Scenario exceptions
  • #STRUCTURED# - List of Structured Scenarios

Scenario Item
  • #IMAGE# - The file path of the images
  • #NOTES# - Scenario notes
  • #NUMBER# - A unique number used to identify div elements
  • #SCENARIO# - Scenario name
  • #TYPE# - Scenario type

Scenario Exception
  • #CONTENT# - Loops Scenario Exception Item for each exception

Scenario Exception Item
  • #NAME# - Exception name
  • #STEPNO# - Exception step number
  • #TYPE# - Exception Type

Scenario Structured
  • #CONTENT# - Loops Scenario Structured Items for each Structured Scenario item

Scenario Structured Items
  • #ACTION# - Name of the scenario
  • #STEPNO# - Scenario step number
  • #RESULT# - Step result value
  • #USES# - Step uses value
  • #STATE# - Step state value

Tagged Value
  • #CONTENT# - List of Tagged Value Line Item

Tagged Value Line Item
  • #IMAGE# - The file path of the images
  • #NOTES# - Tagged Value notes
  • #NUMBER# - A unique number used to identify div elements
  • #PROPERTY# - Tagged Value name
  • #VALUE# - Tagged Value if type is boolean (value is true or false)

Test Cases
  • #CONTENT# - List of Test Cases Line Item

Test Cases Line Item
  • #ACCEPTANCE# - Test case acceptance notes
  • #CHECKEDBY# - Test case checked by
  • #CLASS# - Test case class (Unit, Integration, System, Acceptance, Scenario)
  • #IMAGE# - The file path of the images
  • #INPUT# - Test case input notes
  • #NOTES# - Test case notes
  • #NUMBER# - A unique number used to identify div elements
  • #RESULTS# - Test case result notes
  • #RUNBY# - Test case run by
  • #RUNDATE# - Test case last run
  • #STATUS# - Test case status
  • #TEST# - Test case name
  • #TYPE# - Test case type

Learn More:

  • HTML and CSS Style Editor


Master Documents and Model Documents [Enterprise Architect User Guide]

Master Documents and Model Documents

Enterprise Architect enables you to generate HTML documentation using Master Document and Model Document elements, just as you do for RTF reports. However, there are two differences:

  • You do not specify the template in the document elements; you must select it on the Generate HTML Report dialog, in the Style field
  • You do not use the SearchName and SearchValue Tagged Values in the Model Document elements to select the generated elements

Learn More:

  • Virtual Documents
  • Generate HTML Report Dialog


Generate a Master Document (HTML) [Enterprise Architect User Guide]

Generate a Master Document (HTML)

 Return to Introduction

To generate the HTML documentation defined in the Master Document and/or Model Documents, follow the steps below

How To:

Step | Action | See Also
1 | On the documentation diagram, click on the Master Document element (or on an independent Model Document element). |
2 | Select the Project | Documentation | HTML Report option. The Generate HTML Report dialog displays. |
3 | Set the options for your HTML document as required. Ensure that you select your Master Document template in the Style field. | Generate HTML Report Dialog
4 | Click on the Generate button to create the documentation. The HTML Report Generator works through the defined content of the Master Document element and/or the Model Document elements and pulls in the information from the listed packages, formatted according to the template identified in the Style field. |
5 | Click on the View button to view the documentation. |


Automation [Enterprise Architect User Guide]

Automation

This section describes how you can automate and extend the facilities of Enterprise Architect through:

Topic | Link
Scripts | Scripts
The Enterprise Architect Object Model | The Enterprise Architect Object Model
The Enterprise Architect Add-In Model | The Enterprise Architect Add-In Model


Scripting [Enterprise Architect User Guide]

Scripting

Topics:

Topic

Detail

See also

Usage

Scripts executed in Enterprise Architect have access to the currently open model and are a powerful tool for querying and updating the model in situations that would otherwise require you to perform time consuming and repetitive GUI tasks

Enterprise Architect supports management of scripts using the following script engines:

  • JavaScript
  • Microsoft JScript
  • Microsoft VBScript

The management interface for Scripting is the Scripting window, which contains the:

  • Script Tree View (Scripts tab), which you use to review, create and edit scripts
  • Script Console (Console tab), which you use to operate on an executing script.

Scripts are managed in groups: the first group in the list is always Local Scripts, which are files in the Scripts subdirectory of the Enterprise Architect installation - any instance of Enterprise Architect that has a currently open model can see these scripts; you cannot create, edit, drag-and-drop or delete Local scripts

All other groups are User Scripts, which you create yourself; a user group can be one of five types, each of which applies a template and certain conditions to the scripts you create within that group

User scripts are only visible inside the model in which they were created; the contents of the scripts are stored with the model, although they can be saved to the file system easily using the Script Editor

Script Tab

Console Tab

Script Group Properties

Script Editor

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions
  • If you intend to use the Scripting facility under Crossover/WINE, you must also install Internet Explorer version 6.0 or above


Scripts Tab [Enterprise Architect User Guide]

Scripts Tab

Topics:

Topic

Detail

See also

Usage

The Scripts tab is composed of a toolbar and a view of all scripts according to group

To execute a script, press ( Ctrl ) while you double-click on the script name

To write or edit a user script, double-click on the script name to display the Script Editor; this usually displays a script template, determined by the user group type as assigned on creation or on the Script Group Properties dialog

You can move or copy a script from one user scripts folder to another; to:

  • Move a script, highlight it in the Scripts tab and drag it into the user scripts folder it now belongs to
  • Copy a script, highlight it in the Scripts tab and press ( Ctrl ) while you drag it into the user scripts folder in which to duplicate it

Script Editor

Script Group Properties

Context Menus

The script groups and their scripts also have context menus that provide some or all of the following options:

  • Group Properties - to display or edit script group properties in the Script Group Properties dialog
  • Run Script - to execute the selected script
  • Rename Script - to change the name of the selected group or script
  • New VBScript/JScript/JavaScript - add a new script to the selected user group
  • Import Workflow Script - to display the Browser dialog through which you locate and select a workflow script source (.vbs) file to import into the Workflow script folder
  • Delete Group/Script - to delete the selected user group or script

Script Group Properties

The Scripts tab toolbar provides the following options:

Reference:

Icon

Action

See also

NewScriptGroup

Create a new script group; this option displays a short menu of the types of script group you can create, namely:

  • Normal group ( newNormalGroup )
  • Project Browser group ( newProjBrowserGroup )
  • Diagram group ( newDiagramGroup )
  • Workflow Group ( newWorkflorGroup )
  • Search Group ( newSearchGroup )

The new group is added to the end of the list in the Scripting window, with the 'New group' text highlighted so that you can type in the group name

CreateNewScript

Create a new script file in the selected script group; displays a short menu of the types of script you can create, namely:

  • VBScript ( VBScript)
  • JScript ( Jscript)
  • JavaScript ( Javascript )

The new script is added to the end of the list in the selected group, with the 'New script' text highlighted so that you can type in the script name

RefreshScript

Refresh the script tree in the Scripting window; this icon also reloads any changes made to a workflow script

Runscript

Compile and execute the selected script

The output from the script is written to the Script tab of the Output window, which you display using the View Script Output button (below)

Stopscript

Stop an executing script; the icon is disabled if no script is executing

DeleteScript

Delete a script from the model; you cannot use this icon to delete a script group (see the Context Menu item above), scripts in the Local Scripts group, or a script that is executing

The system prompts you to confirm the deletion only if the Confirm Deletes checkbox is selected in the Project Browser panel of the General page of the Options dialog; if this option is not selected, no prompt is displayed

Script deletion is permanent - scripts cannot be recovered

Script Tab

General setting

DisplayOutput

Display the Output window with the results of the most recently executed script displayed in the Script tab

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions
  • If you add, delete or change a script, you might have to reload the model in order for the changes to take effect
  • If you select to delete a script group that contains scripts, the system always prompts you to confirm the action regardless of any system settings for delete operations; be certain that you intend to delete the group and its scripts before confirming the deletion - deletion of script groups and scripts is permanent


Script Group Properties [Enterprise Architect User Guide]

Script Group Properties

Topics:

Topic

Detail

See also

Usage

The Script Group Properties dialog enables you to set the following properties of the script group:

  • Name - The name of the script group; the dialog also displays the automatically-assigned GUID of the group
  • Group Type - The type of scripts contained in the group; this can be one of:
  • Normal - ( newNormalGroup) Ordinary scripts
  • Project Browser - ( newProjBrowserGroup) Scripts that are listed in and can be executed from the Project Browser Scripts context menu option
  • Workflow - ( newWorkflorGroup) Scripts executed by Enterprise Architect's workflow engine; you can create only VB scripts of this type
  • Search - ( newSearchGroup) Scripts that can be executed as model searches; these scripts are listed in the Search field of the Model Search window, in the last category in the list
  • Diagram - ( newDiagramGroup) Scripts that are listed in and can be executed from the Scripts submenu of the Diagram context menu
  • Notes - Your own notes on the script group

Package Context Menu

Workflow Scripts

Model Search

Diagram Context Menu


Console Tab [Enterprise Architect User Guide]

Console Tab

Topics:

Topic

Detail

See also

Abstract

The script console is a tab of the Scripting window. It is a command line interpreter with which you can quickly enable a script engine and enter commands to act on the script.

You type the commands in the field at the bottom of the tab; when you press the ( Enter ) key, the script console executes the commands and displays any output immediately.

You can input two types of command:

  • Console commands
  • Script commands

Console Commands

Console commands are preceded by the ! character and instruct the console to perform an action. The available console commands are listed below; to list these commands on the Console tab itself (as shown above) type ? in the console field (without the preceding ! character) and press ( Enter )

  • c(lear) - clears the console display
  • sa(ve) - saves the console display to a file
  • h(elp) - prints a list of commands, as for ?
  • VB - opens a VBScript console
  • JA - opens a JavaScript console
  • JS - opens a JScript console
  • st(op) - closes any script running console
  • i(nclude) name - executes the named script item; name is of the format GroupName.ScriptName (spaces are allowed in names)
  • ? - (without the !) lists commands
  • ?name - Outputs the value of a variable name (only if a script console is opened)

Script Commands

A script command is script code that depends on the script engine. Script commands can be executed only once a script console has been created.

Examples:

The following lines, entered into the console, create a VBScript console and then execute the script MyScript in the user group MyGroup.

>!VB

>!i MyGroup.MyScript

The following lines, entered into the console, create a JScript console and then create a variable called x with the value 1.

>!JS

>var x = 1

The following image shows the result of entering the above JScript example. Remember that you can use ?<variable name> to get the current value of any item you have created during the console session.

Console Tab Toolbar

The Console tab has two operations available through the toolbar:

  • Open Console ( Runscript) - click on the down-arrow and select to open a VBScript console, JScript console or JavaScript console
  • Stop Script ( Stopscript) - click to stop an executing script and close the current console.

Notes:

  • This facility is available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions


Enterprise Architect Object Model [Enterprise Architect User Guide]

Enterprise Architect Object Model

Topics:

Topic

Detail

See also

Introduction

Automation provides a way for other applications to access the information in an Enterprise Architect model using Windows OLE Automation (ActiveX). Typically this involves scripting clients such as MS Word or Visual Basic, or using scripts created within Enterprise Architect using the Scripting window.

The Automation Interface provides a way of accessing the internals of Enterprise Architect models. Examples of things you can do using the Automation Interface include:

  • Perform repetitive tasks, such as update the version number for all elements in a model
  • Generate code from a State Machine diagram
  • Produce custom reports
  • Perform ad hoc queries

Scripting

Connecting to the Automation Interface

All development environments capable of generating ActiveX Com clients should be able to connect to the Enterprise Architect Automation Interface. This guide provides detailed instructions on connecting to the interface using Microsoft Visual Basic 6.0, Borland Delphi 7.0, Microsoft C# and Java. There are also more detailed steps on how to set-up Visual Basic; the principles are applicable to other languages.

Connecting to the Interface

Set References in Visual Basic

Examples and Tips

Instruction on how to use the Automation Interface is provided by means of sample code. See pointers to the samples and other available resources. Also, consult the extensive Reference Section.

Pointers to the Samples

Available Resources

Reference

Calling Executables from Enterprise Architect

Enterprise Architect can be set up to call an external application. You can pass parameters on the current position selected in the Project Browser to the application being called. For instructions, go to the Call from Enterprise Architect topic. A more sophisticated method is to create Add-Ins, which are discussed in a separate topic.

Call from Enterprise Architect

Add-Ins


Using the Automation Interface [Enterprise Architect User Guide]

Using the Automation Interface

This section provides instructions on how to connect to and use the Automation Interface, including:

Topic | Link
Connecting to the Interface | Connecting to the Interface
Setting References In Visual Basic | Setting References In Visual Basic
Examples and Tips | Examples and Tips


Connect to the Interface [Enterprise Architect User Guide]

Connect to the Interface

All development environments capable of generating ActiveX Com clients should be able to connect to the Enterprise Architect Automation Interface.

By way of example, the following sections describe how to connect using several such tools. The procedure might vary slightly with different versions of these products.

How To - Microsoft Visual Basic 6.0

Step | Action | See Also
1. | Create a new project. |
2. | Select the Project | References menu option. |
3. | Select Enterprise Architect Object Model 2.0 from the list. (If this does not appear, go to the command line and re-register Enterprise Architect using EA.exe /unregister then EA.exe /register). |
4. | See the general library documentation on the use of Classes. The following example creates and opens a repository object: Public Sub ShowRepository() Dim MyRep As New EA.Repository MyRep.OpenFile "c:\eatest.eap" End Sub |

How To - Borland Delphi 7.0

Step | Action | See Also
1. | Create a new project. |
2. | Select the Project | Import Type Library menu option. |
3. | Select Enterprise Architect Object Model 2.0 from the list. (If this does not appear, go to the command line and re-register Enterprise Architect using EA.exe /unregister then EA.exe /register). |
4. | Click on the Create Unit button. |
5. | Include EA_TLB in Project1's Uses clause. |
6. | See the general library documentation on the use of Classes. The following example creates and opens a repository object: procedure TForm1.Button1Click(Sender: TObject); var r: TRepository; b: boolean; begin r:= TRepository.Create(nil); b:= r.OpenFile('c:\eatest.eap'); end; |

How To - Microsoft C#

Step | Action | See Also
1. | Select the Visual Studio Project | Add Reference menu option. |
2. | Click on the Browse tab. |
3. | Navigate to the folder in which you installed Enterprise Architect (usually Program Files/Sparx Systems/EA) and select Interop.EA.dll. |
4. | See the general library documentation on the use of Classes. The following example creates and opens a repository object: private void button1_Click(object sender, System.EventArgs e) { EA.Repository r = new EA.RepositoryClass(); r.OpenFile("c:\\eatest.eap"); } |

How To - Java

Step | Action | See Also
1. | Copy the file SSJavaCOM.dll from the Java API subdirectory of your installed directory (usually Program Files/Sparx Systems/EA) into any location within the Windows PATH. For example, the windows\system32 directory. |
2. | Copy the eaapi.jar file from the Java API subdirectory of your installed directory (usually Program Files/Sparx Systems/EA) to a location in the Java CLASSPATH or where the Java class loader can find it at run time. |
3. | All of the Classes described in the documentation are in the package org.sparx. See the general library documentation for their use. The following example creates and opens a repository object. public void OpenRepository() { org.sparx.Repository r = new org.sparx.Repository(); r.OpenFile("c:\\eatest.eap"); } | Reference


Set References In Visual Basic [Enterprise Architect User Guide]

Set References In Visual Basic

This topic describes how to use the Enterprise Architect ActiveX interface with Visual Basic (VB). Use is ensured for Visual Basic version 6. This might vary slightly with versions other than version 6.

It is assumed that you have accessed VB through a Microsoft Application such as VB 6.0, MS Word or MS Access. If the code is not called from within Word, the Word VB reference must also be set.

On creating a new VB project, set a reference to an Enterprise Architect Type Library and a Word Type Library. Follow the steps below:

How To

Step | Action | See Also
1. | Select the Tools | References menu option. The following dialog displays: |
2. | Select the Enterprise Architect Object Model 2.10 checkbox from the list. |
3. | Do the same for VB or VB Word: select the checkbox for the Microsoft Word 10.0 Object Library. |
4. | Click on the OK button. |

Notes:

  • If Enterprise Architect Object Model 2.10 does not appear in the list, go to the command line and manually re-enter Enterprise Architect using the following:
  • To unregister Enterprise Architect: ea.exe /unregister
  • To register Enterprise Architect: ea.exe /register

  • Visual Basic 5/6 users should also note that the version number of the Enterprise Architect interface is stored in the VBP project file in a form similar to the following:

Reference=*\G{64FB2BF4-9EFA-11D2-8307-C45586000000}#2.2#0#..\..\..\..\Program Files\Sparx Systems\EA\EA.TLB#Enterprise Architect Object Model 2.02

If you experience problems moving from one version of Enterprise Architect to another, open the VBP file in a text editor and remove this line. Then open the project in Visual Basic and use Project-References to create a new reference to the Enterprise Architect Object model

Reference to objects in Enterprise Architect and Word should now be available in the Object Browser. This can be accessed from the main menu by selecting View | Object Browser, or by pressing ( F2 )

The drop-down list on the top-left of the window should now include Enterprise Architect and Word. If MS-Project is installed this must also be set up


Examples and Tips [Enterprise Architect User Guide]

Examples and Tips

Topics:

Topic

Detail

See also

Usage

Instructions for using the interface are provided through sample code. There are several sets of examples:

  • VB 6 and C# examples are available in the Code Samples folder under your Enterprise Architect installation
    (default: C:\Program Files\Sparx Systems\EA\Code Samples)
  • Enterprise Architect can be set up to call an external application
  • Several VB.NET code snippets are provided in the reference section
  • A comprehensive example of using Visual Basic to create MS Word documentation is available from the internet at www.sparxsystems.com/resources/developers/autint_vb.html
  • Additional samples are available from the Sparx Systems website; see the Available Resources topic

Call an External Application

Code Samples

www.sparxsystems.com/resources/developers/autint_vb.html (Online Resource)

Available Resources

Tips and Tricks

Additionally, you should note the following tips and tricks:

  • An instance of the Enterprise Architect (EA.exe) process is executed when you initialize a new repository object. This process must remain running in order to perform automation tasks. If the main window is visible, you can safely minimize it, but it must remain running.
  • The Enterprise Architect ActiveX Interface is a functional interface rather than a data interface. When you load data through the interface there is a noticeable delay as Enterprise Architect user interface elements (such as Windows, menus) are loaded and the specified database connection is established.
  • Collections use a zero-based index; for example, Repository.Models(0) represents the first model in the repository.
  • During the development of your client software your program might terminate unexpectedly and leave EA.exe running in such a state that it is unable to support further interface calls. If your program terminates abnormally, ensure that Enterprise Architect is not left running in the background (see the Windows Task Manager / Process tab).
  • A handle to a currently running instance of Enterprise Architect can be obtained through the use of a GetObject() call. For more information, refer to the reference page for the App object. Accessing your Enterprise Architect model via the App object enables querying the current User Interface status, such as using GetContextItem() on the Repository object to detect the current selection by the user, allowing for rapid prototyping and testing

Repository Class

App Class

Enterprise Architect Not Closing

If your automation controller was written using the .NET framework, Enterprise Architect does not close even after you release all your references to it. To force the release of the COM pointers, call the memory management functions as shown below:

GC.Collect();

GC.WaitForPendingFinalizers();

There are additional concerns when controlling a running instance of Enterprise Architect that loads Add-Ins - see the Tricks and Traps topic for details.

Tricks and Traps


Call from Enterprise Architect [Enterprise Architect User Guide]

Call from Enterprise Architect

Enterprise Architect can be set up to call an external application. You can pass parameters on the current position selected in the Project Browser to the application being called.

Access: Tools | Customize > Tools

To define an application that you can run from Enterprise Architect, select the Tools | Customize menu option. The Customize dialog displays. Select the Tools tab.

Topics:

Topic

Detail

See also

Uses

With this you can:

  • Add a command line for an application
  • Define parameters to pass to this application

The parameters required for running the AutInt executable are:

  • The Enterprise Architect file parameter $f and
  • The current PackageID $p

Hence the arguments should simply contain: $f, $p

The available parameters for passing information to external applications are:

Parameter | Description | Notes
$d | Diagram ID | ID for accessing associated diagram.
$D | Diagram GUID | GUID for accessing the associated diagram.
$e | Comma separated list of element IDs | All elements selected in the current diagram.
$E | Comma separated list of element GUIDs | All elements selected in the current diagram.
$f | Project Name | For example: C:\projects\EAexample.eap.
$F | Calling Application (Enterprise Architect) | 'Enterprise Architect'.
$p | Current Package ID | For example: 144.
$P | Package GUID | GUID for accessing this package.

Once this has been set up, the application can be called from the main menu in Enterprise Architect using the Add-Ins | <YourApplication> menu option.


Available Resources [Enterprise Architect User Guide]

Available Resources

Other available resources include:

Resource | Download Link
VB 6 Add-In for generating MS Word documentation. | www.sparxsystems.com/resources/developers/autint_vb.html
VB 6 Add-In to display a custom ActiveX graph control within the Enterprise Architect window as a new view. | www.sparxsystems.com/resources/developers/autint_vb_custom_view.html
A basic Add-In framework written in C#. Useful as a starting point for authoring your own custom Enterprise Architect Add-In. | www.sparxsystems.com/bin/CS_AddinFramework.zip
An extension on the CS_AddinFramework example showing how to export Tagged Values to a .csv file. | www.sparxsystems.com/bin/CS_AddinTaggedCSV.zip
A basic Add-In skeleton written in Delphi. | www.sparxsystems.com/bin/DelphiDemo.zip
A simple example Add-In written in C#. | www.sparxsystems.com/bin/CS_Sample.zip

Learn More:

  • For further information,see www.sparxsystems.com/resources/developers/autint.html


Reference [Enterprise Architect User Guide]

Reference

This section provides detailed information on all the objects available in the object model provided by the Automation Interface, covering:

Topic | Link
Interface Overview Package | Interface Overview Package
App Object | App Object
Enumerations | Enumerations
Repository Package | Repository Package
Element Package | Element Package
Element Features Package | Element Features Package
Connector Package | Connector Package
Diagram Package | Diagram Package
Project Interface Package | Project Interface Package
Document Generator Interface Package | Document Generator Interface Package
Mail Interface Package | Mail Interface Package
Code Samples | Code Samples


Interface Overview Package [Enterprise Architect User Guide]

Interface Overview Package

This package provides an overview of the main components of the Automation Interface. These include the:

Topic | Detail | Link
Repository Package | Represents the model as a whole and provides entry to model packages and collections | Repository Package
Element Package | Identifies the basic structural units (such as Class, Use Case and Object) | Element Package
Element Features Package | Identifies the attributes and operations defined on an element | Element Features Package
Diagram Package | Describes the visible drawings contained in the model | Diagram Package
Connector Package | Defines the relationships between elements | Connector Package

The following diagram illustrates the main interface packages and their associated contents. Each element in this document is creatable by Automation and can be accessed through the various collections that exist or, in some cases, directly.

Enterprise Architect Automation Interface Elements

The Repository Class is the starting point for all use of the automation interface. It contains the high level system objects and entry point into the model itself using the Models collection and the other system level collections.


App Object [Enterprise Architect User Guide]

App Object

The App object represents a running instance of Enterprise Architect. Its object provides access to the Automation Interface.

Attribute | Type | Notes
Project | Project | Read only. Provides a handle to the Project Interface.
Repository | Repository | Read only. Provides a handle to the Repository object.
Visible | Boolean | Read/Write. Whether or not the application is visible.

Topic

Detail

Link

GetObject() Support

The App object is creatable and a handle can be obtained by creating one. In addition, clients can use the equivalent of Visual Basic's GetObject() to obtain a reference to a currently running instance of Enterprise Architect.

Use this method to more quickly test changes to Add-Ins and external clients, as the Enterprise Architect application and data files do not have to be constantly re-loaded.

For example:

Dim App as EA.App

Set App = GetObject(,"EA.App")

MsgBox App.Repository.Models.Count

Another example, which uses the App object without saving it to a variable:

Dim Rep as EA.Repository

Set Rep = GetObject(, "EA.App").Repository

MsgBox Rep.ConnectionString


Enumerations [Enterprise Architect User Guide]

Enumerations

The following enumerations are defined by the Automation Interface:

Enumeration | Link
Constant Layout Styles | ConstLayoutStyles
Create Baseline Flag | CreateBaselineFlag
Create Model Type | CreateModelType
Document Break | DocumentBreak
Document Type | DocumentType
EA Edition Types | EAEditionTypes
Enumeration Relation Set Type | EnumRelationSetType
Export Package XMI Flag | ExportPackageXMIFlag
Mail Interface Message Flag | MessageFlag
MDG Menus | MDGMenus
Object Type | ObjectType
PropType | PropType
Reload Type | ReloadType
Scenario Diagram Type | ScenarioDiagramType
Scenario Step Type | ScenarioStepType
Scenario Test Type | ScenarioTestType
XMI Type | XMIType


ConstLayoutStyles [Enterprise Architect User Guide]

ConstLayoutStyles

The enum values defined here are used exclusively for the Lay Out a Diagram method. They enable you to define the layout options as depicted in the Diagram | Layout Diagram menu option.

Value | Meaning
lsCrossReduceAggressive | Perform aggressive Cross-reduction in the layout process (time consuming)
lsCycleRemoveDFS | Use the Depth First Cycle Removal algorithm
lsCycleRemoveGreedy | Use the Greedy Cycle Removal algorithm
lsDiagramDefault | Use existing layout options specified for this diagram
lsInitializeDFSIn | Initialize the layout using the Depth First Search Inward algorithm
lsInitializeNaive | Initialize the layout using the Naïve Initialize Indices algorithm
lsInitializeDFSOut | Initialize the layout using the Depth First Search Outward algorithm
lsLayeringLongestPathSink | Layer the diagram using the Longest Path Sink algorithm
lsLayeringLongestPathSource | Layer the diagram using the Longest Path Source algorithm
lsLayeringOptimalLinkLength | Layer the diagram using the Optimal Link Length algorithm
lsLayoutDirectionDown | Direct connectors to point down
lsLayoutDirectionLeft | Direct connectors to point left
lsLayoutDirectionRight | Direct connectors to point right
lsLayoutDirectionUp | Direct connectors to point up
lsProgramDefault | Use factory default layout options as specified by Enterprise Architect

Learn More:

  • Lay Out a Diagram


CreateBaselineFlag [Enterprise Architect User Guide]

CreateBaselineFlag

The CreateBaselineFlag enumeration is used in Baseline Management, when creating a Baseline.

Value | Meaning
cbSaveToStub | Baseline this package with only immediate children (child packages are included as stubs only)


CreateModelType [Enterprise Architect User Guide]

CreateModelType

The CreateModelType enumeration is used in the CreateModel method on the Repository Class.

Value | Meaning
cmEAPFromBase | Create a copy of the EABase model file to the specified file path
cmEAPFromSQLRepository | Create a .eap file shortcut to an SQL-based repository; requires user interaction to provide sql connection details

Learn More:

  • CreateModel Method


DocumentBreak [Enterprise Architect User Guide]

DocumentBreak

The DocumentBreak enumeration is used in the InsertBreak method on the DocumentGenerator Class.

Value | Meaning
breakPage | Insert a page break in the document
breakSection | Insert a section break in the document

Learn More:

  • InsertBreak Method


DocumentType [Enterprise Architect User Guide]

DocumentType

The DocumentType enumeration is used in the SaveDocument method on the DocumentGenerator Class.

Value | Meaning
dtHTML | Save the document file to disk as an HTML document
dtRTF | Save the document file to disk as an RTF document

Learn More:

  • SaveDocument


EAEditionTypes [Enterprise Architect User Guide]

EAEditionTypes

Topic

Detail

See Also

General Usage

The EAEditionTypes enumeration identifies the current level of licensed functionality available; for example:

EAEditionTypes theEdition = theRepository.GetEAEdition();

if ( theEdition == EAEditionTypes.piDesktop )

...

else if ( theEdition == EAEditionTypes.piProfessional )

...

The enumeration defines the following formal values:

  • piLite
  • piDesktop
  • piProfessional
  • piCorporate
  • piBusiness
  • piSystemEng
  • piUltimate

There is no separate value for the trial edition; the Repository.GetEAEdition() function returns the appropriate EAEditionTypes value for whichever edition the user has selected to trial


EnumRelationSetType [Enterprise Architect User Guide]

EnumRelationSetType

This enumeration represents values returned from the GetRelationSet method of the Element object.

Value | Meaning
rsDependEnd | List of elements that depend on the current element
rsDependStart | List of elements that the current element depends on
rsGeneralizeEnd | List of elements that are generalized by the current element
rsGeneralizeStart | List of elements that the current element generalizes
rsParents | List of all parent elements of the current element
rsRealizeEnd | List of elements that are realized by the current element
rsRealizeStart | List of elements that the current element realizes

Learn More:

  • Element Class


ExportPackageXMIFlag [Enterprise Architect User Guide]

ExportPackageXMIFlag

The ExportPackageXMIFlag enumeration is used in package control, when exporting to XMI.

Value | Meaning
epSaveToStub | Export this package with only immediate children (child packages are included as stubs only)


MDGMenus [Enterprise Architect User Guide]

MDGMenus

Use this enumeration when providing the HiddenMenus property to MDG_GetProperty.

These options are exclusive of one another and can be read or added to hide more than one menu.

Value | Meaning
mgBuildProject | Hide Build Project menu option
mgMerge | Hide Merge menu option
mgRun | Hide Run menu option

Learn More:

  • MDG GetProperty


MessageFlag [Enterprise Architect User Guide]

MessageFlag

The MessageFlag enumeration is used in both the SendMailMessage and ComposeMailMessage methods of the MailInterface, to specify a flag to attach to the message.

Value | Meaning
mfNone | Do not flag the message
mfComplete | Flag the message as 'Complete'
mfPurple | Flag the message with a 'Purple' flag
mfOrange | Flag the message with a 'Orange' flag
mfGreen | Flag the message with a 'Green' flag
mfYellow | Flag the message with a 'Yellow' flag
mfBlue | Flag the message with a 'Blue' flag
mfRed | Flag the message with a 'Red' flag


ObjectType [Enterprise Architect User Guide]

ObjectType

Topic | Detail | See Also
General Usage | The ObjectType enumeration identifies Enterprise Architect object types even when referenced through a Dispatch interface For example: Object ob = Repository.GetElementByID(13); if ( ob.ObjectType == otElement ) ; else if( ob.ObjectType == otAuthor ) ... |
Valid Enumeration Values | otAttribute otAttributeConstraint otAttributeTag otAuthor otClient otCollection otConnector otConnectorConstraint otConnectorEnd otConnectorTag otConstraint otCustomProperty otDatatype otDiagram otDiagramLink otDiagramObject otEffort otElement otEventProperties otEventProperty otFile otIssue otMailInterface otMethod otMethodConstraint otMethodTag otMetric otModel otNone otPackage otParameter otParamTag otPartition otProject otProjectIssues otProjectResource otProperties otProperty otPropertyType otReference otRepository otRequirement otResource otRisk otRoleTag otScenario otScenarioExtension otScenarioStep otStereotype otSwimlane otSwimlaneDef otSwimlanes otTaggedValue otTask otTerm otTest otTransition |


PropType [Enterprise Architect User Guide]

PropType

The PropType enumeration gives the automation programmer an indication of what sort of data is going to be stored by this property.

Value | Meaning
ptArray | An array containing values of any type
ptBoolean | True or False
ptEnum | A string being an entry in the semi-colon separated list specified in the validation field of the Property
ptFloatingPoint | 4 or 8 byte floating point value
ptInteger | 16-bit or 32-bit signed integer
ptString | Unicode string


ReloadType [Enterprise Architect User Guide]

ReloadType

This enumeration represents values returned from the GetReloadItem and PeekReloadItem methods of the ModelWatcher Class. It has four possible values, which define the type of change that was made to a model.

Value | Meaning
rtElement | The Item parameter represents a particular element that must be reloaded
rtEntireModel | Entire model must be reloaded to ensure that all changes are reloaded
rtNone | No change in the model
rtPackage | The Item parameter represents a particular package that must be reloaded


ScenarioDiagramType [Enterprise Architect User Guide]

ScenarioDiagramType

The ScenarioDiagramType enumeration provides the following enumeration values to the Project.GenerateDiagramFromScenario() method. They specify the type of diagram to generate.

Value | Meaning | See also
sdActivity | Generate an Activity diagram | Generated Activity diagram
sdActivityWithAction | Generate an Activity diagram with an Action | Generated Activity diagram
sdActivityWithActionPin | Generate an Activity diagram with an ActionPin | Generated Activity diagram
sdActivityWithActivityParameter | Generate an Activity diagram with an ActivityParameter | Generated Activity diagram
sdRobustness | Generate a Robustness diagram | Generated Robustness diagram
sdRuleFlow | Generate a RuleFlow diagram | Generated RuleFlow diagram
sdSequence | Generate a Sequence diagram | Generated Sequence diagram
sdState | Generate a State Machine diagram | Generated State Machine diagram

Learn More:

  • Project.GenerateDiagramFromScenario() Method


ScenarioStepType [Enterprise Architect User Guide]

ScenarioStepType

The ScenarioStepType enumeration is used to identify the steps of a scenario, and the entity performing the step.

Value | Meaning | See also
stActor | Identify that the step is an action performed by an actor |
stSystem | Identify that the step is an action performed by the system |

Learn More:

  • Scenario Step Class


ScenarioTestType [Enterprise Architect User Guide]

ScenarioTestType

The ScenarioTestType enumeration provides the following enumeration values to the Project.GenerateTestFromScenario() method. They specify the type of test to generate.

Value | Meaning | See also
stExternal | Generate an external Test Case element |
stInternal | Generate an internal test |

Learn More:

  • Project.GenerateTestFromScenario() Method
  • Generate Test Classes


XMIType [Enterprise Architect User Guide]

XMIType

The following enumeration values are used in the Project.ExportPackageXMI() method. They enable specification of the XMI export type.

xmiEADefault
xmiRoseDefault
xmiEA10
xmiEA11
xmiEA12
xmiEA20
xmiEA21
xmiMOF13
xmiMOF14
xmiRose10
xmiRose11
xmiRose12


Repository Package [Enterprise Architect User Guide]

Repository Package

The Repository package contains the high level system objects and entry point into the model itself using the Models collection and the other system level collections.

This diagram illustrates the Repository and its first level functions and collections.

Enterprise Architect Automation Interface Repository Diagram

Learn More:

  • Repository Class


Author Class [Enterprise Architect User Guide]

Author Class

An Author object represents a named model author. It can be accessed using the Repository Authors collection.

Associated table in .EAP file: t_authors

Author Attributes

Attribute | Type | Notes
Name | String | Read/Write. Author name.
Notes | String | Read/Write. Notes about the author.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Roles | String | Read/Write. Roles the author might play in this project.

Author Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current Author object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Client Class [Enterprise Architect User Guide]

Client Class

A Client represents one or more people or organizations related to the project. Accessed using the Repository Clients collection.

Associated table in .EAP file: t_clients

Client Attributes

Attribute | Type | Notes
EMail | String | Read/Write. EMail address.
Fax | String | Read/Write. Fax number.
Mobile | String | Read/Write. Mobile phone if available.
Name | String | Read/Write. Client name.
Notes | String | Read/Write. Notes about client.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through the Dispatch interface.
Organization | String | Read/Write. Associated organization.
Phone1 | String | Read/Write. Main phone number.
Phone2 | String | Read/Write. Second phone number.
Roles | String | Read/Write. Roles this client might play in the project.

Client Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current Client object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Collection Class [Enterprise Architect User Guide]

Collection Class

Topic

Detail

Link

General Usage

This is the main collection Class used by all elements within the Automation Interface. It contains methods to iterate through the collection, refresh the collection and delete an item from the collection. It is important to realize that when AddNew is called, the item is not automatically added to the current collection. The typical steps are:

  • Call AddNew to add a new item
  • Modify the item as required
  • Call Update on the item to save it to the database
  • Call Refresh on the collection to include it in the current set

Delete is much the same; until Refresh is called, the collection still contains a reference to the deleted item, which should not be called.

Each can be used to iterate through the collection for languages that support this type of construct.

Collection Attributes

Attribute | Type | Notes
Count | Short | Read only. The number of objects referenced by this list.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

Collection Methods

Method

Type

Notes

See Also

AddNew (string Name, string Type)

Object

Adds a new item to the current collection.

Note that the interface is the same for all collections; you must provide a Name and Type argument. What these are used for depends on the actual collection member. Also note that you must call Update() on the returned object to complete the AddNew. If Update() is not called the object is left in an indeterminate state.

Parameters:

  • Name: String
  • Type: String (up to 30 characters long)

Delete (short index)

Void

Deletes the item at the selected reference.

Parameters:

  • index: Short

DeleteAt (short index, boolean Refresh)

Void

Deletes the item at the selected index. The second parameter is currently unused.

Parameters:

  • index: Short
  • Refresh: Boolean

GetAt (short index)

Object

Retrieves the array object using a numerical index. If the index is out of bounds, an error occurs.

Parameters:

  • index: Short

GetByName (string Name)

Object

Gets an item in the current collection by Name.

If the collection does not contain any items, the method returns a null value. If the collection contains items, but it was unable to find an object with the specified name, the method raises an exception.

Only supported for the following collections: Model, Package, Element, Diagram, and element TaggedValue.

Parameters:

  • Name: String

Package Class

Element Class

Diagram Class

TaggedValue Class

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object.

This function is rarely used as an exception is thrown when an error occurs.

Refresh ()

Void

Refreshes the collection by re-querying the model and reloading the collection. Should be called after adding a new item or after deleting an item.


Datatype Class [Enterprise Architect User Guide]

Datatype Class

A Datatype is a named type that can be associated with attribute or method types. It typically is related to either code engineering or database modeling. Datatypes also indicate which language or database system they relate to. Accessed using the Repository Datatypes collection.

Associated table in .EAP file: t_datatypes

Datatype Attributes

Attribute | Type | Notes
DatatypeID | Long | Read/Write. Instance ID for this datatype within the current model. System maintained.
DefaultLen | Long | Read/Write. Default length (DDL only).
DefaultPrec | Long | Read/Write. Default precision (DDL only).
DefaultScale | Long | Read/Write. Default scale (DDL only).
GenericType | String | Read/Write. The associated generic type for this data type.
HasLength | String | Read/Write. Indicates datatype has a length component.
MaxLen | Long | Read/Write. Maximum length (DDL only).
MaxPrec | Long | Read/Write. Maximum precision (DDL only).
MaxScale | Long | Read/Write. Maximum scale (DDL only).
Name | String | Read/Write. The datatype name (such as integer). This appears in the related drop-down datatype lists where appropriate.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Product | String | Read/Write. The datatype product, such as Java, C++, Oracle.
Size | Long | Read/Write. The datatype size.
Type | String | Read/Write. The type can be DDL for database datatype or Code for language datatypes.
UserDefined | Long | Read/Write. Indicates if datatype is a user defined type or system generated. Datatypes distributed with Enterprise Architect are all system generated. Datatypes created in the Datatype dialog are marked 1 (true).

Datatype Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current Datatype object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


EventProperties Class [Enterprise Architect User Guide]

EventProperties Class

An EventProperties object is passed to BroadcastFunctions to facilitate parameter passing.

EventProperties Attributes

Attribute | Type | Notes
Count | Long | Read only. Number of parameters being passed to this broadcast event.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

EventProperties Methods

Method

Type

Notes

Get (object Index)

EventProperty

Read only. Returns an EventProperty in the list, raising an error if Index is out of range.

Parameters:

  • Index: Variant - can either be a number representing a zero-based index into the array, or a string representing the name of the EventProperty. For example, Props.Get(3) or Props.Get("ObjectID").


EventProperty Class [Enterprise Architect User Guide]

EventProperty Class

EventProperty objects are always part of an EventProperties collection, and are passed to Add-In methods responding to broadcast events.

EventProperty Attributes

Attribute | Type | Notes
Description | String | Explanation of what this property represents.
Name | String | A string distinguishing this property from others in the list.
ObjectType | ObjectType | Distinguishes objects referenced through a Dispatch interface.
Value | Variant | A string, number or object reference representing the property value.

Learn More:

  • EventProperties Class
  • Broadcast Events


ModelWatcher Class [Enterprise Architect User Guide]

ModelWatcher Class

The ModelWatcher object enables an automation client to track changes in a particular model.

ModelWatcher Attributes

Attribute | Type | Notes
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

ModelWatcher Methods

Methods

Type

Notes

GetReloadItem (object Item)

ReloadType

The object that must be reloaded in order to see all changes is returned through the Item parameter. If there are no changes or the entire model must be reloaded, this value is returned as null (C#) or Nothing (VB).

Calling this method clears the records so that the next time it is called the return values refer only to new changes.Returns a value from the ReloadType enumeration that specifies which type of change, if any, has occurred.

Parameters:

  • Item: Object

PeekReloadItem

ReloadType

This method behaves identically to GetReloadItem() but does not clear the change record.

Notes:

  • After your model has been loaded, you only create the ModelWatcher once. If you reload the model, or load another model, the created ModelWatcher is still valid.

Learn More:

  • Refresh View of Shared Project


Package Class [Enterprise Architect User Guide]

Package Class

A Package object corresponds to a Package element in the Enterprise Architect Project Browser. It is accessed either through the Repository Models collection (a Model is a special form of Package) or through the Package Packages collection. Note that a Package has an Element object as an attribute; this corresponds to an Enterprise Architect Package element in the t_object table and is used to associate additional information (such as scenarios and constraints) with the logical package. To set additional information for a package, reference the Element object directly. Also note that if you add a Package to a diagram, you should add an instance of the element (not the Package itself) to the DiagramObject Class for a diagram.

Associated table in .EAP file: t_package

Package Attributes

Attribute | Type | Notes
Alias | String | Read only Alias
BatchLoad | Long | Read/Write Flag to indicate that the package is batch loaded during batch import from controlled packages Not currently used
BatchSave | Long | Read/Write Boolean value to indicate whether the package is included in the batch XMI export list or not
CodePath | String | Read/Write The path where associated source code is found Not currently used
Connectors | Collection | Read only Collection of connectors
Created | Date | Read/Write Date the package was created
Diagrams | Collection | Read only A collection of diagrams contained in this package
Element | Element | Read only The associated element object; use to get/set common information such as Stereotype, Complexity, Alias, Author, Constraints, Tagged Values and Scenarios
Elements | Collection | Read only A collection of elements that belong to this package
Flags | String | Read/Write Extended information about the package
IsControlled | Boolean | Read/Write Indicates if the package has been marked as Controlled
IsModel | Boolean | Read only Indicates if the package is a model or a package
IsNamespace | Boolean | Read/Write True is 'package is a Namespace root' Use 0 and 1 to set False and True
IsProtected | Boolean | Read/Write Indicates if the package has been marked as Protected
IsVersionControlled | Boolean | Read only Indicates whether or not this package is under version control
LastLoadDate | Date | Read/Write The date XML was last loaded for the package
LastSaveDate | Date | Read/Write The date XML was last saved from the package
LogXML | Boolean | Read/Write Indicates if XMI export information is to be logged
Modified | Date | Read/Write Date the package was last modified
Name | String | Read/Write The name of the package
Notes | String | Read/Write Notes about this package
ObjectType | ObjectType | Read only Distinguishes objects referenced through a Dispatch interface
Owner | String | Read/Write The package owner when using controlled packages
PackageGUID | Variant | Read only The global Package ID; valid across models
PackageID | Long | Read only The local Package ID number Valid only in this model file
Packages | Collection | Read only A collection of contained packages that can be walked through
ParentID | Long | Read/Write The ID of the package that is the parent of this one 0 indicates this package is a model (that is, it has no parent)
TreePos | Long | Read/Write The relative position in the tree compared to other packages (use to sort packages)
UMLVersion | String | Read/Write The UML version for XMI export purposes
UseDTD | Boolean | Read/Write Indicates if a DTD is to be used when exporting XMI
Version | String | Read/Write The version of the package
XMLPath | String | Read/Write The path to where the XML is saved when using controlled packages

Package Methods

Method

Type

Notes

ApplyGroupLock (string aGroupName)

Boolean

Applies a group lock to the package object, for the specified group, on behalf of the current user

Throws an exception if the operation fails; use GetLastError() to retrieve error information

Parameter:

  • aGroupName: String - The name of the security group for which to apply the lock

ApplyUserLock ()

Boolean

Applies a user lock to the package object for the current user

Throws an exception if the operation fails; use GetLastError() to retrieve error information

Clone

LDISPATCH

Inserts a copy of the package into the same parent as the original package

Returns the newly-created package

FindObject (string DottedID)

LPDISPATCH

Returns a package, element, attribute or operation matching the parameter DottedID

If the DottedID is not found, an error is returned: Can't find matching object

Parameter:

  • DottedID: String - Is in the form object.object.object where object is replaced by the name of a package, element attribute or operation; examples include MyNamespace.Class1, CStudent.m_Name, MathClass.DoubleIt(int)

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object

This function is rarely used as an exception is thrown when an error occurs

ReleaseUserLock ()

Boolean

Removes an existing User or Group lock from the package object

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information

Update ()

Boolean

Update the current package object after modification or appending a new item

If false is returned, check the GetLastError function for more information

Note that a package object also has an element component that must be taken into account; the package object contains information about the package attributes such as hierarchy or contents

The element attribute contains information about, for example, Stereotype, Constraints or Files - all the attributes of a typical element

VersionControlAdd (string ConfigGuid, string XMLFile, string Comment, boolean KeepCheckedOut)

Void

Places the package under version control, using the specified Version Control Configuration and the specified XMI filename

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information

It is recommended that the package be saved using Update() before calling VersionControlAdd(), so that any outstanding changes are not lost

Parameters:

  • ConfigGuid: String - Name corresponding to the Unique ID of the version control configuration to use
  • XMLFile: String - Name of the XML file to use for this package; this filename is relative to the Working Copy folder specified for the Config
  • Comment: String - Log message that is added to the version controlled file's history (where applicable)
  • KeepCheckedOut: Boolean - Specify True to add to version control and keep package checked-out

VersionControlCheckin (string Comment)

Void

Perform checkin of the version controlled package (also see VersionControlCheckinEx, below)

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information

Parameters:

  • Comment: String - Log message that is added to the version controlled file's history (where applicable)

VersionControlCheckinEx (string Comment, boolean PreserveCrossPkgRefs)

Void

Perform checkin of the version controlled package

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information.

Parameters:

  • Comment: String - Log message that is added to the version controlled file's history (where applicable)
  • PreserveCrossPkgRefs: Boolean - Flag to indicate whether to preserve or discard pre-existing Cross Package References when checking-in; this parameter overrides the setting in the Options dialog, XML Specifications page

    Unsatisfied cross package references are preserved or discarded according to this setting, without prompting the user; see Learn More below

VersionControlCheckout (string Comment)

Void

Perform checkout of the version controlled package

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information

Parameters:

  • Comment: String - Log message that is added to the version controlled file's history (where applicable)

When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke the Repository.ScanXMIAndReconcile( ) method from time to time, following the re-importation of controlled packages - for example, after using Package.VersionControlGetLatest( ) to update a number of packages, or after performing a number of package check-outs

VersionControlGetLatest (boolean ForceImport)

Void

Updates the local working copy of the package file associated with the object package, before re-importing the package data from the package file

Parameters:

  • ForceImport: Boolean - Used if the package data in the model is found to be up-to-date with respect to the version controlled package file; if:
  • False, the package data that exists in the model is accepted as being up-to-date and no attempt is made to re-import data from the package file
  • True, Enterprise Architect re-imports the package from the package file regardless

See also the version control menu option Get Latest

When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke the Repository.ScanXMIAndReconcile( ) method from time to time, following the re-importation of controlled packages - for example, after using Package.VersionControlGetLatest( ) to update a number of packages, or after performing a number of package check-outs

VersionControlGetStatus ()

Long

Returns the version control status of the package, as recorded in the current Enterprise Architect project database

Throws an exception if the operation fails; use GetLastError( ) to retrieve error information

Return value maps to the following enumerated type:

enum EnumCheckOutStatus
{
csUncontrolled = 0,
csCheckedIn,
csCheckedOutToThisUser,
csReadOnlyVersion,
csCheckedOutToAnotherUser,
csOfflineCheckedIn,
csCheckedOutOfflineByUser,
csCheckedOutOfflineByOther,
csDeleted,
};

csUncontrolled - Either unable to communicate with the version control provider associated with the package or the package file is unknown to the provider

csCheckedIn - The package is not checked-out to anybody in the current project database

csCheckedOutToThisUser - The package is marked as checked-out to the current user, in the current project database

csReadOnlyVersion - Package is marked as read-only; an earlier revision of the package has been retrieved from version control

csCheckedOutToAnotherUser - The package is marked as checked-out in the current project database, by a user other than the current user

csOfflineCheckedIn - The package is not checked-out to anybody in the current project database; however, the version control configuration associated with the package was unable to connect to the VC server

csCheckedOutOfflineByUser - Indicates that the package was 'checked out' in this database, by this user, whilst disconnected from version control

csCheckedOutOfflineByOther - Indicates that the package was checked out in this project database, by another user, whilst disconnected from version control

csDeleted - The package file has been deleted from version control

VersionControlPutLatest (string CheckInComment)

Void

Perform a checkin of the version controlled package, whilst keeping the package checked-out.

Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information.

When a package that was previously marked as Checked Out Offline, is successfully 'Put' (checkedin) to version control, that package's flags are updated to clear the Checked Out Offline indicator.

Parameters:

  • Comment: String - Log message added to the version controlled file's history (where applicable).

VersionControlRemove ()

Void

Removes version control from the package.

Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information.

VersionControlResynchPkgStatus (boolean ClearSettings)

Synchronizes the version control status of the single object package recorded in your current model with the package status reported by your version control provider.

Parameters:

  • ClearSettings: Boolean - used if the package file associated with the specified package is reported by the version control provider as uncontrolled. If ClearSettings is:
  • True, the version control settings are cleared from the package
  • False, the version control settings remain unchanged

Learn More:

  • Repository Models
  • Package Packages
  • Version Control - Get Latest
  • Resynchronize the Status of Version Controlled Packages
  • Preserving Cross Package References


ProjectIssues Class [Enterprise Architect User Guide]

ProjectIssues Class

A system-level Issue. Indicates a problem or risk associated with the system as a whole. Accessed using the Repository Issues collection.

Associated table in .EAP file: t_issues

ProjectIssues Attributes

Attribute | Type | Notes
Category | String | Read/Write. The category this issue belongs to.
Date | Date | Read/Write. Date created.
DateResolved | Date | Read/Write. Date issue resolved.
Name | String | Read/Write. Issue name (that is, the issue itself).
IssueID | Long | Read only. The ID of this issue.
Notes | String | Read/Write. Associated description of issue.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Owner | String | Read/Write. Owner of issue.
Priority | String | Read/Write. Issue priority. Generally should use Low, Medium or High.
Resolution | String | Read/Write. Description of resolution.
Resolver | String | Read/Write. Person resolving issue.
Severity | String | Read/Write. Issue severity. Should be marked as Low, Medium or High.
Status | String | Read/Write. Current issue status.

ProjectIssues Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Issue object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ProjectResource Class [Enterprise Architect User Guide]

ProjectResource Class

A Project Resource is a named person who is available to work on the current project in any capacity. Accessed using the Repository Resources collection.

Associated table in .EAP file: t_resources

ProjectResource Attributes

Attribute | Type | Notes
Email | String | Email address.
Fax | String | Fax number.
Mobile | Variant | Mobile number if available.
Name | String | Name of resource.
Notes | String | A description if appropriate.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Organization | Package: String | Organization resource associated with.
Phone1 | Variant | Main phone.
Phone2 | Variant | Alternative phone.
Roles | String | The roles this resource can play in the current project.

ProjectResource Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Resource object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ProjectRole Class [Enterprise Architect User Guide]

ProjectRole Class

A ProjectRole object represents a named project role. Accessed using the Repository ProjectRole collection.

Associated table in .EAP file: t_projectroles

ProjectRole Attributes

Attribute | Type | Notes
Description | String | Read/Write. The project role item description.
Notes | String | Read/Write. Notes about the project role item.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Role | String | Read/Write. The project role item name.

ProjectRole Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current ProjectRole object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


PropertyType Class [Enterprise Architect User Guide]

PropertyType Class

A PropertyType object represents a defined property that can be applied to UML elements as a Tagged Value. Accessed using the Repository PropertyTypes collection. Each PropertyType corresponds to one of the predefined Tagged Values for the model.

Associated table in .EAP file: t_propertytypes

Author Attributes

Attribute | Type | Notes
Description | String | Read/Write. Short description for the property.
Detail | String | Read/Write. Configuration information for the property.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Tag | String | Read/Write. Name of the property (Tag Name).

Author Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current PropertyType object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Reference Class [Enterprise Architect User Guide]

Reference Class

This Interface provides access to the various lookup tables within Enterprise Architect. Use the Repository GetReferenceList() method to get a handle to a list. Valid lists are:

  • Diagram
  • Element
  • Constraint
  • Requirement
  • Connector
  • Status
  • Cardinality
  • Effort
  • Metric
  • Scenario
  • Status
  • Test

Reference Attributes

Attribute | Type | Notes
Count | Short | Count of items in the list.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | The list type (for example, DiagramTypes).

Reference Methods

Method

Type

Notes

GetAt (short Index)

String

Get the item at the specified index.

Parameters:

  • Index: Short - The index of the item to retrieve from the list.

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object.

This function is rarely used as an exception is thrown when an error occurs.

Refresh ()

Short

Refresh the current list and return the count of items.


Repository Class [Enterprise Architect User Guide]

Repository Class

The Repository is the main container of all structures such as models, packages and elements. You can iteratively begin accessing the model using the Models collection. It also has some convenient methods to directly access the structures without having to locate them in the hierarchy first.

Associated table in .EAP file: <none>

Repository Attributes:

Attribute

Type

Notes

See Also

Authors

Collection

Read only. The system Authors collection. Contains 0 or more Author objects, each of which can be associated with, for example, elements or diagrams as the item author or owner. Use AddNew, Delete and GetAt to manage Authors.

BatchAppend

Boolean

Read/Write. Set this property to true when your automation client has to rapidly insert many elements, operations, attributes and/or operation parameters. Set to false when work is complete.

This can result in 10- to 20-fold improvement in adding new elements in bulk.

Clients

Collection

Read only. A list of Clients associated with the project. You can modify, delete and add new Client objects using this collection.

ConnectionString

String

Read only. The filename/connection string of the current Repository.

Datatypes

Collection

Read only. The Datatypes collection. Contains a list of Datatype objects, each representing a data type definition for either data modeling or code generation purposes.

EAEdition

EAEditionTypes

Read only. Returns the current level of core licensed functionality available

This property returns Corporate when the edition is Business and Software Engineering, Systems Engineering or Ultimate. Use EAEditionEx to identify which of these extended editions is available.

EAEditionEx

EAEditionTypes

Read only. Returns the current level of extended licensed functionality available

EnableCache

Boolean

Read/Write. An optimization for pre-loading package objects when dealing with large sets of automation objects.

EnableUIUpdates

Boolean

Read/Write. Set this property to false to improve the performance of changes to the model; for example, bulk addition of elements to a package. To reveal the changes to the user, call Repository.RefreshModelView().

FlagUpdate

Boolean

Read/Write. Instructs Enterprise Architect to update the Repository with the LastUpdate value.

InstanceGUID

String

Read only. The identifier string identifying the Enterprise Architect runtime session.

IsSecurityEnabled

Boolean

Read only. Checks whether User Security is enabled for the current repository.

Issues

Collection

Read only. The System Issues list. Contains ProjectIssues objects, each detailing a particular issue as it relates to the project as a whole.

LastUpdate

String

Read only. The identifier string identifying the Enterprise Architect runtime session and the timestamp for when it was set.

LibraryVersion

Long

Read only. The build number of the Enterprise Architect runtime.

Models

Collection
of type Package

Read only. Models are of type package and belong to a collection of packages. This is the top level entry point to an Enterprise Architect project file. Each model is a root node in the Project Browser and can contain items such as Views and packages.

A model is a special form of a package; it has a ParentID of 0. By iterating through all models, you can access all the elements within the project hierarchy.

You can also use the AddNew function to create a new model. A model can be deleted, but remember that everything contained in the model is deleted as well.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through the Dispatch interface.

ProjectGUID

String

Read only. Returns a unique ID for the project.

ProjectRoles

Collection

Read only. The system Roles collection. Contains 0 or more Role objects, each of which can be associated with, for example, elements or diagrams as the item author or owner. Use AddNew, Delete and GetAt to manage Roles

PropertyTypes

Collection

Read only. Collection of Property Types available to the Repository.

Property Type Class

Resources

Collection

Read only. Contains available ProjectResource objects to assign to work items within the project. Use the add new, modify and delete functions to manage resources.

Stereotypes

Collection

Read only. The Stereotype collection. A list of Stereotype objects that contain information on a stereotype and which elements it can be applied to.

Stereotype Class

SuppressEADialogs

Boolean

Read/Write. Set this property in the EA_OnPostNewElement or EA_OnPostNewConnector broadcast events to control whether Enterprise Architect should suppress showing the default Properties dialogs to the user when an element or connector is created.

EA_OnPostNewElement

EA_OnPostNewConnector

Tasks

Collection

Read only. A list of system tasks (to do list). Each entry is a Task Item; you can modify, delete and add new tasks.

Task Class

Terms

Collection

Read only. The project Glossary. Each Term object is an entry in the Glossary. Add, modify and delete Terms to maintain the Glossary.

Term Class

Repository Methods:

Method

Type

Notes

See Also

ActivateDiagram (long DiagramID)

Activates an already open diagram (that is, makes it the active tab) in the main Enterprise Architect user interface.

Parameters:

  • DiagramID: Long - the ID of the diagram to make active.

ActivatePerspective (string, long)

Boolean

Deprecated - no longer in use.

ActivateTab (string Name)

Activates an open Enterprise Architect tabbed view.

Parameters:

  • Name: String - the name of the view to activate.

ActivateTechnology (string Name)

Activates an enabled MDG Technology

Parameters:

  • Name: String - the name of the Technology to activate

ActivateToolbox (string Toolbox, long Options)

Boolean

Activates a Toolbox page in the GUI

Returns true if the specified Toolbox page is successfully activated, otherwise returns false

Parameters:

  • Toolbox: String - the name of the Toolbox page to activate
  • Options: Long - reserved for future use

AddDefinedSearches (string sXML)

Enables you to enter a set of defined searches that last in Enterprise Architect for the life of the application; when Enterprise Architect loads again they must be inserted again by your Add-In

Parameters:

  • sXML: String - the XML of the defined searches; you can get this XML by performing an export of the searches from the Manage Searches dialog in Enterprise Architect

Create and Manage Searches

AddPerspective (string Perspective, long Options)

Boolean

Deprecated - no longer in use

AddTab (string TabName, string ControlID)

activeX custom control

Adds an ActiveX custom control as a tabbed window. Enterprise Architect creates a control and, if successful, returns its Unknown pointer, which can be used by the caller to manipulate the control.

Parameters:

  • TabName: String - used as the tab caption
  • ControlID: String - the ProgID of the control; for example, Project1,UserControl1

AddWindow (string WindowName, string ControlID)

activeX custom control

Adds an ActiveX custom control as a window to the Add-Ins docked window. Enterprise Architect creates a control and, if successful, returns its Unknown pointer, which can be used by the caller to manipulate the control.

The window can be shown by selecting it from the list in the Workspace Layouts toolbar - click on the third icon from the right and look at the end of the list.

Parameters:

  • WindowName: String - used as the window title
  • ControlID: String - the ProgID of the control; for example, Project1,UserControl1

Workspace Layouts

AdviseConnectorChange (long ConnectorID)

Provides an Add-In or automation client with the ability to advise the Enterprise Architect user interface that a particular connector has changed and, if it is visible in any open diagram, to reload and refresh that connector for the user.

Parameters:

  • ConnectorID: Long - the ID of the connector.

AdviseElementChange (long ObjectID)

Provides an Add-In or automation client with the ability to advise the Enterprise Architect user interface that a particular element has changed and, if it is visible in any open diagram, to reload and refresh that element for the user.

Parameters:

  • ObjectID: Long - the ID of the element.

ChangeLoginUser (string Name, string Password)

Boolean

Sets the currently logged on user to be that specified by a name and password; this logs the user into the repository when security is enabled

If security is not enabled an exception (Security not enabled) is thrown

Parameters:

  • Name: String - the name of the user
  • Password: String - the password of the user

ClearAuditLogs (Object StartDateTime, Object EndDateTime)

Boolean

Clears all Audit Logs from the model

If StartDateTime and EndDateTime are not null then only log items that fall into this period are cleared

Returns true for success, false for failure

  • This method cannot be undone. It is strongly advised that you call SaveAuditLogs first to backup the logs
  • This method might fail if the user logged into the model does not have the correct access permission

Parameters:

  • StartDateTime: Variant ( DateTime ) - the earliest date and time of log entries to clear.
  • EndDateTime; Variant ( DateTime ) - the latest date and time of log entries to clear.

ClearOutput (string Name)

Removes all the text from a tab in the Output window

Parameters:

  • Name: String - the name of the tab to remove text from

CreateOutputTab

EnsureOutput Visible

WriteOutput

CloseAddins ()

Called by automation controllers to ensure that Add-Ins created in
.NET do not linger after all controller references to Enterprise Architect have been cleared

CloseDiagram (long DiagramID)

Closes a diagram in the current list of diagrams that Enterprise Architect has open

Parameters:

  • DiagramID: Long - the ID of the diagram to close

CloseFile ()

Closes any open file

CreateDocumentGenerator()

Document Generator

Returns a pointer to the EA.DocumentGenerator interface

CreateModel (CreateModelType CreateType, string FilePath, long ParentWnd)

Boolean

Creates a new .eap model file based on the standard Enterprise Architect Base model, or a shortcut .eap based on a provided SQL connection

Returns true when the new file is created, otherwise returns false

Parameters:

  • CreateType: CreateModelType - Specify whether to make a new copy of the EABase.eap model, or create a .eap file shortcut to a DBMS repository. The latter option requires a dialog to be opened for the user to provide SQL connection details.
  • FilePath: String - Destination for new .eap file
  • ParentWnd: Long - Window handle to act as the parent for the SQL connection dialog; only required when using cmEAPFromSQLRepository.

CreateModelType

CreateOutputTab (string Name)

Creates a tab in the Output window.

Parameters:

  • Name: String - the name of the tab to create.

CreateOutputTab

EnsureOutput Visible

WriteOutput

DeletePerspective (string Perspective, long Options)

Boolean

Deprecated - no longer in use

DeleteTechnology (string ID)

Boolean

Removes a specified MDG Technology resource from the repository.

Returns true, if the technology is successfully removed from the model. Returns false otherwise.

  • This applies to technologies imported into pre-7.0 versions of Enterprise Architect (imported technologies), not to technologies referenced in version 7.0 and later (referenced technologies).

Parameters:

  • ID: String - the ID of the technology.

Deploy an MDG Technology

EnsureOutputVisible (string Name)

Ensures that a specified tab in the Output window is visible to the user. The Output window is made visible if it is hidden.

Parameters:

  • Name: String - the name of the tab to make visible.

CreateOutputTab

EnsureOutput Visible

WriteOutput

ExecutePackageBuildScript (long ScriptOptions, string PackageGuid)

Enables you to run the active package build script based on your current selection in the Project Browser. You can also run a script by passing in the package GUID.

Parameters:

  • ScriptOptions: Long - the script type; can be any one of these numerical values:

1 = Build

2 = Test

3 = Run

4 = Create Workbench Instance

5 = Debug.

  • PackageGuid: String - the ID of the package for which to run the script.

Exit

Shuts down Enterprise Architect immediately. Used by .NET programmers where the garbage collector does not immediately release all referenced COM objects.

GetActivePerspective ()

String

Deprecated - no longer in use.

GetAttributeByGuid (string Guid)

Attribute

Returns a pointer to an attribute in the repository, located by its GUID.This is usually found using the AttributeGUID property of an attribute.

Parameters:

  • Guid: String - the GUID of the attribute to locate.

GetAttributeByID (string Id)

Attribute

Returns a pointer to an attribute in the repository, located by its ID. This is usually found using the AttributeID property of an attribute.

Parameters:

  • Id: String - the ID of the attribute to locate.

GetConnectorByGuid (string Guid)

Connector

Returns a pointer to a connector in the repository, located by its GUID. This is usually found using the ConnectorGUID property of a connector.

Parameters:

  • Guid: String - the GUID of the connector to locate.

GetConnectorByID (long ConnectorID)

Connector

Searches the repository for a connector with a specific ID.

Parameters:

  • ConnectorID: Long - the ID of the connector to locate.

GetContextItem (object Item)

ObjectType

Sets a pointer to an item in context within Enterprise Architect.

Also returns the corresponding ObjectType.

For additional information about ContextItems and the supported ObjectTypes see the GetContextItemType method (below).

Parameters:

  • Item: Object - the item to point to.

GetContextItemType ()

ObjectType

Returns the ObjectType of an item in context within Enterprise Architect. A ContextItem is defined as an item selected anywhere within the Enterprise Architect GUI including:

  • An item selected in the Project Browser
  • An item selected in an open diagram
  • An item selected in certain dialogs, such as the attribute Properties dialog.

The supported ObjectTypes can be any one of the following values:

  • otElement
  • otPackage
  • otDiagram
  • otAttribute
  • otMethod
  • otConnector

GetContextObject ()

Object

Returns the current context Object.

GetCounts ()

String

Returns a set of counts from a number of tables within the base Enterprise Architect repository. These can be used to determine whether records have been added or deleted from the tables for which information is retrieved.

GetCurrentDiagram ()

Diagram

Returns a selected diagram.

GetCurrentLoginUser (boolean GetGuid = false)

String

If security is not enabled in the repository, an error is generated.

If GetGuid is True, a GUID generated by Enterprise Architect representing the user is returned; otherwise the text as entered in System Users/User Details/Login is returned.

GetDiagramByGuid (string Guid)

Diagram

Returns a pointer to a diagram using the global reference ID (global ID). This is usually found using the diagram GUID property of an element, and stored for later use to open an diagram without using the collection GetAt() function.

Parameters:

  • Guid: String - the GUID of the diagram to locate.

GetDiagramByID (long DiagramID)

Diagram

Gets a pointer to a diagram using an absolute reference number (local ID). This is usually found using the DiagramID property of an element, and stored for later use to open a diagram without using the collection GetAt() function.

Parameters:

  • DiagramID: Long - the ID of the diagram to locate.

GetElementByGuid (string Guid)

Element

Returns a pointer to an element in the repository, using the element's GUID reference number (global ID). This is usually found using the ElementGUID property of an element, and stored for later use to open an element without using the collection GetAt() function.

Parameters:

  • Guid: String - the GUID of the element to locate.

GetElementByID (long ElementID)

Element

Gets a pointer to an element using an absolute reference number (local ID). This is usually found using the ElementID property of an element, and stored for later use to open an element without using the collection GetAt() function.

Parameters:

  • ElementID: Long - the ID of the element to locate.

GetElementsByQuery (string QueryName, string SearchTerm)

Collection (of type Element

Enables the user to run a search in Enterprise Architect, returning the result as a collection.

For example GetElementsByQuery('Simple','Class1'), where results contain elements with Class1 in the Name and Notes fields.

Parameters:

  • QueryName: String - the name of the search to run, for example 'Simple'.
  • SearchTerm: String - the term to search for.

GetElementSet (string IDList, long Options)

Collection

Returns a set of elements as a collection based on a comma-separated list of ElementID values. By default, if no values are provided in the IDList parameter, all objects for the entire project are returned.

Parameters

  • IDList: String - a comma-separated list of ElementID values
  • Options: Long - modifies default behaviour of this method
  • 1 - Returns empty collection when empty IDList parameter is given
  • 2 - Use IDList string as an SQL query to populate this collection

GetFieldFromFormat (string Format, string Text)

String

Converts a field from your preferred format to Enterprise Architect's internal format; returns the field in Enterprise Architect's internal format

Parameters:

  • Format: String - The format to convert the field from; valid formats are:
  • HTML - Full HTML
  • RTF - Rich Text Format
  • TXT - Plain text
  • Text: String - The field to be converted

GetFormatFromField (string Format, string Text)

String

After accessing a field that contains formatting, use this method to convert it to your preferred format; returns the field in the format specified

Parameters:

  • Format: String - The format to convert the field to; valid formats are:
  • HTML - Full HTML
  • RTF - Rich Text Format
  • TXT - Plain text
  • Text: String - The field to be converted

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object

This function is rarely used as an exception is thrown when an error occurs

GetMailInterface()

MailInterface

Returns an instance of the EA.MailIinterface; use this interface to automate the process of creating and sending model mail messages

MailInterface Package

GetMethodByGuid (string Guid)

Method

Returns a pointer to a method in the repository; this is usually found using the MethodGUID property of a method

Parameters:

  • Guid: String - the GUID of the method to look for

GetMethodById (string Id)

Method

Returns a pointer to a method in the repository; this is usually found using the MethodID property of a method

Parameters:

  • Id: String - the ID of the method to look for

GetPackageByGuid (string Guid)

Package

Returns a pointer to a package in the repository using the package's GUID reference number (global ID). This is usually found using the PackageGUID property of the package.

Each package in the model also has an associated element with the same GUID, so if you have an element with Type="Package" then you can load the package by calling:

GetPackageByGuid(Element.ElementGUID)

Parameters:

  • Guid: String - the GUID of the package to look for

GetPackageByID (long PackageID)

Package

Get a pointer to a package using an absolute reference number (local ID). This is usually found using the PackageID property of an package, and stored for later use to open a package without using the collection GetAt() function.

Parameters:

  • PackageID: Long - the ID of the package to locate

GetProjectInterface ()

Project

Return a pointer to the EA.Project interface (the XML-based automation server for Enterprise Architect). Use this interface to work with Enterprise Architect using XML, and also to access utility functions for loading diagrams, running reports and so on.

EA.Project interface

GetReferenceList (string Type)

Reference

Uses the list type to get a pointer to a Reference List object.

Parameters:

  • Type: String - specifies the list type to get; valid list types are:

    Diagram
    Element
    Constraint
    Requirement
    Connector
    Status
    Cardinality
    Effort
    Metric
    Scenario
    Status and
    Test.

GetTechnologyVersion (string ID)

String

Returns the version of a specified MDG Technology resource.

Parameters:

  • ID: String - the specified technology ID.

GetTreeSelectedElements()

Collection

Returns the set of elements currently selected in the Project Browser as a collection.

GetTreeSelectedItem (object SelectedItem)

ObjectType

Gets an object variable and type corresponding to the currently selected item in the tree view.

To use this function, create a generic object variable and pass this as the parameter. Depending on the return type, cast it to a more specific type.

The object passed back through the parameter can be a package, element, diagram, attribute or operation object.

Parameters:

  • SelectedItem: Object - the object to get the variable and type for.

GetTreeSelectedItemType ()

ObjectType

Returns the type of the object currently selected in the tree. One of:

  • otDiagram
  • otElement
  • otPackage
  • otAttribute
  • otMethod.

GetTreeSelectedObject ()

Object

The related method GetTreeSelectedItem() has an output parameter that is inaccessible by some scripting languages. As an alternative, this method provides the selected item through the return value.

GetTreeSelectedItem

GetTreeSelectedPackage ()

Package

Returns the package in which the currently selected tree view object is contained.

HasPerspective (string Perspective)

String

Deprecated - no longer in use.

ImportPackageBuildScripts (string PackageGuid, string BuildScriptXML)

Imports build scripts into a package in Enterprise Architect.

Parameters:

  • PackageGuid: String - the GUID of the package into which to import the build scripts.
  • BuildScriptXML: String - the build script XML data, which you can export from within Enterprise Architect.

ImportTechnology (string Technology)

Boolean

Installs a given MDG Technology resource into the repository.

Returns True, if the technology is successfully loaded into the model. Otherwise returns False.

This applies to technologies imported into pre-7.0 versions of Enterprise Architect (imported technologies), not to technologies referenced in version 7.0 and later (referenced technologies).

Parameters:

  • Technology: String - the contents of the technology resource file.

Deploy an MDG Technology

IsTabOpen (string TabName)

String

Checks whether a named Enterprise Architect tabbed view is open and active. This includes open diagram windows or custom controls added using Repository.AddTab().

Returns:

  • 2 to indicate that a tab is open and active (top-most)
  • 1 to indicate that it is open but not top-most, or
  • 0 to indicate that it is not visible at all.

Parameters:

  • TabName: String - the name of the tab to check for; TabName is case sensitive

Repository.AddTab()

IsTechnologyEnabled (string ID)

Boolean

Checks whether a specified technology is enabled in Enterprise Architect.

Returns True if the MDG Technology resource is enabled. Otherwise returns False.

Parameters:

  • ID: String - the technology ID to check for.

IsTechnologyLoaded (string ID)

Boolean

Checks whether a specified technology is loaded into the repository.

Returns True if the MDG Technology resource is loaded into the repository. Otherwise returns False.

Parameters:

  • ID: String - the technology ID to check for.

OpenDiagram (long DiagramID)

Provides a method for an automation client or Add-In to open a diagram. The diagram is added to the tabbed list of open diagrams in the main Enterprise Architect view.

Parameters:

  • DiagramID: Long - the ID of the diagram to open.

OpenFile (string Filename)

Boolean

This is the main point for opening an Enterprise Architect project file from an automation client, and working with the contained objects.

If the required project is a DBMS repository, and you have created a shortcut .EAP file containing the database connection string, you can call this shortcut file to access the DBMS repository.

You can also connect to a SQL database by passing in the connection string itself instead of a filename. A valid connection string can be obtained from the Open Project dialog by selecting a recently opened SQL repository.

Parameters:

  • Filename: String - the filename of the Enterprise Architect project to open.

Open a Project

OpenFile2 (string FilePath, string Username, string Password)

Boolean

As for OpenFile() except this enables the specification of a password.

Parameters:

  • Filepath: String - the file path of the Enterprise Architect project to open.
  • Username: String - the user login ID
  • Password: String - the user password.

RefreshModelView (long PackageID)

Reloads a package or the entire model, updating the user interface.

Parameters:

  • PackageID: Long - the ID of the package to reload: if 0, the entire model is reloaded; if a valid package ID, only that package is reloaded.

RefreshOpenDiagrams (boolean FullReload)

Refreshes the diagram contents for all diagrams open in Enterprise Architect.

Parameters:

  • FullReload: Boolean - if false the displayed contents of elements and connectors are refreshed in each diagram; if true each of the diagrams is completely reloaded from the repository.

ReloadDiagram (long DiagramID)

Reloads a specified diagram. This would commonly be used to refresh a visible diagram after code import/export or other batch process where the diagram requires complete refreshing.

  • Calling this method within a call to EA_OnNotifyContextItemModified is not supported

Parameters:

  • DiagramID: Long - the ID of the diagram to be reloaded.

EA_OnNotifyContextItemModified

RemoveOutputTab (string Name)

Removes a specified tab from the Output window.

Parameters:

  • Name: String - the name of the tab to be removed

RunModelSearch (string sQueryName, string sSearchTerm, string sSearchOptions, string sSearchData)

Runs a search, displaying the results in Enterprise Architect's Model Search window

Parameters:

  • sQueryName: String - the name of the search to run, for example Simple
  • sSearchTerm: String - the term to search for
  • sSearchOptions: String - currently not being used
  • sSearchData: String - enables you to supply a list of results in the form of XML, which is appended onto the result list in Enterprise Architect - see XML Format; this parameter is not mandatory so pass in an empty string to run the search as per normal

XML Format

SaveAllDiagrams ()

Saves all open diagrams

SaveAuditLogs (string FilePath, object StartDateTime, object EndDateTime)

Boolean

Saves the Audit Logs contained within a model to a specified file

If StartDateTime and EndDateTime are not null then only log items that fall into this period are saved

Returns true for success, false for failure

  • This might fail if the user logged into the model does not have the correct access permission

Parameters:

  • FilePath: String - the file to save the Audit Logs to
  • StartDateTime: Variant ( DateTime ) - the earliest date and time of log entries to save
  • EndDateTime; Variant ( DateTime ) - the latest date and time of log entries to save

SaveDiagram (long DiagramID)

Saves an open diagram; assumes the diagram is open in the main user interface Tab list

Parameters:

  • DiagramID: Long - the ID of the diagram to save

ScanXMIAndReconcile()

Scans the package XMI files associated with each of the project's controlled packages and restores any diagram objects or cross-references that are detected as missing from the project

This function is useful in team environments where each user maintains their own private copy of the model database (i.e. multiple private EAP files) and model updates are propagated through the use of controlled packages; it provides no benefit when the model is hosted in a single shared database that is accessed by all team members

Each controlled package is compared with its associated XMI file and, if the cross-reference information in the model does not match the XMI, Enterprise Architect updates the model with the information from the XMI and records the update in the Output window

You can roll back such updates by right-clicking on the entry in the Output window and selecting the context menu option Rollback Update (or Rollback Selected Updates if multiple entries are selected)

Closing the model clears the entries in the Output window; an entry in the Output window is also cleared as and when you roll-back the update for it

This functionality is invoked automatically as part of the Get All Latest operation

When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke this function from time to time, following the re-importation of controlled packages - for example, after using Get Latest to update a number of packages, or after performing a number of package check-outs

  • As a general rule, avoid running this function while you have uncommitted changes in your model
  • Generally, you should:
  • Check-out a number of packages
  • Invoke ScanXMIAndReconcile
  • Make your modifications
  • Commit any outstanding changes before you check-out more packages and run ScanXMIAndReconcile again

ShowDynamicHelp (string Topic)

Shows a help topic as a view

Parameters:

  • Topic: String - specifies the help topic

ShowInProjectView (object Item)

Selects a specified object in the Project Browser

Accepted object types are Package, Element, Diagram, Attribute, and Method; an exception is thrown if the object is of an invalid type

Parameters:

  • Item: Object - the object to highlight

ShowProfileToolbox (string Technology, string Profile, boolean Show)

Shows/hides the contents of a specified technology or profile in the Toolbox

To show/hide a profile in the Toolbox, specify the profile's ID value in the Profile parameter and set the Technology parameter to a null string

To show/hide a technology in the Toolbox, specify the technology's ID in the Technology parameter and set the Profile parameter to a null string

Parameters:

  • Technology: String - the ID of the technology
  • Profile: String - the ID of the profile
  • Show: Boolean - if true, show the technology or profile; if false, hide the technology or profile

ShowWindow (long Show)

Shows or hides Enterprise Architect

Parameters:

  • Show: Long

SQLQuery (string SQL)

String

Enables execution of a SQL select statement against the current repository

Returns an XML formatted string value of the resulting recordset

Parameters:

  • SQL: String - contains the SQL Select statement

SynchProfile (string Profile, string Stereotype)

Boolean

Synchronizes Tagged Values and constraints of a UML Profile item using the Synch Profiled Elements dialog

Parameters:

  • Profile: String - the name of the profile that contains the stereotype
  • Stereotype: String - the name of the profile stereotype for which the default tags and constraints are to be synchronized

Synchronize Tagged Values and Constraints

VersionControlResynchPkgStatuses (boolean ClearSettings)

Synchronizes the version control status of each version controlled package within the current model with the status reported by your version control provider

Parameters:

  • ClearSettings: Boolean - if true, clear the version control settings from packages that are reported by the version control provider as uncontrolled; if false, leave the version control settings unchanged for packages reported as uncontrolled

Resynchronize the Status of Version Controlled Packages

WriteOutput (string Name, string String, long ID)

Writes text to a specified tab in the Output window, and associates the text with an ID.

Parameters:

  • Name: String - specifies the tab on which to display the text.
  • String: String - specifies the text to display.
  • ID: Long - specifies the ID the text is associated with.

ClearOutput

CreateOutputTab

EnsureOutput Visible


Stereotype Class [Enterprise Architect User Guide]

Stereotype Class

The Stereotype element corresponds to a UML stereotype, which is an extension mechanism for varying the behavior and type of a model element. Use the Repository Stereotypes collection to add new elements and delete existing ones.

Associated table in .EAP file: t_stereotypes

Stereotype Attributes

Attribute | Type | Notes
AppliesTo | String | Read/Write. A reference to the stereotype Base Class, that is, which element it applies to.
MetafileLoadPath | String | Read/Write. Path to an associated metafile. The automation interface does not yet support loading metafiles. To do this you must use the Stereotype tab of the UML Types dialog in Enterprise Architect.
Notes | String | Read/Write. Notes about the stereotype.
Name | String | Read/Write. The stereotype name. Appears in the Stereotype drop list for elements that match the AppliesTo attribute.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
StereotypeGUID | String | Read/Write. Unique identifier for stereotype, generally set and maintained by Enterprise Architect.
Style | String | Read/Write. Additional style specifier for stereotype.
VisualType | String | Read/Write. Indicates an inbuilt visual style associated with a stereotype. Not currently implemented.

Stereotype Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current stereotype object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Task Class [Enterprise Architect User Guide]

Task Class

A Task is an entry in the System ToDo list. Accessed using the Repository Tasks collection.

Associated table in .EAP file: t_tasks

Task Attributes

Attribute | Type | Notes
ActualTime | Long | Read/Write. Time already expended on task, in hours, days or other units.
AssignedTo | String | Read/Write. Person this task is assigned to; that is, the responsible resource.
EndDate | Date | Read/Write. Date task scheduled to finish.
History | String | Read/Write. Memo field to hold, for example, task history or notes.
Name | Variant | Read/Write. Task name.
Notes | Variant | Read/Write. Description of the task.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Owner | String | Read/Write. The task owner.
Percent | Long | Read/Write. Percent the task is complete.
Phase | String | Read/Write. The phase of the project the task relates to.
Priority | String | Read/Write. Priority associated with this task.
StartDate | Date | Read/Write. Date task is to start.
Status | Variant | Read/Write. Current task status.
TaskID | Long | Read only. Local ID of task.
TotalTime | Long | Read/Write. The total expected time the task might run - in hours, days or some other unit.
Type | String | Read/Write. Sets or returns string representing the type.

Task Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Task object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Term Class [Enterprise Architect User Guide]

Term Class

A Term object represents one entry in the system glossary. Accessed using the Repository Terms collection.

Associated table in .EAP file: t_glossary

Term Attributes

Attribute | Type | Notes
Meaning | String | Read/Write. The description of the term; its meaning.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Term | String | Read/Write. The glossary item name.
TermID | Long | Read only. A local ID number to identify the term in the model.
Type | String | Read/Write. The type this term applies to (for example, business or technical).

Term Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Term object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Element Package [Enterprise Architect User Guide]

Element Package

The Element package contains information about an element and its associated extended properties such as testing and project management information. An element is the basic item in an Enterprise Architect model. Classes, Use Cases and Components are all different types of UML element.

The diagram below illustrates the relationships between an element and its associated extended information. The related information is accessed through the collections owned by the element (for example, Scenarios and Tests). It also includes a full description of the element object (the basic model structural unit).

Example:


Constraint Class [Enterprise Architect User Guide]

Constraint Class

A Constraint is a condition imposed on an element. Constraints are accessed through the Element Constraints collection.

Associated table in .EAP file: t_objectconstraints

Constraint Attributes

Attribute | Type | Notes
Name | String | Read/Write. The name of the constraint (that is, the constraint).
Notes | String | Read/Write. Notes about the constraint.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
ParentID | Long | Read only. The ElementID of the element to which this constraint applies.
Status | String | Read/Write. Current status.
Type | String | Read/Write. Constraint type.
Weight | Long | Read/Write. A weighting factor.

Constraint Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Constraint object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Effort Class [Enterprise Architect User Guide]

Effort Class

An Effort is a named item with a weighting that can be associated with an element for purposes of building metrics about the model. Accessed through the Element Efforts collection.

Associated table in .EAP file: t_objecteffort

Effort Attributes

Attribute | Type | Notes
Name | String | Read/Write. The name of the effort.
Notes | String | Read/Write. Notes about the effort.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. The effort type.
Weight | Long | Read/Write. A weighting factor.
Weight2 | Float | Read/Write. A weighting factor.

Effort Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Saves the effort to the model.


Element Class [Enterprise Architect User Guide]

Element Class

An Element is the main modeling unit. It corresponds to (for example) Class, Use Case, Node or Component. You create new elements by adding to the Package Elements collection. Once you have created an element, you can add it to the DiagramObject Class of a diagram to include it in the diagram.

Elements also have a collection of connectors. Each entry in this collection indicates a relationship to another element.

There are also some extended collections for managing addition information about the element, including things such as Tagged Values, Issues, Constraints and Requirements.

Associated table in .EAP file: t_object

Element Attributes

Attribute

Type

Notes

See Also

Abstract

String

Read/Write

Indicates if the element is Abstract (1) or Concrete (0)

ActionFlags

String

Read/Write

A structure to hold flags concerned with Action semantics

Alias

String

Read/Write

An optional alias for this element

AssociationClassConnectorID

Long

Read only

If the element is an AssociationClass, AssociationClassConnectorID contains the Connector ID of the respective Association connector

CreateAssociationClass()

(Information on creating AssociationClasses from elements)

Attributes

Collection

Read only

Collection of Attribute objects for the current element; use the AddNew and Delete functions to manage attributes

AttributesEx

Collection

Read only

Collection of Attribute objects belonging to the current element and its parent elements

Author

String

Read/Write

The element author

Repository: Authors

BaseClasses

Collection

Read only

List of Base Classes for this element, presented as a collection for convenience

ClassfierID

Long

Deprecated

See ClassifierID

ClassifierID

Long

Read/Write

The ElementID of a Classifier associated with this element; that is, the base type

Only valid for instance type elements (such as Object or Sequence)

ClassifierName

String

Read/Write

Name of associated Classifier (if any)

ClassifierType

String

Read only

Type of associated Classifier

Complexity

String

Read/Write

A complexity value indicating how complex the element is; used for metric reporting and estimation

Valid values are: 1 for Easy, 2 for Medium, 3 for Difficult

CompositeDiagram

Diagram

Read only

If the element is Composite, returns its associated diagram; otherwise returns null

Connectors

Collection

Read only

Returns a collection containing the connectors to other elements

Constraints

Collection

Read only

Collection of Constraint objects

Constraint Class

ConstraintsEx

Collection

Read only

Collection of Constraint objects belonging to the current element and its parent elements

Created

Date

Read/Write

The date the element was created

CustomProperties

Collection

Read only

List of advanced properties for an element

The collection of advanced properties differs depending on element type; for example, an Action and an Activity have different advanced properties

Currently only editable from the user interface

Diagrams

Collection

Read only

Returns a collection of sub-diagrams (child diagrams) attached to this element as seen in the tree view

Difficulty

String

Read/Write

A difficulty level associated with this element for estimation/metrics; only useable for Requirement, Change and Issue element types, otherwise ignored

Valid values are: Low, Medium, High

Efforts

Collection

Read only

Collection of Effort objects

Effort Class

ElementGUID

String

Read only

A globally unique ID for this element; that is, unique across all model files

ElementID

Long

Read only

The local ID of the Element; valid for this file only

Elements

Collection

Read only

Returns a collection of child elements (sub-elements) attached to this element as seen in the tree view

EmbeddedElements

Collection

Read only

List of elements that are embedded into this element, such as Ports, Parts, Pins and Parameter Sets

EventFlags

String

Read/Write

A structure to hold a variety of flags to do with signals or events

ExtensionPoints

String

Read/Write

Optional extension points for a Use Case as a comma-separated list

Files

Collection

Read only

Collection of File objects

File Class

GenFile

String

Read/Write

The file associated with this element for code generation and synchronization purposes; can include macro expansion tags for local conversion to full path

Genlinks

String

Read/Write

Links to other Classes discovered at code reversing time; Parents and Implements connectors only

GenType

String

Read/Write

The code generation type; for example, Java, C++, C#, VBNet, Visual Basic, Delphi

Header1

Variant

Read/Write

A user defined string for inclusion as header in the source files generated

Header2

Variant

Read/Write

Same as for Header1, but used in the CPP source file

IsActive

Boolean

Read/Write

Boolean value indicating whether the element is active or not

1 = True, 0 = False

IsComposite

Boolean

Read/Write

Indicates whether the element is composite or not

1 = True, 0 = False

IsLeaf

Boolean

Read/Write

Boolean value indicating whether the element is in leaf node or not

1 = True, 0 = False

IsNew

Boolean

Read/Write

Boolean value indicating whether the element is new or not

1 = True, 0 = False

IsSpec

Boolean

Read/Write

Boolean value indicating whether the element is a specification or not

1 = True, 0 = False

Issues

Collection

Read only

Collection of Issue objects

Locked

Boolean

Read/Write

Indicates if the element has been locked against further change

MetaType

String

Read only

The element's domain-specific meta type, as defined by an applied stereotype from an MDG Technology

Methods

Collection

Read only

Collection of Method objects for current element

MethodsEx

Collection

Read only

Collection of Method objects belonging to the current element and its parent elements

Metrics

Collection

Read only

Collection of Metric elements for current element

MiscData

String

Read only

This low-level property provides information about the contents of the PDatax fields

These database fields are not documented, and developers must gain understanding of these fields through their own endeavors to use this property

MiscData is zero based, therefore:

  • MiscData(0) corresponds to PData1
  • MiscData(1) to PData2

and so on

Modified

Date

Read/Write

The date the element was last modified

Multiplicity

String

Read/Write

Multiplicity value for this element

Name

String

Read/Write

The element name; should be unique within the current package

Notes

String

Read/Write

Further descriptive text about the element

ObjectType

ObjectType

Read only

Distinguishes objects referenced through a Dispatch interface

PackageID

Long

Read/Write

A local ID for the package containing this element

ParentID

Long

Read/Write

If this element is a child of another, used to set or retrieve the ElementID of the other element; if not, returns 0

Partitions

Collection

Read only

List of logical partitions into which an element can be divided

Only valid for elements that support partitions, such as Activities and States

Persistence

String

Read/Write

The persistence associated with this element; can be Persistent or Transient

Phase

String

Read/Write

The phase this element is scheduled to be constructed in; any string value

Priority

String

Read/Write

The priority of this element as compared to other project elements; only applies to Requirement, Change and Issue types, otherwise ignored

Valid values are: Low, Medium and High

Properties

Properties

Returns a list of specialized properties that apply to the element that might not be available using the automation model

The properties are purposely undocumented because of their obscure nature and because they are subject to change as progressive enhancements are made to them

PropertyType

Long

Read/Write

The ElementID of a Type associated with this element; only valid for Port and Part elements

Realizes

Collection

Read only

List of Interfaces realized by this element for convenience

Requirements

Collection

Read only

Collection of Requirement objects

Requirement Class

RequirementsEx

Collection

Read only

Collection of Requirement objects belonging to the current element and its parent elements

Requirement Class

Resources

Collection

Read only

Collection of Resource objects for current element

Resource Class

Risks

Collection

Read only

Collection of Risk objects

Risk Class

RunState

String

Read/Write

The object's runstate list as a string

Scenarios

Collection

Read only

Collection of Scenario objects for current element

Scenario Class

StateTransitions

Collection

Read only

List of State Transitions that an element can support; applies in particular to Timing elements

Status

String

Read/Write

Sets or gets the status, such as Proposed or Approved

Stereotype

String

Read/Write

The primary element stereotype; the first of the list of stereotypes you can access using the StereotypeEx attribute

StereotypeEx

String

Read/Write

All the applied stereotypes of the element in a comma-separated list

StyleEx

String

Read/Write

Advanced style settings; reserved for the use of Sparx Systems

Subtype

Long

Read/Write

A numeric subtype that qualifies the Type of the main element; for example:

  • For Event: 0 = Receiver, 1 = Sender
  • For Class: 1 = Parameterised, 2 = Instantiated, 3 = Both, 0 = Neither,
    17 = Association Class

If 17, because an Association Class has been created through the user interface, MiscData(3) contains the ID of the related Association; as MiscData is read-only, you cannot create an Association Class through the Automation Interface

  • For Note: 1 = Note linked to connector, 2 = Constraint linked to connector
  • For StateNode: 100 = ActivityIntitial, 101 = ActivityFinal
  • For Activity: 0 = Activity, 8 = composite Activity (also set to 8 for other composite elements such as Use Cases)
  • For Synchronization: 0 = Horizontal, 1 = Vertical

Note that there are many more Types than indicated in the above examples

Type

Tablespace

String

Read/Write

Associated tablespace for a Table element

Tag

String

Read/Write

Corresponds to the Keywords field in the Enterprise Architect user interface

General Settings

TaggedValues

Collection of type TaggedValue

Read only

Returns a collection of TaggedValue objects

TaggedValue Class

TaggedValuesEx

Collection of type TaggedValue

Read only

Returns a collection of TaggedValue objects belonging to the current element and the elements specialized or realized by the current element

TaggedValue Class

Tests

Collection

Read only

Collection of Test objects for current element

Test Class

TreePos

Long

Read/Write

Sets or gets the tree position

Type

String

Read/Write

The element type (such as Class, Component)

Note that Type is case sensitive inside Enterprise Architect and should be provided with an initial capital (proper case); valid types are:

Action
Activity
ActivityPartition
ActivityRegion
Actor
Artifact
Association
Boundary
Change
Class
Collaboration
Component
Constraint
Decision
DeploymentSpecification
DiagramFrame
EmbeddedElement
Entity
EntryPoint
Event
ExceptionHandler
ExitPoint
ExpansionNode
ExpansionRegion
GUIElement InteractionFragment

InteractionOccurrence
InteractionState
Interface
InterruptibleActivityRegion
Issue
Node
Note
Object
Package
Parameter
Part
Port
ProvidedInterface
Report
RequiredInterface
Requirement
Screen
Sequence
State
StateNode
Synchronization
Text
TimeLine
UMLDiagram
UseCase

Version

String

Read/Write

The version of the element

Visibility

String

Read/Write

The Scope of this element within the current package

Valid values are: Public, Private, Protected or Package

Element Methods

Method

Type

Notes

See Also

ApplyGroupLock (string aGroupName)

Boolean

Applies a group lock to the element object, for the specified group, on behalf of the current user

Throws an exception if the operation fails; use GetLastError() to retrieve error information

Parameter:

  • aGroupName: String - the name of the user group for which to set the group lock

ApplyUserLock ()

Boolean

Applies a user lock to the element object for the current user

Throws an exception if the operation fails; use GetLastError() to retrieve error information

CreateAssociationClass (long ConnectorID)

Boolean

Makes this element an AssociationClass of the Association with the provided Connector ID; the return value indicates whether the function succeeded in converting the element to an AssociationClass

AssociationClasses are created only where:

  1. The current element is valid
  2. The current element is a Class
  3. The current element is not already an AssociationClass
  4. The specified connector exists
  5. The specified connector is an Association
  6. The specified connector is not already in an AssociationClass pair
  7. The current element is not at either end of the specified connector

Parameter:

  • ConnectorID: Long - the Connector ID of an Association connector

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object

This function is rarely used as an exception is thrown when an error occurs

GetLinkedDocument ()

String

Returns a string value containing the element's linked document contents, in RTF format

If the element contains no linked document, an empty string is returned

GetRelationSet (EnumRelationSetType Type)

String

Returns a string containing a comma-separated list of ElementIDs of directly- and indirectly-related elements based on the given type

Recurses using the same relation type on all elements it finds, retrieving all dependencies and sub-dependencies of the current element; for example, Object1 depends on Object2, which depends on Object3, therefore this method returns Object2 and Object3

To obtain only the direct relationships of the element, use the Connector collection instead

EnumRelationSetType

Connector

GetStereotypeList ()

String

Returns a comma-separated list of stereotypes allied to this element

IsAssociationClass

Boolean

Returns whether or not the current element is an AssociationClass

LoadLinkedDocument (string Filename)

Boolean

Loads the RTF document from the specified file into the element's linked document

Parameter:

  • FileName: String - the name of the file from which to load the RTF document

Refresh ()

Void

Refreshes the element features in the Project Browser

Usually called after adding or deleting attributes or methods, when the user interface is required to be updated as well

ReleaseUserLock ()

Boolean

Releases a user lock or group lock on the element object

Throws an exception if the operation fails; use GetLastError() to retrieve error information

SaveLinkedDocument (string Filename)

Boolean

Saves the linked document for this element to the specified RTF file

Parameter:

  • FileName: String - the name of the RTF file to which to save the linked document

SetAppearance (long Scope, long Item, long Value)

Void

Sets the visual appearance of the element

Parameter:

  • Scope: Long - Scope of appearance set to modify
    1 – Base (Default appearance across entire model)

    To set appearance for the element (diagram object) in a selected diagram only, see Setting The Style in the DiagramObject Class topic

  • Item: Long - Appearance feature to modify
    0 – Background color
    1 – Font Color
    2 – Border Color
    3 – Border Width
  • Value: Long - Value to set appearance to

DiagramObject Class

SetCreated (Date NewVal)

Void

Deprecated

This method is no longer supported.

SetModified (Date NewVal)

Void

Deprecated

This method is no longer supported.

UnlinkFromAssociation

Boolean

Performs the opposite of CreateAssociationClass()

CreateAssociationClass()

Update ()

Boolean

Update the current element object after modification or appending a new item

If false is returned, check the GetLastError function for more information


File Class [Enterprise Architect User Guide]

File Class

public Class

A File represents an associated file for an element. It is accessed through the Element Files collection.

Associated table in .EAP file: t_objectfiles

File Attributes

Attribute | Type | Notes
FileDate | String | Read/Write. The file date when entry is created.
Name | String | Read/Write. The file name can be a logical file or a reference to a web address (using http://).
Notes | String | Read/Write. Notes about the file.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Size | String | Read/Write. The file size.
Type | String | Read/Write. File type.

File Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current File object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Issue (Maintenance) Class [Enterprise Architect User Guide]

Issue (Maintenance) Class

An Issue is either a Change or a Defect, is associated with the containing element, and is accessed through the Issues collection of an element.

Associated table in .EAP file: t_objectproblems

Issue Attributes

Attribute | Type | Notes
DateReported | Date | Read/Write. Date issue reported.
DateResolved | Date | Read/Write. Date issue resolved.
ElementID | Long | Read/Write. ID of element associated with this issue.
Name | String | Read/Write. The Issue name; that is, the Issue itself.
Notes | String | Read/Write. Issue description.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Priority | String | Read/Write. Issue priority. Generally should use Low, Medium and High.
Reporter | String | Read/Write. Person reporting issue.
Resolver | String | Read/Write. Person resolving issue.
ResolverNotes | String | Read/Write. Notes entered by resolver about resolution.
Severity | String | Read/Write. Issue severity. Should be marked as Low, Medium or High.
Status | String | Read/Write. The current status of the issue.
Type | Variant | Read/Write. Issue type - can be Defect or Change, Issue and ToDo.
Version | String | Read/Write. Version associated with issue. Note that this method is only available through a Dispatch interface. For example: Object ob = Issue; Print ob.Version;

Issue Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Issue object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Metric Class [Enterprise Architect User Guide]

Metric Class

A Metric is a named item with a weighting that can be associated with an element for purposes of building metrics about the model. Accessed through the Element Metrics collection.

Associated table in .EAP file: t_objectmetrics

Metric Attributes

Attribute | Type | Notes
Name | String | Read/Write. The name of the metric.
Notes | String | Read/Write. Notes about this metric.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. The metric type.
Weight | Long | Read/Write. A user defined weighting for estimation or metric purposes.

Metric Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Metric object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Requirement Class [Enterprise Architect User Guide]

Requirement Class

An Element Requirement object holds information about the responsibilities of an element in the context of the model. Accessed using the Element Requirements collection.

Associated table in .EAP file: t_objectrequires

Requirement Attributes

Attribute | Type | Notes
Difficulty | String | Read/Write. Estimated difficulty to implement.
LastUpdate | Date | Read/Write. Date requirement last updated.
Name | String | Read/Write. The requirement itself.
Notes | String | Read/Write. Further notes about requirement.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
ParentID | Long | Read only. The ElementID of the element to which this requirement applies.
Priority | String | Read/Write. Assigned priority of the requirement.
RequirementID | Long | Read only. A local ID for this requirement.
Stability | String | Read/Write. Estimated stability of the requirement. This is an indication of the probability of the requirement - or understanding of the requirement - changing. High stability indicates a low probability of the requirement changing.
Status | String | Read/Write. Current status of the requirement.
Type | String | Read/Write. Requirement type.

Requirement Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Requirement object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Resource Class [Enterprise Architect User Guide]

Resource Class

An Element Resource is a named person/task pair with timing constraints and percent complete indicators. Use this to manage the work associated with delivering an Element.

Associated table in .EAP file: t_objectresources

Resource Attributes

Attribute | Type | Notes
ActualHours | Long | Read/Write. Time already expended on the task, in hours, days or other units.
DateEnd | Date | Read/Write. Expected end date.
DateStart | Date | Read/Write. Date to start work.
ExpectedHours | Long | Read/Write. The total expected time the task might run, in hours, days or other units.
History | String | Read/Write. Gets or sets history text.
Name | String | Read/Write. Name of resource (for example, person's name).
Notes | String | Read/Write. Descriptive notes.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
PercentComplete | Long | Read/Write. Current percent complete figure.
Role | String | Read/Write. Role they play in implementing the element.
Time | Long | Read/Write. Time expected; numeric indicating number of days.

Resource Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Resource object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Risk Class [Enterprise Architect User Guide]

Risk Class

A Risk object represents a named risk associated with an element and is used for project management purposes. Accessed through the Element Risks collection.

Associated table in .EAP file: t_objectrisks

Risk Attributes

Attribute | Type | Notes
Name | String | Read/Write. The risk.
Notes | String | Read/Write. Further notes describing the risk.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. The risk type associated with this element.
Weight | Long | Read/Write. A weighting for estimation or metric purposes.

Risk Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Risk object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Scenario Class [Enterprise Architect User Guide]

Scenario Class

A Scenario corresponds to a Collaboration or Use Case instance. Each Scenario is a path of execution through the logic of a Use Case. Scenarios can be added to using the Element Scenarios collection.

Associated table in .EAP file: t_objectscenarios

Scenario Attributes

Attribute | Type | Notes | See Also
Name | String | Read/Write. The Scenario name. |
Notes | String | Read/Write. Description of the Scenario. Usually contains the steps to execute the scenario. |
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface. |
ScenarioGUID | String | Read/Write. A unique ID for the Scenario. Used to identify the Scenario unambiguously within a model. |
Steps | Collection of ScenarioStep | Read only. A collection of step objects for this Scenario. Use the AddNew and Delete functions to manage steps. AddNew passes the step name and "1" as the type for an actor step. | Collection Class
Type | String | Read/Write. The scenario type (for example, Basic Path). |
Weight | Long | Read/Write. Currently used to position scenarios in the scenario list (that is, List Position). |
XMLContent | String | Read/Write. A structured field that can contain scenario details in XML format. It is recommended that you use the Steps collection to read or modify this field. |

Scenario Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Scenario object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ScenarioExtension Class [Enterprise Architect User Guide]

ScenarioExtension Class

ScenarioExtension Attributes

Attribute

Type

Notes

ExtensionGUID

String

Read/Write. A unique GUID for this Extension.

Join

String

Read/Write. The GUID of the step where this Extension rejoins the Scenario.

JoiningStep

ScenarioStep

Read only. The actual step where this Extension rejoins the Scenario, if any.

Level

String

Read only. The number of this Extension as shown in the scenario editor. This is derived from the value of Pos for this object and the owning step.

Name

String

Read/Write. The Extension name.

  • This should match the name of the linked scenario

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

Pos

Long

Read/Write. The position of the Extension in the Extensions list

Scenario

Scenario

Read only. The scenario that is executed as an alternative path for this Extension.

ScenarioExtension Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current ScenarioExtension object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ScenarioStep Class [Enterprise Architect User Guide]

ScenarioStep Class

ScenarioStep Attributes

Attribute | Type | Notes | See Also
Extensions | Collection of ScenarioExtension | Read only. A collection of ScenarioExtension objects that specify how the scenario is extended from this step. The arguments to AddNew should match the name and GUID of the alternative scenario being linked to. | Collection ScenarioExtension
Level | String | Read only. The number of this Step as shown in the scenario editor. This is derived from the value of Pos. |
Link | String | Read/Write. The GUID of a Use Case that is relevant to this step. |
LinkedElement | Element | Read only. The actual element specified by Link, if any. | Element
Name | String | Read/Write. The Step name. |
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface. | ObjectType
Pos | Long | Read/Write. The position of the Step in the Scenario Step list. |
Results | String | Read/Write. Any results that are given from this step. |
State | String | Read/Write. A description of the state the system enters when this Step is executed. |
StepGUID | String | Read/Write. A unique GUID for this Step. |
StepType | ScenarioStepType | Read/Write. Identifies whether this step is being performed by a user or the system. | ScenarioStepType
Uses | String | Read/Write. Input and requirements that are relevant to this step. |
UsesElementList | Collection of Element | Read only. Indicates that the Structured Specification tab Uses field is a linked element list. | Collection Element Set Up Scenario Specification

ScenarioStep Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current ScenarioStep object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


TaggedValue Class [Enterprise Architect User Guide]

TaggedValue Class

A TaggedValue is a named property and value associated with an element. It is accessed through the TaggedValues collection.

Associated table in .EAP file: t_objectproperties

TaggedValue Attributes

Attribute

Type

Notes

ElementID

Long

Read/Write. The local ID of the associated element.

FQName

String

Read only. The fully-qualified name of the tag.

Name

String

Read/Write. Name of the tag.

Notes

String

Read/Write. Further descriptive notes about this tag.

If Value (below) is set to "<memo>", then Notes should contain the actual Tagged Value content.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

PropertyGUID

String

Read/Write. The tag global ID.

PropertyID

Long

Read only. The tag local ID.

Value

String

Read/Write. The value assigned to this tag.

This field has a 255 character limit. If the value is greater than 255 characters long, set the value to "<memo>" and insert the body of text in the Notes attribute (above).

When reading existing Tagged Values, if Value = "<memo>" then the developer should read the actual body of text from the Notes attribute.

TaggedValue Methods

Method | Type | Notes
GetLastError() | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update() | Boolean | Update the current TaggedValue object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Test Class [Enterprise Architect User Guide]

Test Class

A Test is a single Test Case applied to an element. Tests are added and accessed through the Element Tests collection.

Associated table in .EAP file: t_objecttests

Test Attributes

Attribute | Type | Notes
AcceptanceCriteria | String | Read/Write. The acceptance criteria for successful execution.
CheckedBy | String | Read/Write. Results confirmed by.
Class | Long | Read/Write. The test Class: 1 = Unit Test 2 = Integration Test 3 = System Test 4 = Acceptance Test 5 = Scenario Test.
DateRun | Date | Read/Write. Date last run.
Input | String | Read/Write. Input data.
Name | String | Read/Write. The test name.
Notes | String | Read/Write. Detailed notes about test to be carried out.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
RunBy | String | Read/Write. Person conducting test.
Status | String | Read/Write. Current status of test.
TestResults | Variant | Read/Write. Results of test.
Type | String | Read/Write. The test type, such as Load or Regression.

Test Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Test object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Element Features Package [Enterprise Architect User Guide]

Element Features Package

The ElementFeatures package contains descriptions of the model interfaces that enable access to operations and attributes, and their associated Tagged Values and constraints.

This diagram illustrates the components associated with element features. These include Attributes and Methods, and the associated constraints and Tagged Values related to them. It also includes the Parameter object that defines the arguments associated with an operation (method).

Example:

Enterprise Architect ElementFeatures Package Diagram


Attribute Class [Enterprise Architect User Guide]

Attribute Class

An attribute corresponds to a UML Attribute. It contains further collections for constraints and Tagged Values. Attributes are accessed from the Element Attributes collection.

Associated table in .EAP file: t_attribute

Attribute Attributes

Attribute | Type | Notes
AllowDuplicates | Boolean | Read/Write. Indicates if duplicates are allowed in the collection. If the attribute represents a database column, this when set represents the Not Null option.
AttributeGUID | String | Read only. A globally unique ID for the current attribute. System generated.
AttributeID | Long | Read only. Local ID number of the attribute.
ClassifierID | Long | Read/Write. Classifier ID, if appropriate; indicates the base type associated with attribute, if not a primitive type.
Container | String | Read/Write. The container type.
Containment | String | Read/Write. Type of containment. Can be Not Specified, By Reference or By Value.
Constraints | Collection | Read only. A collection of AttributeConstraint objects. Used to access and manage constraints associated with this attribute.
Default | String | Read/Write. Initial value assigned to this attribute.
IsCollection | Boolean | Read/Write. Indicates if the current feature is a collection or not. If the attribute represents a database column, this when set represents a Foreign Key.
IsConst | Boolean | Read/Write. Flag indicating if the attribute is Const or not.
IsDerived | Boolean | Read/Write. Indicates if the attribute is derived (that is, a calculated value).
IsOrdered | Boolean | Read/Write. Indicates if a collection is ordered or not. If the attribute represents a database column, this when set represents a Primary Key.
IsStatic | Boolean | Read/Write. Indicates if the current attribute is a static feature or not. If the attribute represents a database column, this when set represents the Unique option.
Length | String | Read/Write. The attribute length, where applicable.
LowerBound | String | Read/Write. A value for the collection lower bound.
Name | String | Read/Write. The attribute name.
Notes | String | Read/Write. Further notes about this attribute.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
ParentID | Long | Read only. Returns the ElementID of the element that this attribute is a part of.
Pos | Long | Read/Write. Position of the attribute in the Class attribute list.
Precision | String | Read/Write. Precision value.
Scale | String | Read/Write. Scale value.
Stereotype | String | Read/Write. Sets or gets the stereotype for this attribute.
StereotypeEx | String | Read/Write. All the applied stereotypes of the attribute in a comma-separated list.
Style | String | Read/Write. Contains the Alias property for this attribute.
StyleEx | String | Read/Write. Advanced style settings. Reserved for the use of Sparx Systems.
TaggedValues | Collection of type AttributeTag | Read only. A collection of AttributeTag objects. Use to access and manage Tagged Values associated with this attribute.
TaggedValuesEx | Collection of type TaggedValue | Read only. Collection of TaggedValue objects belonging to the current attribute and the TaggedValuesEx property of its classifier.
Type | String | Read/Write. The attribute type (by name; also see ClassifierID).
UpperBound | String | Read/Write. A value for the collection upper bound.
Visibility | String | Read/Write. The scope of the attribute. Can be Private, Protected, Public or Package.

Attribute Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current attribute object after modifying or appending a new item. If false is returned, check the GetLastError function for more information.

Notes:

  • The Attribute Class in Enterprise Architect does not have an Alias property. You can access the Alias property of the Attribute Class using the Style property.


AttributeConstraint Class [Enterprise Architect User Guide]

AttributeConstraint Class

An AttributeConstraint is a constraint associated with the current Attribute.

Associated table in .EAP file: t_attributeconstraints

AttributeConstraint Attributes

Attribute | Type | Notes
AttributeID | Long | Read/Write. ID of the attribute this constraint applies to.
Name | String | Read/Write. The constraint.
Notes | String | Read/Write. Descriptive notes about constraint.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. Type of constraint.

AttributeConstraint Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current AttributeConstraint object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


AttributeTag Class [Enterprise Architect User Guide]

AttributeTag Class

An AttributeTag represents a Tagged Value associated with an attribute.

Associated table in .EAP file: t_attributetag

AttributeTag Attributes

Attribute

Type

Notes

AttributeID

Long

Read/Write. Local ID of attribute associated with this Tagged Value.

FQName

String

Read only. The fully-qualified name of the tag.

Name

String

Read/Write. Name of tag.

Notes

String

Read/Write. Further descriptive notes about this tag.

If Value (below) is set to "<memo>", then Notes should contain the actual Tagged Value content.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

TagGUID

String

Read/Write. A globally unique ID for this Tagged Value.

TagID

Long

Read only. Local ID to identify Tagged Value.

Value

String

Read/Write. The value assigned to this tag.

This field has a 255 character limit. If the value is greater than 255 characters long, set the value to "<memo>" and insert the body of text in the Notes attribute (above).

When reading existing Tagged Values, if Value = "<memo>" then the developer should read the actual body of text from the Notes attribute.

AttributeTag Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current AttributeTag object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


CustomProperties Collection [Enterprise Architect User Guide]

CustomProperties Collection

The CustomProperties collection contains 0 or more Cust Properties associated with the current element. These properties provide advanced UML configuration options, and must not be added to or deleted. The value of each property can be set.

CustomProperty

Attribute | Type | Notes
Name | String | Read only. The CustomProperty name.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Value | String | Read/Write. The value associated with this custom property. Can be a string, the boolean values true or false, or an enumeration value from a defined list. The UML 2.3 specification in general provides information on enumeration kinds relevant here.
  • The number and type of properties vary depending on the actual element


EmbeddedElements Collection [Enterprise Architect User Guide]

EmbeddedElements Collection

In UML 2.3 an element can have one or more embedded elements such as Ports, Pins, Parameters or ObjectNodes. These are attached to the boundary of the host element and cannot be moved off the element. They are owned by their host element. This collection gives easy access to the set of elements embedded on the surface of an element. Note that some embedded elements can have their own embedded element collection (for example, Ports can have Interfaces embedded on them).

The EmbeddedElements collection contains Element objects.

Example:


Method Class [Enterprise Architect User Guide]

Method Class

A method represents a UML operation. It is accessed from the Element Methods collection and includes collections for parameters, constraints and Tagged Values.

Associated table in .EAP file: t_operation

Method Attributes

Attribute | Type | Notes
Abstract | Boolean | Read/Write. Flag indicating if the method is abstract (1) or not (0).
Behavior | String | Read/Write. Some further explanatory behavior notes (for example, pseudocode). In earlier releases of Enterprise Architect this attribute had the UK/Australian spelling 'Behaviour'; this is still present for backwards compatibility, but please now use the 'Behavior' attribute for consistency.
ClassifierID | String | Read/Write. Classifier ID that applies to the ReturnType.
Code | String | Read/Write. Optional field to hold the method Code (used for the Initial Code field).
Concurrency | Variant | Read/Write. Concurrency type of method.
IsConst | Boolean | Read/Write. Flag indicating the method is Const.
IsLeaf | Boolean | Read/Write. Flag to indicate if the method is Leaf (cannot be overridden).
IsPure | Boolean | Read/Write. Flag indicating the method is defined as Pure in C++.
IsQuery | Boolean | Read/Write. Flag to indicate if the method is a query (that is, does not alter Class variables).
IsRoot | Boolean | Read/Write. Flag to indicate if the method is Root.
IsStatic | Boolean | Read/Write. Flag to indicate a static method.
IsSynchronized | Boolean | Read/Write. Flag indicating a Synchronized method call.
MethodGUID | String | Read/Write. A globally unique ID for the current method. System generated.
MethodID | Long | Read only. A local ID for the current method, only valid within this .EAP file.
Name | String | Read/Write. The method name.
Notes | String | Read/Write. Descriptive notes about the method.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Parameters | Collection | Read only. The Parameters collection for the current method. Use to add and access parameter objects for the current method.
ParentID | Long | Read only. Returns the ElementID of the element that this method belongs to.
Pos | Long | Read/Write. Specifies the position of the method within the set of operations defined for a Class.
PostConditions | Collection | Read only. PostConditions (constraints) as they apply to this method. Returns a MethodConstraint object of type post.
PreConditions | Collection | Read only. PreConditions (constraints) as they apply to this method. Returns a MethodConstraint object of type pre.
ReturnIsArray | Boolean | Read/Write. Flag to indicate the return value is an array.
ReturnType | String | Read/Write. Return type for the method; can be a primitive data type or a Class or Interface type.
StateFlags | String | Read/Write. Some flags as applied to methods in State elements.
Stereotype | String | Read/Write. The method stereotype (optional).
StereotypeEx | String | Read/Write. All the applied stereotypes of the method in a comma-separated list.
Style | String | Read/Write. Contains the Alias property for this method.
StyleEx | String | Read/Write. Advanced style settings. Reserved for the use of Sparx Systems.
TaggedValues | Collection of type MethodTag | Read only. TaggedValues collection for the current method. Accesses a list of MethodTag objects.
Throws | String | Read/Write. Exception information.
Visibility | String | Read/Write. The method scope: Public, Protected, Private or Package.

Method Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current method object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


MethodConstraint Class [Enterprise Architect User Guide]

MethodConstraint Class

A MethodConstraint is a condition imposed on a method. It is accessed through either the Method PreConditions or Method PostConditions collection.

Associated table in .EAP file: t_operationpres and t_operationposts

MethodConstraint Attributes

Attribute | Type | Notes
MethodID | Long | Read/Write. The local ID of the associated method.
Name | String | Read/Write. The name of the constraint.
Notes | String | Read/Write. Descriptive notes about this constraint.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. The constraint type.

MethodConstraint Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current MethodConstraint object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


MethodTag Class [Enterprise Architect User Guide]

MethodTag Class

A MethodTag is a Tagged Value associated with a method.

Associated table in .EAP file: t_operationtag

MethodTag Attributes

Attribute

Type

Notes

FQName

String

Read only. The fully-qualified name of the tag.

MethodID

Long

Read/Write. The ID of the associated method.

Name

String

Read/Write. The tag or name of the property.

Notes

String

Read/Write. Further descriptive notes about this tag.

If Value (below) is set to "<memo>", then Notes should contain the actual Tagged Value content.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

TagGUID

String

Read/Write. A unique GUID for this Tagged Value.

TagID

Long

Read only. A unique ID for this Tagged Value.

Value

String

Read/Write. The value assigned to this tag.

This field has a 255 character limit. If the value is greater than 255 characters long, set the value to "<memo>" and insert the body of text in the Notes attribute (above).

When reading existing Tagged Values, if Value = "<memo>" then the developer should read the actual body of text from the Notes attribute.

MethodTag Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Updates the current MethodTag object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


Parameter Class [Enterprise Architect User Guide]

Parameter Class

A Parameter object represents a method argument and is accessed through the Method Parameters collection.

Associated table in .EAP file: t_operationparams

Parameter Attributes

Attribute | Type | Notes
Alias | String | Read/Write. An optional alias for this parameter.
ClassifierID | String | Read/Write. A ClassifierID for the parameter, if known.
Default | String | Read/Write. A default value for this parameter.
IsConst | Boolean | Read/Write. Flag indicating the parameter is Const (cannot be altered).
Kind | String | Read/Write. The parameter kind - in, inout, out, return.
Name | String | Read/Write. The parameter name; must be unique for a single method.
Notes | String | Read/Write. Descriptive notes.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
OperationID | Long | Read only. ID of the method associated with this parameter.
ParameterGUID | String | Read/Write. A globally unique ID for the current Parameter. System generated.
Position | Long | Read/Write. The position in the argument list.
Stereotype | String | Read/Write. The first stereotype of the parameter.
StereotypeEx | String | Read/Write. All the applied stereotypes of the parameter in a comma-separated list.
Style | String | Read/Write. Some style information.
StyleEx | String | Read/Write. Advanced style settings. Reserved for the use of Sparx Systems.
TaggedValues | Collection of type ParamTag | Read/Write. GUID of the parameter with which this ParamTag is associated.
Type | Variant | Read/Write. The parameter type; can be a primitive type or defined classifier.

Parameter Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current Parameter object after modifying or appending a new item. If false is returned, check the GetLastError function for more information.


ParamTag Class [Enterprise Architect User Guide]

ParamTag Class

A ParamTag is a Tagged Value associated with a method parameter.

ParamTag Attributes

Attribute | Type | Notes
ElementGUID | String | Read/Write. GUID of the parameter with which this ParamTag is associated.
FQName | String | Read only. The fully qualified name of the tag.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
PropertyGUID | String | Read/Write. A system generated GUID to identify the Tagged Value.
Tag | String | Read/Write. The actual tag name.
Value | String | Read/Write. The value associated with this tag.

ParamTag Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object.
Update () | Boolean | Updates the current ParamTag object after modifying or appending a new item. If false is returned, check the GetLastError function for more information.


Partitions Collection [Enterprise Architect User Guide]

Partitions Collection

A collection of internal element partitions (regions). This is commonly seen in Activity, State, Boundary, Diagram Frame and similar elements. Not all elements support partitions.

This collection contains a set of Partition elements. The set is read/write: information is not saved until the host element is saved, so ensure that you call the Element.Save method after making changes to a Partition.

Partition Attributes

Attribute | Type | Notes
Name | String | Read/Write. The partition name; can represent a condition or constraint in some cases.
Note | String | Read/Write. A free text note associated with this partition.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Operator | String | Read/Write. An optional operator value that specifies the partition type.
Size | String | Read/Write. Vertical or horizontal width of partition in pixels.

Learn More:

  • Activity
  • State
  • Boundary
  • Diagram Frame


Properties Class [Enterprise Architect User Guide]

Properties Class

Properties

Properties Attributes

Attribute | Type | Notes
Count | Long | The number of properties that are available for this object.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

Properties Methods

Method

Type

Notes

Item (object Index)

Property

Returns a property either by name or by zero-based integer offset into the list of properties.

Parameter:

  • Index: Variant - either a string representing the property name or an integer representing the zero-based offset into the property list.

Property

Property Attributes

Attribute | Type | Notes
Name | String | Read only. Identifies the property. The object to which the properties list applies can have an automation property with the same name, in which case the data accessed through Value is identical to that obtained through the automation property.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | PropType | Read only. Provides an indication of what sort of data is going to be stored by this property. This restriction can be further defined by the Validation attribute.
Validation | String | Read only. Optional string that is used to validate any data that is passed to the Value attribute. This string is used by the programmer at run time to provide an indication of what's expected, and by Enterprise Architect to ensure that the submitted data is appropriate.
Value | Variant | Read/write. The value of the property as defined in the other fields.


Transitions Collection [Enterprise Architect User Guide]

Transitions Collection

Applies only to Timeline elements. A Timeline element displays 0 or more state transitions at set times on its extent. This collection enables you to access the transition set. You can also access additional information by referring to the connectors associated with the Timeline, and by referencing messages passed between timelines. Note that any changes made to elements in this collection are only saved when the main element is saved.

Transition Attributes

Attribute | Type | Notes
DurationConstraint | String | Read/Write. A constraint on the time duration that the transition takes.
Event | String | Read/Write. Event (optional) that initiated transition.
Note | String | Read/Write. A free text note.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
TimeConstraint | String | Read/Write. A constraint on when the transition has to be complete by.
TxState | String | Read/Write. The state to transition to. Defined in the Timeline Properties dialog.
TxTime | String | Read/Write. The time that the transition occurs. Value depends on range set in diagram.


Connector Package [Enterprise Architect User Guide]

Connector Package

The Connector package details how connectors between elements are accessed and managed.

Example:

Enterprise Architect Connector Package Diagram


Connector Class [Enterprise Architect User Guide]

Connector Class

Reference:

Topic

Detail

See also

General Usage

A Connector object represents the various kinds of connectors between UML elements; it is accessed from either the Client or Supplier element, using the Connectors collection of that element

When creating a new connector you must assign it a valid type from the following list:

  • Aggregation
  • Assembly
  • Association
  • Collaboration
  • CommunicationPath
  • Connector
  • ControlFlow
  • Delegate
  • Dependency
  • Deployment
  • ERLink
  • Generalization
  • InformationFlow
  • Instantiation
  • InterruptFlow
  • Manifest
  • Nesting
  • NoteLink
  • ObjectFlow
  • Package
  • Realization
  • Sequence
  • StateFlow
  • UseCase

Associated table in .EAP file: t_connector

Connector Attributes

Attribute

Type

Notes

See Also

Alias

String

Read/Write

An optional alias for this connector

ClientEnd

ConnectorEnd

Read only

A pointer to the ConnectorEnd object representing the source end of the relationship

ClientID

Long

Read/Write

ElementID of the element at the source end of this connector

Color

Long

Read/Write

Sets the color of the connector

ConnectorGUID

Variant

Read only

A globally unique ID for the current connector; system generated

ConnectorID

Long

Read only

Local identifier for the current connector; system generated

Constraints

Collection

Read only

Collection of constraint objects

Constraint

CustomProperties

Collection

Read only

Returns a collection of advanced properties associated with an element in the form of CustomProperty objects

CustomProperty Collection

DiagramID

Long

Read/Write

The DiagramID of the connector

Direction

String

Read/Write

Connector direction; can be set to one of the following:

  • Unspecified
  • Bi-Directional
  • Source -> Destination
  • Destination -> Source

If the connector is non-navigable, set the sourceNavigability and/or targetNavigability attributes

Supported Attributes

EndPointX

Long

Read/Write

The x-coordinate of the connector's end point

Connector end points are specified in Cartesian coordinates with the origin to the top left of the screen

EndPointY

Long

Read/Write

The y-coordinate of the connector's end point

Connector end points are specified in Cartesian coordinates with the origin to the top left of the screen

EventFlags

String

Read/Write

Structure to hold a variety of flags concerned with event signaling on messages

IsLeaf

Boolean

Read/Write

Flag indicating connector is a leaf

IsRoot

Boolean

Read/Write

Flag indicating connector is a root

IsSpec

Boolean

Read/Write

Flag indicating connector is a specification

MetaType

String

Read only

The connector's domain-specific meta type, as defined by an applied stereotype from an MDG Technology

MiscData

String

Read only

This low-level property returns an array providing information about the contents of the PDatax fields; these database fields are not documented and developers must gain understanding of these fields through their own endeavors to use this property

MiscData is zero based, therefore:

  • MiscData(0) corresponds to PData1
  • MiscData(1) to PData2

and so on

Name

String

Read/Write

The connector name

Notes

String

Read/Write

Descriptive notes about the connector

ObjectType

ObjectType

Read only

Distinguishes objects referenced through a Dispatch interface

Properties

Properties

Returns a list of specialized properties applicable to the connector that might not be available using the automation model

The properties are purposely undocumented because of their obscure nature and because they are subject to change as progressive enhancements are made to them

RouteStyle

Long

Read/Write

The route style

SequenceNo

Long

Read/Write

The SequenceNo of the connector

StartPointX

Long

Read/Write

The x-coordinate of the connector's start point

Connector end points are specified in Cartesian coordinates with the origin to the top left of the screen

StartPointY

Long

Read/Write

The y-coordinate of the connector's start point

Connector end points are specified in Cartesian coordinates with the origin to the top left of the screen

StateFlags

String

Read/Write

Structure to hold a variety of flags concerned with State signaling on messages, the list delimited by semi-colons

Stereotype

String

Read/Write

Sets or gets the stereotype for this connector end

StereotypeEx

String

Read/Write

All the applied stereotypes of the connector in a comma-separated list

StyleEx

String

Read/Write

Advanced style settings; reserved for the use of Sparx Systems

Subtype

String

Read/Write

A possible subtype to refine the meaning of the connector

SupplierEnd

ConnectorEnd

Read only

A pointer to the ConnectorEnd object representing the target end of the relationship

SupplierID

Long

Read/Write

ElementID of the element at the target end of this connector

TaggedValues

Collection

Read only

Collection of ConnectorTag objects

TransitionAction

String

Read/Write

See the Transition topic for appropriate values

Transition

TransitionEvent

String

Read/Write

See the Transition topic for appropriate values

TransitionGuard

String

Read/Write

See the Transition topic for appropriate values

Type

String

Read/Write

Connector type; valid types are held in the t_connectortypes table in the .EAP file

VirtualInheritance

String

Read/Write

For Generalization, indicates if inheritance is virtual

Width

Long

Read/Write

Specifies the width of the connector

Connector Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object This function is rarely used, as an exception is thrown when an error occurs
Update () | Boolean | Update the current ConnectorObject after modification or appending a new item If false is returned, check the GetLastError function for more information


ConnectorConstraint Class [Enterprise Architect User Guide]

ConnectorConstraint Class

A ConnectorConstraint holds information about special conditions that apply to a connector. It is accessed through the Connector Constraints collection.

Associated table in .EAP file: t_connectorconstraints

ConnectorConstraint Attributes

Attribute | Type | Notes
ConnectorID | Long | Read/Write. A local ID value (long) - system generated.
Name | String | Read/Write. The constraint name.
Notes | String | Read/Write. Notes about this constraint.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Type | String | Read/Write. The constraint type.

ConnectorConstraint Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current ConnectorConstraint object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ConnectorEnd Class [Enterprise Architect User Guide]

ConnectorEnd Class

A ConnectorEnd contains information about a single end of a connector. A ConnectorEnd is accessed from the connector as either the ClientEnd or SupplierEnd.

Associated table in .EAP file: derived from t_connector

ConnectorEnd Attributes

Attribute | Type | Notes | See Also
Aggregation | Long | Read/Write. Aggregation as it applies to this end. Valid values are: 0 = None 1 = Shared 2 = Composite. |
Alias | String | Read/Write. An optional alias for this connector end. |
AllowDuplicates | Boolean | Read/Write. For multiplicities greater than 1, indicates that duplicate entries are possible. |
Cardinality | String | Read/Write. Cardinality associated with this end. |
Constraint | String | Read/Write. A constraint that can be applied to this connector end. |
Containment | String | Read/Write. Containment type applied to this connector end. |
Derived | Boolean | Read/Write. Indicates that the value of this end is derived. |
DerivedUnion | Boolean | Read/Write. Indicates the value of this role derived from the union of all roles that subset this. |
End | String | Read only. The end this ConnectorEnd object applies to: Client or Supplier. |
IsChangeable | String | Read/Write. Flag indicating whether this end is changeable or not. Values: frozen, addOnly or none. |
IsNavigable | Boolean | Read/Write. Flag indicating this end is navigable from the other end. |
Navigable | String | Read/Write. Indicates whether this role of an association is navigable from the opposite classifier. Three values are valid: Navigable, Non-Navigable and Unspecified. |
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface. |
Ordering | Long | Read/Write. Ordering for this connector end. |
OwnedByClassifier | Boolean | Read/Write. Indicates this Association end corresponds to an attribute on the opposite end of the Association. |
Qualifier | String | Read/Write. A qualifier that can apply to connector end. |
Role | String | Read/Write. The connector end role. |
RoleNote | String | Read/Write. Notes associated with the role of this connector end. |
RoleType | String | Read/Write. The role type applied to this end of the connector. |
Stereotype | String | Read/Write. Sets or gets the stereotype for this connector end. |
StereotypeEx | String | Read/Write. All the applied stereotypes of the connector end in a comma-separated list. |
TaggedValues | Private | Read only. Collection of RoleTag objects. | RoleTag Class
Visibility | String | Read/Write. Scope associated with this connector end. Valid types are: Public, Private, Protected and Package. |

ConnectorEnd Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current ConnectorEnd object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


ConnectorTag Class [Enterprise Architect User Guide]

ConnectorTag Class

A ConnectorTag is a Tagged Value for a connector and is accessed through the Connector TaggedValues collection.

Associated table in .EAP file: t_connectortag

ConnectorTag Attributes

Attribute

Type

Notes

ConnectorID

Long

Read/Write. The local ID of the associated connector.

FQName

String

Read only. The fully qualified name of the tag.

Name

String

Read/Write. The tag or name.

Notes

String

Read/Write. Further descriptive notes about this tag.

If Value (below) is set to "<memo>", then Notes should contain the actual Tagged Value content.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

TagGUID

String

Read/Write. A globally unique ID for this Tagged Value.

TagID

Long

Read only. A local ID to identify the Tagged Value.

Value

String

Read/Write. The value assigned to this tag.

This field has a 255 character limit. If the value is greater than 255 characters long, set the value to "<memo>" and insert the body of text in the Notes attribute (above).

When reading existing Tagged Values, if Value = "<memo>" then the developer should read the actual body of text from the Notes attribute.

ConnectorTag Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current ConnectorTag object after modification or appending a new item. If false is returned, check the GetLastError function for more information.


RoleTag Class [Enterprise Architect User Guide]

RoleTag Class

Reference:

Topic | Detail | See also
General Usage | This interface provides access to the association Role Tagged Values. Each connector end has a RoleTag collection that can be accessed to add, delete and access the RoleTags. In code you create something that resembles the following (where con is a Connector Object): Code fragment for accessing a RoleTag in VB.NET: client = con.ClientEnd client.Role = "m_client" client.Update() tag = client.TaggedValues.AddNew("tag", "value") tag.Update() tag = client.TaggedValues.AddNew("tag2", "value2") tag.Update() client.TaggedValues.Refresh() For idx = 0 To client.TaggedValues.Count - 1 tag = client.TaggedValues.GetAt(idx) Console.WriteLine(tag.Tag) client.TaggedValues.DeleteAt(idx, False) Next tag = Nothing |

RoleTag Attributes

Attribute | Type | Notes
BaseClass | String | Read/Write. Indicates the role end; set to ASSOCIATION_SOURCE or ASSOCIATION_TARGET.
ElementGUID | String | Read/Write. GUID of the connector with which this role tag is associated.
FQName | String | Read only. The fully qualified name of the tag.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
PropertyGUID | String | Read/Write. A system generated GUID to identify the Tagged Value.
Tag | String | Read/Write. The actual tag name.
Value | String | Read/Write. The value associated with this tag.

RoleTag Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the RoleTag after changes or on initial creation. If false is returned, check the GetLastError function for more information.


Diagram Package [Enterprise Architect User Guide]

Diagram Package

The Diagram package has information on a diagram and on DiagramObject and DiagramLink, which are the instances of elements within a diagram.

Example:

Enterprise Architect Diagram Package Diagram


Diagram Class [Enterprise Architect User Guide]

Diagram Class

Topics:

Topic

Detail

See also

General Usage

A Diagram corresponds to a single Enterprise Architect diagram. It is accessed through the Package Diagrams collection and in turn contains a collection of diagram objects and diagram connectors. Adding to the DiagramObject Class adds an element to the diagram (the element must already exist). When adding a new diagram, you must set the diagram type to a valid type; these are:

  • Activity
  • Analysis
  • Component
  • Custom
  • Deployment
  • Logical
  • Sequence
  • Statechart
  • Use Case

Use the Analysis type for a Collaboration Diagram.

Associated table in .EAP file: t_diagram

Diagram Attributes

Attribute

Type

Notes

See Also

Author

String

Read/Write. The author.

CreatedDate

Date

Read/Write. The date the diagram was created.

cx

Long

Read/Write. The X dimension of the diagram (default is 800).

cy

Long

Read/Write. The Y dimension of the diagram (default is 1100).

DiagramGUID

Variant

Read/Write. A globally unique ID for this diagram.

DiagramID

Long

Read only. A local ID for the diagram.

DiagramLinks

Collection

Read only. A list of DiagramLink objects, each containing information about the display characteristics of a connector in a diagram.

A DiagramLink is only created once a user modifies a connector in a diagram in some way. Until this condition has been met default values are used and the DiagramLink is not in use.

DiagramLink Class

DiagramObjects

Collection

Read only. A collection of references to DiagramObjects. A DiagramObject is an instance of an element in a diagram, and includes size and display characteristics.

DiagramObject Class

ExtendedStyle

String

Read/Write. An extended style attribute.

HighlightImports

Boolean

Read/Write. Flag to indicate elements from other packages should be highlighted.

IsLocked

Boolean

Read/Write. Flag indicating whether this diagram is locked or not.

MetaType

String

Read only. The diagram's domain-specific meta type, as defined by an MDG Technology.

ModifiedDate

Variant

Read/Write. The date the diagram was last modified.

Name

String

Read/Write. The diagram name.

Notes

String

Read/Write. Set/retrieve notes for this diagram.

ObjectType

ObjectType

Read only. Distinguishes objects referenced through a Dispatch interface.

Orientation

String

Read/Write. Page orientation: P for Portrait or L for Landscape.

PackageID

Long

Read/Write. An ID of the package that this diagram belongs to.

ParentID

Long

Read/Write. An optional ID of an element that 'owns' this diagram; for example, a Sequence diagram owned by a Use Case.

Scale

Long

Read/Write. The zoom scale (default is 100).

SelectedConnector

Connector

Read/Write. The currently selected connector on this diagram. Null if there is no currently selected diagram.

SelectedObjects

Collection

Read only. Gets a collection representing the currently selected elements on the diagram. Can remove objects from this collection to deselect them, and add elements to the collection by passing the Object ID as a name to select them.

ShowDetails

Long

Read/Write. Flag to indicate Diagram Details text should be shown. 1 = Show, 0 = Hide.

ShowPackageContents

Boolean

Read/Write. Flag to indicate package contents should be shown in the current diagram.

ShowPrivate

Boolean

Read/Write. Flag to show or hide Private features.

ShowProtected

Boolean

Read/Write. Flag to show or hide Protected features.

ShowPublic

Boolean

Read/Write. Flag to show or hide Public features.

Stereotype

String

Read/Write. Sets or gets the stereotype for this diagram.

StyleEx

String

Read/Write. Advanced style settings. Reserved for the use of Sparx Systems.

Swimlanes

String

Read/Write. Information on swimlanes contained in the diagram. Please note that this property is superseded by SwimlaneDef.

SwimlaneDef Class

SwimlaneDef

SwimlaneDef

Read/Write. Information on swimlanes contained in the diagram.

Type

String

Read only. The diagram type. See the t_diagramtypes table in the .EAP file for more information.

Version

String

Read/Write. The version of the diagram.

Diagram Methods

Method

Type

Notes

See Also

ApplyGroupLock (string aGroupName)

Boolean

Applies a group lock to this diagram object, for the specified group, on behalf of the current user.

Throws an exception if the operation fails. Use GetLastError() to retrieve error information.

Parameter:

  • aGroupName: String - the name of the user group for which to set the group lock

ApplyUserLock ()

Boolean

Applies a user lock to this diagram object, for the current user.

Throws an exception if the operation fails. Use GetLastError() to retrieve error information.

GetLastError ()

String

Returns a string value describing the most recent error that occurred in relation to this object.

This function is rarely used as an exception is thrown when an error occurs.

ReleaseUserLock ()

Boolean

Releases a group lock or user lock on this diagram object.

Throws an exception if the operation fails. Use GetLastError() to retrieve error information.

ReorderMessages ()

Void

Resets the display order of Sequence and Collaboration messages. Typically used after inserting or deleting messages in the diagram.

ShowAsElementList (bool ShowAsList, bool Persist)

Boolean

Toggles the diagram display between diagram format and Diagram List depending on the value of ShowAsList.

If Persist is set, the display format is written to the database so the diagram always opens in that format (diagram or list). Otherwise, the display format falls back to the default (diagram) once the display is closed.

Parameters:

  • ShowAsList: Boolean - indicates diagram or Diagram List
  • Persist: Boolean - indicates set (maintain ShowAsList value) or not (revert to default)

Diagram List

Update ()

Boolean

Updates this diagram object after modification or appending a new item.

If false is returned, use GetLastError() to retrieve error information.


DiagramLinks Class [Enterprise Architect User Guide]

DiagramLinks Class

A DiagramLink is an object that holds display information about a connector between two elements in a specific diagram. It includes, for example, the custom points and display appearance. It can be accessed from the Diagram DiagramLinks collection.

Associated table in .EAP file: t_diagramlinks

DiagramLinks Attributes

Attribute | Type | Notes
ConnectorID | Long | Read/Write. The ID of the associated connector.
DiagramID | Long | Read/Write. The local ID for the associated diagram.
Geometry | String | Read/Write. The geometry associated with the current connector in this diagram.
InstanceID | Long | Read only. Holds the connector identifier for the current model.
IsHidden | Boolean | Read/Write. Flag to indicate if this item is hidden or not.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Path | String | Read/Write. The path of the connector in this diagram.
Style | String | Read/Write. Additional style information; for example, color, thickness.

DiagramLinks Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object. This function is rarely used as an exception is thrown when an error occurs.
Update () | Boolean | Update the current DiagramLink object after modification or appending a new item. If false is returned, check the GetLastError function for more information.

Learn More:

  • DiagramLinks


DiagramObject Class [Enterprise Architect User Guide]

DiagramObject Class

The DiagramObject Class stores presentation information that indicates what is displayed in a diagram and how it is shown.

Associated table in .EAP file: t_diagramobjects

DiagramObject Attributes

Attribute | Type | Notes | See Also
Bottom | Long | Read/Write; the bottom position of the element |
DiagramID | Long | Read/Write; the ID of the associated diagram (long) |
ElementID | Long | Read/Write; the ElementID of the object instance in this diagram |
InstanceID | Long | Read/Write; read only attribute that holds the connector identifier for the current model |
Left | Long | Read/Write; the left position of the element |
ObjectType | ObjectType | Read only; distinguishes objects referenced through a Dispatch interface |
Right | Long | Read/Write; the right position of the element |
Sequence | Long | Read/Write; the sequence position when loading into diagram (affects Z order) The Z-order is one-based and the lowest value is in the foreground |
Style | Variant | Write only (reading this value gives undefined results); style information for this object | Setting the Style
Top | Long | Read/Write; the top position of the element |

DiagramObject Methods

Method | Type | Notes
GetLastError () | String | Returns a string value describing the most recent error that occurred in relation to this object This function is rarely used as an exception is thrown when an error occurs
Update () | Boolean | Update the current DiagramObject after modification or appending a new item If false is returned, check the GetLastError function for more information

Topics:

Topic

Detail

See also

Setting The Style

The Style attribute is used for setting the appearance of a DiagramObject; it is set with a string value in the format:

BCol=n;BFol=n;LCol=n;LWth=n;

where:

  • BCol = Background Color
  • BFol = Font Color
  • LCol = Line Color
  • LWth = Line Width

The color value is a decimal representation of the hex RGB value, where Red=FF, Green=FF00 and Blue=FF0000; for example:

DiagObj.Style = "BCol=35723;BFol=9342520;LCol=9342520;LWth=1;"

The following code snippet shows how you might change the style settings for all of the objects in the current diagram, in this case changing everything to red:

For Each aDiagObj In aDiag.DiagramObjects

aDiagObj.Style = "BCol=255;BFol=9342520;LCol=9342520;LWth=1;"

aDiagObj.Update

aRepos.ReloadDiagram aDiagObj.DiagramID

Next


SwimlaneDef Class [Enterprise Architect User Guide]

SwimlaneDef Class

A SwimlaneDef object makes available attributes relating to a single row or column in a list of swimlanes.

Attribute | Type | Notes
Bold | Boolean | Read/Write. Show the title text in bold.
FontColor | Long | Read/Write. RGB color used to draw the titles.
HideClassifier | Boolean | Read/Write. Removes any classifier from title display.
HideNames | Boolean | Read/Write. Set to true to hide the swimlane titles.
LineColor | Long | Read/Write. RGB color used to draw swimlane borders.
LineWidth | Long | Read/Write. Width of line, in pixels, used to draw swimlanes. Valid values: 1, 2 or 3.
Locked | Boolean | Read/Write. If set to true, disables user modification of the swimlanes via the diagram.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Orientation | String | Read/Write. Indication of whether the swimlanes are vertical or horizontal.
ShowInTitleBar | Boolean | Read/Write. Enables vertical swimlane titles to be shown in title bar.
Swimlanes | Swimlanes | Read/Write. A list of individual swimlanes.


Swimlanes Class [Enterprise Architect User Guide]

Swimlanes Class

A Swimlanes object is attached to a diagram's SwimlaneDef object and provides a mechanism to access individual swimlanes.

Swimlanes Attributes

Attribute | Type | Notes
Count | Long | Read/Write. Gives the number of swimlanes.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

Swimlanes Methods

Method

Type

Notes

Add (string Title, long Width)

Swimlane

Adds a new swimlane to the end of the list. Returns a swimlane object representing the newly added entry.

Parameters:

  • Title: String - The title text that appears at the top of the swimlane. Can be the same as an existing swimlane title.
  • Width: Long - The width of the swimlane in pixels.

Delete (object Index)

Void

Deletes a selected swimlane.

If the string matches more than one entry, only the first entry is deleted.

Parameter:

  • Index: Object - Either a string representing the title text or an integer representing the zero-based index of the swimlane to delete.

DeleteAll ()

Void

Removes all swimlanes.

Insert (long Index, string Title, long Width)

Swimlane

Inserts a swimlane at a specific position.Returns a swimlane object representing the newly added entry.

Parameters:

  • Index: Long - The zero-based index of the existing Swimlane before which this new entry is inserted.
  • Title: String - The title text which appears at the top of the swimlane. Can be the same as an existing swimlane title.
  • Width: Long - The width of the swimlane in pixels.

Items (object Index)

Swimlane collection

Accesses an individual swimlane.

If the string matches more than one swimlane title, the first matching swimlane is returned.

Parameter:

  • Index: Object - Either a string representing the title text or an integer representing the zero-based index of the swimlane to get.

Learn More:

  • SwimlaneDef Class


Swimlane Class [Enterprise Architect User Guide]

Swimlane Class

A Swimlane object makes available attributes relating to a single row or column in a list of swimlanes.

Attribute | Type | Notes
BackColor | Long | Read/Write. The swimlane is filled with this RGB color.
ClassifiedGuid | String | Read/Write. The GUID of the classifier Class. This can be obtained from the corresponding Element object via the ElementGUID property.
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.
Title | String | Read/Write. Text at the head of the swimlane.
Width | Long | Read/Write. The width of the swimlane in pixels.

Learn More:

  • Swimlane Class


Project Interface Package [Enterprise Architect User Guide]

Project Interface Package

The Enterprise Architect.Project interface. This is the XML-based interface to Enterprise Architect elements; it also includes some utility functions. You can get a pointer to this interface using the Repository.GetProjectInterface method.

Example:


Project Class [Enterprise Architect User Guide]

Project Class

The Project interface can be accessed from the Repository using GetProjectInterface(). The returned interface provides access to the XML-based Enterprise Architect Automation Interface. Use this interface to get XML for the various internal elements and to run some utility functions to perform tasks such as load diagrams or run reports.

Project Attributes

Attribute | Type | Notes
ObjectType | ObjectType | Read only Distinguishes objects referenced through a Dispatch interface

Project Methods

Method

Type

Notes

See Also

CreateBaseline (string PackageGUID, string Version, string Notes)

Boolean

Creates a Baseline of a specified package

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to Baseline
  • Version: String - the version of the Baseline
  • Notes: String - any notes concerning the Baseline

CreateBaselineEx(string PackageGUID, string Version, string Notes, EA.CreateBaselineFlag Flags)

Boolean

Creates a Baseline of a specified package, with a flag to exclude package contents below the first level

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to Baseline
  • Version: String - the version of the Baseline
  • Notes: String - any notes concerning the Baseline
  • Flags: EA.CreateBaselineFlag - whether or not to exclude package contents below the first level

Create Baselines

EA.CreateBaselineFlag

DefineRule (string CategoryID, EA.EnumMVErrorType ErrorType, string ErrorMessage

String

Defines the individual rules that can be performed during model validation. It must be called once for each rule from the EA_OnInitializeUserRules broadcast handler.

The return value is a RuleId, which can be used for reference purposes when an individual rule is executed by Enterprise Architect during model validation.

See Model Validation Example for a detailed example of use of this method.

Parameters:

  • CategoryId: String - should be passed the return value from the DefineRuleCategory method.
  • ErrorType: EA.EnumMVErrorType - depending on the severity of the error being validated, can be:
  • mvErrorCritical
  • mvError
  • mvWarning, or
  • mvInformation.
  • ErrorMessage: String - can contain a default error string, although this is probably overridden by the PublishResult call.

EA_OnInitializeUserRules

Model Validation Example

DefineRuleCategory

PublishResult

DefineRuleCategory (string CategoryName)

String

Defines a category of rules that can be performed during model validation (there is typically one category per Add-In). It must be called once from the EA_OnInitializeUserRules broadcast handler.

The return value is a CategoryId that must to be passed to the DefineRule method.

See Model Validation Example for a detailed example of use of this method.

Parameters:

  • CategoryName: String - a text string that is visible in the Model Validation Configuration dialog.

EA_OnInitializeUserRules

DefineRule

Model Validation Example

DeleteBaseline (string BaselineGUID)

Boolean

Deletes a Baseline, identified by the BaselineGUID, from the repository.

Parameters:

  • BaselineGUID: String - the GUID (in XML format) of the Baseline to delete.

DoBaselineCompare
(string PackageGUID, string Baseline, string ConnectString)

String

Performs a Baseline comparison using the supplied package GUID and Baseline GUID (obtained in the result list from GetBaselines).

Optionally you can include the connection string required to find the Baseline if it exists in a different model file.

This method returns a log file of the status of all elements found and compared in the difference procedure. You can use this log information as input to DoBaselineMerge - automatically merging information from the Baseline.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to run the comparison on.
  • Baseline: String - the GUID (in XML format) of the Baseline to run the comparison on.
  • ConnectString: String - the location of the external .EAP file or DBMS to extract the Baseline from.

GetBaselines

DoBaselineMerge

DoBaselineMerge
(string PackageGUID, string Baseline, string MergeInstructions, string ConnectString)

String

Performs a batch merge based on instructions contained in an XML file (MergeInstructions). You can supply an optional connection string if the Baseline is located in another model.

In the MergeInstructions file, each MergeItem node supplies the GUID of a differenced item from the XML difference log. As the merge is uni-directional and actioned in only one possible way, no additional arguments are required. Enterprise Architect chooses the correct procedure based on the Difference results.

<Merge>

<MergeItem guid="{XXXXXX}" />

<MergeItem guid="{XXXXXX}" />

</Merge>

Alternatively, you can supply a single Mergeitem with a GUID of RestoreAll. In this case, Enterprise Architect batch-processes ALL differences.

<Merge>

<MergeItem guid="RestoreAll" changed="true"
baselineOnly="true" modelOnly="true"
moved="true" fullRestore="false" />

</Merge>

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to merge the Baseline into.
  • Baseline: String - the GUID of the Baseline (in XML format) to merge into the package.
  • MergeInstructions: String - the file containing the GUID of each differenced item from the XML difference log returned by DoBaselineCompare().
  • ConnectString: String - the location of the EAP file or DBMS to get the Baseline from, if not in the same model as the package.

DoBaselineCompare()

EnumDiagramElements (string DiagramGUID)

protected abstract: String

Gets an XML list of all elements in a diagram.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to get elements for.

EnumDiagrams (string PackageGUID)

protected abstract: String

Gets an XML list of all diagrams in a specified package.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to list diagrams for.

EnumElements (string PackageGUID)

protected abstract: String

Gets an XML list of elements in a specified package.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to get a list of elements for.

EnumLinks (string ElementGUID)

protected abstract: String

Gets an XML list of connectors for a specified element.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element to get all associated connectors for.

EnumPackages (string PackageGUID)

protected abstract: String

Gets an XML list of child packages inside a parent package.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the parent package.

EnumProjects ()

protected abstract: String

Gets a list of projects in the current file; corresponds to Models in Repository.

Models

EnumViews ()

protected abstract: String

Enumerates the Views for a project. Returned as an XML document.

EnumViewEx (string ProjectGUID)

protected abstract: String

Gets a list of Views in the current project.

Parameters:

  • ProjectGUID: String - the GUID (in XML format) of the project to get views for.

Exit ()

protected abstract: String

Exits the current instance of Enterprise Architect; this function is maintained for backward compatibility and should never be called.

Enterprise Architect automatically exits when you are no longer using any of the provided objects.

ExportPackageXMI (string PackageGUID, enumXMIType XMIType, long DiagramXML, long DiagramImage, long FormatXML, long UseDTD, string FileName)

protected abstract: String

Exports XMI for a specified package.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to be exported.
  • XMIType: EnumXMIType - specifies the XMI type and version information; see XMIType Enum for accepted values.
  • DiagramXML: Long - true if XML for diagrams is required; accepted values:
    0 = Do not export diagrams
    1 = Export diagrams
    2 = Export diagrams along with alternate images.
  • DiagramImage: Long - the format for diagram images to be created at the same time; accepted values:
    -1=NONE
    0=EMF
    1=BMP
    2=GIF
    3=PNG
    4=JPG.
  • FormatXML: Long - true if XML output should be formatted prior to saving.
  • UseDTD: Long - true if a DTD should be used.
  • FileName: String - the filename to output to.

XMIType Enum

ExportPackageXMIEx (string PackageGUID, enumXMIType XMIType, long DiagramXML, long DiagramImage, long FormatXML, long UseDTD, string FileName, ea.ExportPackageXMIFlag Flags)

protected abstract: String

Exports XMI for a specified package, with a flag to determine whether the export includes package content below the first level.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to be exported.
  • XMIType: EnumXMIType - specifies the XMI type and version information; see XMIType Enum for accepted values.
  • DiagramXML: Long - true if XML for diagrams is required; accepted values:
    0 = Do not export diagrams
    1 = Export diagrams
    2 = Export diagrams along with alternate images.
  • DiagramImage: Long - the format for diagram images to be created at the same time; accepted values:
    -1=NONE
    0=EMF
    1=BMP
    2=GIF
    3=PNG
    4=JPG.
  • FormatXML: Long - true if XML output should be formatted prior to saving.
  • UseDTD: Long - true if a DTD should be used.
  • FileName: String - the filename to output to.
  • Flags: ea.ExportPackageXMIFlag - whether or not to include package content below the first level (currently only supported for xmiEADefault).

Package Content

XMIType Enum

ExportPackageXMIFlag

GenerateClass (string ElementGUID, string ExtraOptions)

Boolean

Generates the code for a single Class.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element to generate.
  • ExtraOptions: String - enables extra options to be given to the command; currently unused.

GenerateDiagramFromScenario (string ElementGUID, EnumScenarioDiagramType DiagramType, long OverwriteExistingDiagram)

Boolean

Generates various diagrams from the Structured Specification of an element.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element containing the Structured Specification.
  • DiagramType: EnumScenarioDiagramType - the type of diagram to generate; see ScenarioDiagramType Enum for accepted values
  • OverwriteExistingDiagram: Long - determines whether to overwrite the existing diagram or synchronize the existing elements with the scenario steps
    0 = Delete existing diagram and elements, and create new diagram and elements
    1 = Synchronize existing elements with scenario steps and preserve diagram layout
    2 = Synchronize existing elements with scenario steps and re-cast diagram layout
    3 = Do not generate diagram if one already exists.

ScenarioDiagramType Enum

GenerateElementDDL (string ElementGUID, string FileName, string ExtraOptions)

Boolean

Generates DDL for an element

For example:

owner=true;pkfkconstraints=true;commentlevel=3;

Parameters:

  • ElementGUID: String – the GUID (in XML format) of the element to generate DDL for
  • FileName: String – the target file path to which to write the generated DDL
  • ExtraOptions: String – enables extra options to be given to the command; currently enables:
  • Generate Owner (owner)
  • Generate PK/FK Key Constraints (pkfkconstraints)
  • Generate Comments (0 – None, 1 - Table,
    2 - Column, 3 - All)

GeneratePackage (string PackageGUID, string ExtraOptions)

Boolean

Generates the code for all Classes within a package.

For example:

recurse=1;overwrite=1;dir=C:\

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to generate code for
  • ExtraOptions: String - enables extra options to be given to the command; currently enables:
  • Generation of all subpackages (recurse)
  • Force overwrite of all files (overwrite) and
  • Specification to auto generate all paths (dir).

GeneratePackageDDL (string PackageGUID, string FileName, string ExtraOptions)

Boolean

Generates DDL for a package.

For example:

owner=true;pkfkconstraints=true;commentlevel=3;

singlefile=true;includechild=true;

Parameters:

  • PackageGUID: String – the GUID (in XML format) of the package to generate DDL for
  • FileName: String – the target file path to which to write the generated DDL
  • ExtraOptions: String – enables extra options to be given to the command; currently enables:
  • Generate DDL for child packages (includechild)
  • Generate Owner (owner)
  • Generate PK/FK Key Constraints (pkfkconstraints)
  • Generate Comments (0 - None, 1 - Table,
    2 - Column, 3 - All)
  • Generate in SingleFile (singlefile)

GenerateTestFromScenario (string ElementGUID, EnumScenarioTestType TestType)

Boolean

Generates either an Internal test or an External test from the Structured Specification of an element.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element containing the Structured Specification
  • TestType: EnumScenarioTestType - the type of test to generate; see ScenarioTestType Enum for accepted values

Generate Test Cases

ScenarioTestType Enum

GenerateXSD (string PackageGUID, string FileName, string Encoding, string Options)

Boolean

Creates an XML schema for this GenerateXSD. Returns true on success.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package.
  • FileName: String - target filepath.
  • Encoding: String - the XML encoding for the code page instruction.
  • Options: String - enables extra options to be given to the command; currently enables:
  • GenGlobalElement - turn the generation of global elements for all global ComplexTypes On or Off; for example: - GenGlobalElement=1.

GetBaselines (string PackageGUID, string ConnectString)

String

Returns a list (in XML format) of Baselines associated with the supplied package GUID. Optionally, you can provide a connection string to get Baselines from the same package, but located in a different model file (or DBMS).

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to get Baselines for.
  • ConnectString: String - the location of the EAP file or DBMS to get the Baselines from, if not in the same model as the package.

GetDiagram (string DiagramGUID)

protected abstract: String

Gets diagram details, in XML format.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to get details for.

GetElement (string ElementGUID)

protected abstract: String

Gets XML for the specified element.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element to retrieve XML for.

GetElementConstraints (string ElementGUID)

protected abstract: String

Gets constraints for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementEffort (string ElementGUID)

protected abstract: String

Gets efforts for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementFiles (string ElementGUID)

protected abstract: String

Gets metrics for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementMetrics (string ElementGUID)

protected abstract: String

Gets files for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementProblems (string ElementGUID)

protected abstract: String

Gets a list of issues (problems) associated with an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementProperties (string ElementGUID)

protected abstract: String

Gets Tagged values for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementRequirements (string ElementGUID)

protected abstract: String

Gets a list of requirements for an element, in XML format.

Parameters:

  • ElementGUID: String -the GUID (in XML format) of the element.

GetElementResources (string ElementGUID)

protected abstract: String

Gets a list of resources for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementRisks (string ElementGUID)

protected abstract: String

Gets a list of risks associated with an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementScenarios (string ElementGUID)

protected abstract: String

Gets a list of scenarios for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetElementTests (string ElementGUID)

protected abstract: String

Gets a list of tests for an element, in XML format.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element.

GetLastError ()

protected abstract: String

Returns a string value describing the most recent error that occurred in relation to this object.

This function is rarely used as an exception is thrown when an error occurs.

GetLink (string LinkGUID)

protected abstract: String

Gets connector details, in XML format.

Parameters:

  • LinkGUID: String - the GUID (in XML format) of the connector to get details of.

GUIDtoXML (string GUID)

String

Changes an internal GUID to the form used in XML.

Parameters:

  • GUID: String - the Enterprise Architect style GUID to convert to XML format.

ImportDirectory (string PackageGUID, string Language, string DirectoryPath, string ExtraOptions)

Boolean

Imports a source code directory into the model.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to reverse engineer code into.
  • Language: String - specifies the language of the code to be imported.
  • DirectoryPath: String - specifies the path where the code is found on the computer.
  • ExtraOptions: String - enables extra options to be given to the command; currently enables import of source from all child directories (recurse) - for example: recurse=1.

ImportFile (string PackageGUID, string Language, string FileName, string ExtraOptions)

Boolean

Imports an individual file or binary module into the model, in a package per namespace style import.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to reverse engineer code into; this is expected to be a namespace root package.
  • Language: String - specifies the language of the code to be imported.

Use the value "DNPE" to import a binary module. This imports a .Net assembly or Java .class file, but not a .jar file.

  • Filename: String - specifies the path where the code or module is found on the computer.
  • ExtraOptions: String - enables extra options to be given to the command; currently unused.

ImportPackageXMI (string PackageGUID, string Filename, long ImportDiagrams, long StripGUID)

String

Imports an XMI file at a point in the tree.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the target package to import the XMI file into (or overwrite with the XMI file).
  • Filename or XMLText: String - the name of the XMI file

If the String is of type filename it is interpreted as a source file, otherwise the String is imported as XML text.

  • ImportDiagrams: Long.
  • StripGUID: Long - boolean value to indicate whether to replace the element UniqueIDs on import; if stripped, then a package could be imported twice into Enterprise Architect, as two different versions.

LayoutDiagram (string DiagramGUID, long LayoutStyle)

Boolean

Deprecated. it is recommended that LayoutDiagramEx is used instead.

Calls the function to automatically layout a diagram in hierarchical fashion. It is only recommended for Class and Object diagrams.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to lay out.
  • LayoutStyle: Long - always ignored.

LayoutDiagramEx (string DiagramGUID, long LayoutStyle, long Iterations, long LayerSpacing, long ColumnSpacing, boolean SaveToDiagram)

Boolean

Calls the function to automatically layout a diagram in hierarchical fashion. It is only recommended for Class and Object diagrams.

LayoutStyle accepts the following options

  • Default Options:

lsDiagramDefault

lsProgramDefault.

  • Cycle Removal Options:

lsCycleRemoveGreedy

lsCycleRemoveDFS.

  • Layering Options:

lsLayeringLongestPathSink

lsLayeringLongestPathSource

lsLayeringOptimalLinkLength.

  • Initialize Options:

IsInitializeNaive

IsInitializeDFSOut

IsInitializeDFSIn.

  • Crossing Reduction Option:

lsCrossReduceAggressive.

  • Layout Options - Direction

lsLayoutDirectionUp

lsLayoutDirectionDown

lsLayoutDirectionLeft

lsLayoutDirectionRight.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to lay out.
  • LayoutStyle: Long - the layout style.
  • Iterations: Long - the number of layout iterations the Layout process should take to perform cross reduction (Default value = 4).
  • LayerSpacing: Long - the per-element layer spacing the Layout process shall use (Default value = 20).
  • ColumnSpacing: Long - the per-element column spacing the Layout process shall use (Default value = 20).
  • SaveToDiagram: Boolean - specifies whether or not Enterprise Architect should save the supplied layout options as default to the diagram in question.

ConstLayoutStyles Enum

LoadControlledPackage (string PackageGUID)

String

Loads a package that has been marked and configured as controlled. The filename details are stored in the package control data.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to load.

LoadDiagram (string DiagramGUID)

protected abstract: Boolean

Loads a diagram by its GUID.

Parameter:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to load; if you retrieve the GUID using the Diagram interface, use the GUIDtoXML function to convert it to XML format.

GUIDtoXML

LoadProject (string FileName)

protected abstract: Boolean

Loads an Enterprise Architect project file

Do not use this method if you have accessed the Project interface from the Repository, which has already loaded a file

Parameters:

  • FileName: String - the name of the project file to load

Migrate (string GUID, string SourceType, string DestinationType)

Void

Migrates a model (or part of a model) from one BPMN or SysML format to an upgraded format

Parameters:

  • GUID: String - the GUID of the package or element for which the contents are to be migrated
  • SourceType: String - the type of model to be upgraded; accepted values:
  • BPMN
  • BPMN1.1
  • SysML1.1
  • DestinationType: String - the type of model to upgrade to; accepted values:
  • BPMN1.1
  • BPMN1.1::BPEL
  • BPMN2.0
  • SysML1.2

MigrateToBPMN11 (string GUID, string Type)

Void

Migrates every BPMN 1.0 construct in a package or an element (including elements, attributes, diagrams and connectors) to BPMN 1.1.

Parameters

  • GUID: String - the GUID of the package or element for which the contents are to be migrated to BPMN 1.1
  • Type: String - the type of upgrade, either just to BPMN 1.1 or to BPMN 1.1 and BPEL. Accepted values:

    BPMN = migrate to BPMN 1.1
    BPEL = migrate to BPMN 1.1 and update:
  • any diagram with stereotype BPMN to BPEL
  • any element with stereotype BusinessProcess to BPELProcess.

Migrating to BPEL is possible only in the Ultimate or Business and Software Engineering editions of Enterprise Architect.

ProjectTransfer (string SourceFilePath, string TargetFilePath, string LogFilePath)

Boolean

Transfers the project from a .EAP file or DBMS to a .EAP file.

Parameters:

  • SourceFilePath: String - the path of the source file to transfer.
  • TargetFilePath: String - the path of the target file; Enterprise Architect creates a new Base project in this location.
  • LogFilePath: String - the path of the log file where the status of the transfer process is updated.

In automation, the target file does not have to exist. The file path is enough; Enterprise Architect creates a new, empty Base.EAP file and transfers the source project into it.

PublishResult (string CategoryID, EA.EnumMVErrorType ErrorType, string ErrorMessage)

String

Returns the results of each rule that can be performed during model validation. It must be called once for each rule from the EA_OnInitializeUserRules broadcast handler.

The return value is a RuleId, which can be used for reference purposes when an individual rule is executed by Enterprise Architect during model validation.

See Model Validation Example for a detailed example of use of this method.

Parameters:

  • CategoryId: String - should be passed the return value from the DefineRuleCategory method.
  • ErrorType: EA.EnumMVErrorType - depending on the severity of the error being validated, can be:
  • mvErrorCritical
  • mvError
  • mvWarning, or
  • mvInformation.
  • ErrorMessage: String - contains an error string.

EA_OnInitializeUserRules

Model Validation Example

DefineRuleCategory

PutDiagramImageOnClipboard (string DiagramGUID, long Type)

protected abstract: Boolean

Copies an image of the specified diagram to the clipboard.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to copy.
  • Type: Long - the file type.
  • If Type = 0 then it is a metafile
  • If Type = 1 then it is a Device Independent Bitmap.

PutDiagramImageToFile (string Diagram GUID, string FileName, long Type)

protected abstract: Boolean

Saves an image of the specified diagram to file.

Parameters:

  • DiagramGUID: String - the GUID (in XML format) of the diagram to save.
  • FileName: String - the name of the file to save the diagram into.
  • Type: Long - the file type.
  • If type = 0 then it is a metafile
  • If type = 1 then it uses the file type from the name extension (that is, .bmp, .jpg, .gif, .png, .tga)

ReloadProject ()

protected abstract: Boolean

Reloads the current project. This is a convenient method to refresh the current loaded project (in case of outside changes to the .EAP file).

RunReport (string PackageGUID, string TemplateName, string Filename)

protected abstract: Void

Runs a named RTF report.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to run the report on.
  • TemplateName: String - the RTF report template to use. If the PackageGUID has a stereotype of MasterDocument, the template is not required.
  • FileName: String - the file name to store the generated report in.

RunHTMLReport (string PackageGUID, string ExportPath, string ImageFormat, string Style, string Extension)

String

Runs an HTML report (same as Documentation | HTML Documentation when you right-click on a package in the Project Browser).

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package to run the report on.
  • ExportPath: String - the file name to store the generated report in.
  • ImageFormat: String.
  • Style: String.
  • Extension: String.

SaveControlledPackage (string PackageGUID)

String

Saves a package that has been configured as a controlled package, to XMI. Only the package GUID is required, Enterprise Architect picks the rest up from the package control information.

Parameter:

  • PackageGUID: String - the GUID (in XML format) of the package to save.

SaveDiagramImageToFile (string Filename)

protected abstract: String

Saves a diagram image of the current diagram to file.

Parameters:

  • FileName: String - the filename of the image to save.

ShowWindow (long Show)

protected abstract: Void

Shows or hides the Enterprise Architect User Interface.

Parameters:

  • Show: Long.

SynchronizeClass (string ElementGUID, string ExtraOptions)

Boolean

Synchronizes a Class with the latest source code.

Parameters:

  • ElementGUID: String - the GUID (in XML format) of the element to update from code.
  • ExtraOptions: String - enables extra options to be given to the command; currently unused.

SynchronizePackage (string PackageGUID, string ExtraOptions)

Boolean

Synchronizes each Class in a package with the latest source code.

Parameters:

  • PackageGUID: String - the GUID (in XML format) of the package containing the elements to update from code.
  • ExtraOptions: String - enables extra options to be given to the command; currently enables synchronization of all child packages (children) - for example: children=1.

TransformElement (string TransformName, string ElementGUID, string TargetPackage, string ExtraOptions)

Boolean

Transforms an element into a package.

Parameters:

  • TransformName: String - specifies the transformation that should be executed.
  • ElementGUID: String - the GUID (in XML format) of the element to transform.
  • TargetPackageGUID: String - the GUID (in XML format) of the package to transform into.
  • ExtraOptions: String - enables extra options to be given to the command:
  • GenCode=True/False - articulate code generation from the transformed elements; this option supercedes the current model setting.

TransformPackage (string TransformName, string SourcePackage, string TargetPackage, string ExtraOptions)

Boolean

Runs a transformation on the contents of a package.

Parameters:

  • TransformName: String - specifies the transformation that should be executed.
  • SourcePackageGUID: String - the GUID (in XML format) of the package to transform.
  • TargetPackageGUID: String - the GUID (in XML format) of the package to transform into.
  • ExtraOptions: String - enables extra options to be given to the command:
  • GenCode=true/false - articulate code generation from the transformed elements; this option supercedes the current model setting.
  • SubPackages=true/false - specify if the child packages are to be included whilst transforming a package.

XMLtoGUID (string GUID)

String

Changes a GUID in XML format to the form used inside Enterprise Architect.

Parameters:

  • GUID: String - the XML style GUID to convert to Enterprise Architect internal format.

Notes:

  • These methods all require input GUIDs in XML format; use GUIDtoXML to change the Enterprise Architect GUID to an XML GUID

Learn More:

  • GUIDtoXML


Document Generator Interface Package [Enterprise Architect User Guide]

Document Generator Interface Package

The Enterprise Architect.DocumentGenerator interface. This is the XML-based interface to Enterprise Architect RTF and HTML reporting. You can get a pointer to this interface using the Repository.CreateDocumentGenerator method.

The following diagram illustrates how you might apply this interface in generating a report through the Automation Interface.

Example:


DocumentGenerator Class [Enterprise Architect User Guide]

DocumentGenerator Class

The DocumentGenerator Class can be accessed from the Repository using CreateProjectGenerator(). The returned interface provides access to the XML-based Enterprise Architect Automation Interface. Use this interface to get XML for the various internal elements and to run some utility functions to perform tasks such as load diagrams or run reports.

DocumentGenerator Attributes:

Attribute | Type | Notes
ObjectType | ObjectType | Read only. Distinguishes objects referenced through a Dispatch interface.

Document Generator Methods:

Method

Type

Notes

DocumentDiagram (long DiagramID, long nDepth, string templateName)

Boolean

Documents a diagram.

Parameters:

  • DiagramId: Long - the ID of the diagram.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting diagrams; can be blank.

DocumentElement (long ElementID, long nDepth, string templateName)

Boolean

Documents an element.

Parameters:

  • ElementId: Long - the ID of the element.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting elements; can be blank.

DocumentModelAuthor (string name, long nDepth, string templateName)

Boolean

Documents a model author.

Parameters:

  • Name: String - the name of the author.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model authors; can be blank.

DocumentModelClient (string name, long nDepth, string templateName)

Boolean

Documents a single model client.

Parameters:

  • Name: String - the name of the client.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model clients; can be blank.

DocumentModelGlossary (long id, long nDepth, string templateName)

Boolean

Documents a single model glossary term.

Parameters:

  • id: Long - the ID of the term.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model glossary terms; can be blank.

DocumentModelIssue (long id, long nDepth, string templateName)

Boolean

Documents a single model issue.

Parameters:

  • id: Long - the ID of the issue.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model issues; can be blank.

DocumentModelResource (string name, long nDepth, string templateName)

Boolean

Documents a single model resource.

Parameters:

  • Name: String - the name of the resource.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model resources; can be blank.

DocumentModelRole (string name, long nDepth, string templateName)

Boolean

Documents a single model role.

Parameters:

  • Name: String - the name of the role.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model roles; can be blank.

DocumentModelTask (long id, long nDepth, string templateName)

Boolean

Documents a single model task.

Parameters:

  • id: Long - the ID of the the task.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting model tasks; can be blank.

DocumentPackage (long PackageID, long nDepth, string templateName)

Boolean

Documents a package.

Parameters:

  • PackageId: Long - the ID of the package.
  • nDepth: Long - adjust the heading level by nDepth.
  • templateName: String - a template to use when documenting packages; can be blank.

GetLastError()

String

Returns a string value describing the most recent error that occurred in relation to this object.

InsertBreak (enum breakType)

Boolean

Inserts a break into the report at the current location.

Parameters:

  • breakType: enum - 0 = page break, 1 = section break.

InsertLinkedDocument (string guid)

Boolean

Inserts a linked document into the report at the current location.

A linked document can used to set the header and footer of the report. These are taken from the first linked document added to the report.

Parameters:

  • guid: String - the GUID of the element that has a linked document.

InsertTableOfContents

Boolean

Inserts a Table of Contents at the current position.

InsertTeamReviewPost (string path)

Boolean

Inserts a Team Review posting into the report at the current location.

Parameters:

  • path: String - the path of the Team Review post.

InsertText (string Text, string styple

Boolean

Inserts some static text into the report at the current location.

No carriage return is added, so remember to add one if required.

Parameters:

  • Text: String - the static text to be inserted.
  • Stype: String - the name of the style in the template; defaults to Normal style.

NewDocument (string templateName)

Boolean

Starts a new document; must be called before attempting to document anything else.

Parameters:

  • templateName: String - a template to use when documenting elements. Can be blank.

ReplaceField (string fieldname, string fieldvalue)

Boolean

Updates the fieldname with the value given.

If you call this function more than once with the same fieldname, the field only has the last value set.

Parameters:

  • fieldname: String - the fieldname to find.
  • fieldvalue: String - the value to insert into the field.

SaveDocument (string filename, enum nDocType)

Boolean

Saves the document to disk.

Parameters:

  • filename: String - the filename to save the file to.
  • nDocType: Enum - 0 = RTF, 1 = HTML.


Mail Interface Package [Enterprise Architect User Guide]

Mail Interface Package

The Enterprise Architect MailInterface package contains:

  • A function to retrieve a pointer to the interface
  • Functions to create and send a mail message within the current mode
  • Utility functions for creating hyperlinks to selected model elements

You can get a pointer to this interface using the method Repository.GetMailInterface.

Learn more:

  • Repository Package
  • MailInterface Class


MailInterface Class [Enterprise Architect User Guide]

MailInterface Class

The MailInterface interface can be accessed from the Repository using GetMailInterface( ). The returned interface provides access to the Enterprise Architect Model Mail Interface. Use this interface to automate the process of creating and sending messages using Enterprise Architect's Model Mail system.

MailInterface Attributes:

Attribute | Type | Notes
ObjectType | ObjectType | Read Only Distinguishes objects referenced through a dispatch interface
MessagingEnabled | Boolean | Read Only Advises whether messaging is enabled on the current model

MailInterface Methods:

Method

Type

Notes

GetLastError ( )

String

Returns the last error message set for the MailInterface

GetRecipientGUID (string UserName)

String

Returns the GUID of the specified Enterprise Architect user

Parameters:

  • UserName: String - The name of a user defined in the current model

GetElementHyperlink (string ElementGUID, string LinkText)

String

Returns a string containing a hyperlink to the element specified by the input parameter ElementGUID

Parameters:

  • ElementGUID: String - The GUID of the element for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. the element name)

GetAttributeHyperlink(string AttributeGUID, string LinkText)

String

Returns a string containing a hyperlink to the attribute specified by the input parameter AttributeGUID

Parameters:

  • AttributeGUID: String - The GUID of the attribute for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. the attribute name)

GetMethodHyperlink(string MethodGUID, string LinkText)

String

Returns a string containing a hyperlink to the method specified by the input parameter MethodGUID

Parameters:

  • MethodGUID: String - The GUID of the method for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. the method name)

GetDiagramHyperlink(string DiagramGUID, string LinkText)

String

Returns a string containing a hyperlink to the diagram specified by the input parameter DiagramGUID

Parameters:

  • DiagramGUID: String - The GUID of the diagram for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. the diagram name)

GetPackageHyperlink(string PackageGUID, string LinkText)

String

Returns a string containing a hyperlink to the package specified by the input parameter PackageGUID

Parameters:

  • PackageGUID: String - The GUID of the package for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. the package name)

GetFileHyperlink(string FilePath, string LinkText)

String

Returns a string containing a hyperlink to the file specified by the input parameter FilePath

Parameters:

  • FilePath: String - The path name of the file for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink (e.g. The file's name)

GetWebHyperlink(string URL, string LinkText)

String

Returns a string containing a hyperlink to the URL specified by the input parameter URL

Parameters:

  • URL: String - The URL of the item for which a hyperlink is required
  • LinkText: String - The text to display for the hyperlink

ComposeMailMessage(string InitialRecipientGUID, string InitialSubject, messageflag InitialFlag, string InitialMessageText)

Boolean

Creates a new mail message using the values specified in the input parameters; the message is displayed in the composition window, ready for sending

This method does NOT send the message

Parameters:

  • InitialRecipientGUID: String - Initial value for the GUID of the addressee user (an Enterprise Architect user defined in the current model)
  • InitialSubject: String - Initial value for the Subject text to display for this message
  • InitialFlag: MessageFlag - Initial value for the flag type/color to attach to this message
  • InitialMessageText: String - Initial value for the text that is the body of the message

SendMailMessage (string RecipientGUID, string Subject, messageflag Flag, string MessageText)

Boolean

Creates and sends a new mail message using the values specified in the input parameters

Parameters:

  • RecipientGUID: String - The GUID of the addressee user (an Enterprise Architect user defined in the current model)
  • Subject: String - The Subject text to display for this message
  • Flag: MessageFlag - The flag type/color to attach to this message
  • MessageText: String - The text that is the body of the message


Code Samples [Enterprise Architect User Guide]

Code Samples

This topic contains various code examples indicating how to use the Automation Interface, written in VB.Net:

Topic | Link
Open the Repository | Open the Repository
Iterate Through a .EAP File | Iterate Through a .EAP File
Add and Manage Packages | Add and Manage Packages
Add and Manage Elements | Add and Manage Elements
Add a Connector | Add a Connector
Add and Manage Diagrams | Add and Manage Diagrams
Add and Delete Features | Add and Delete Features
Element Extras | Element Extras
Repository Extras | Repository Extras
Stereotypes | Stereotypes
Work with Attributes | Work with Attributes
Work with Methods | Work with Methods


Open the Repository [Enterprise Architect User Guide]

Open the Repository

Topics:

Topic | Detail
public Object | ''An example of how to open an Enterprise Architect repository ''in VB.Net. Public Class AutomationExample ''class level variable for Repository Public m_Repository As Object Public Sub Run() try ''create the repository object m_Repository = CreateObject("EA.Repository") ''open an EAP file m_Repository.OpenFile("F:\Test\EAAuto.EAP") ''use the Repository in any way required 'DumpModel ''close the repository and tidy up m_Repository.Exit() m_Repository = Nothing ....catch e as exception Console.WriteLine(e) End try End Sub end Class


Iterate Through a .EAP File [Enterprise Architect User Guide]

Iterate Through a .EAP File

Topics:

Topic | Detail
public Object | ''Assume repository has already been opened. ''Start at the model level Sub DumpModel() Dim idx as Integer For idx=0 to m_Repository.Models.Count-1 DumpPackage("",m_Repository.Models.GetAt(idx)) Next End Sub 'output package name, then element contents, then process child packages Sub DumpPackage(Indent as String, Package as Object) Dim idx as Integer Console.WriteLine(Indent + Package.Name) DumpElements(Indent + " ", Package) For idx = 0 to Package.Packages.Count-1 DumpPackage(Indent + " ", Package.Packages.GetAt(idx)) Next End Sub ''dump element name Sub DumpElements(Indent as String, Package as Object) Dim idx as Integer For idx = 0 to Package.Elements.Count-1 Console.WriteLine(Indent + "::" + Package.Elements.GetAt(idx).Name) Next End Sub


Add and Manage Packages [Enterprise Architect User Guide]

Add and Manage Packages

Topics:

Topic | Detail
public Object | Example illustrating how to add a Model or a Package. Sub TestPackageLifecycle Dim idx as integer Dim idx2 as integer Dim package as object Dim model as object Dim o as object ''first add a new Model model = m_Repository.Models.AddNew("AdvancedModel","") If not model.Update() Then Console.WriteLine(model.GetLastError()) End If ''refresh the models collection m_Repository.Models.Refresh ''now work through models collection and add a package For idx = 0 to m_Repository.Models.Count -1 o = m_Repository.Models.GetAt(idx) Console.WriteLine(o.Name) If o.Name = "AdvancedModel" Then package = o.Packages.Addnew("Subpackage","Nothing") If not package.Update() Then Console.WriteLine(package.GetLastError()) End If package.Element.Stereotype = "system" package.Update ''for testing purposes just delete the ''newly created Model and its contents m_Repository.Models.Delete(idx) End If Next End Sub


Add and Manage Elements [Enterprise Architect User Guide]

Add and Manage Elements

Topics:

Topic | Detail
public Object | ''Add and delete elements in a package. Sub ElementLifecycle Dim package as Object Dim element as Object package = m_Repository.GetPackageByID(2) element = package.elements.AddNew("Login to Website","UseCase") element.Stereotype = "testcase" element.Update package.elements.Refresh() Dim idx as integer ''note the repeated calls to "package.elements.GetAt" ''in general you should make this call once and assign to a local ''variable - in the example below, Enterprise Architect loads the element required ''everytime a call is made - rather than loading once and keeping ''a local reference For idx = 0 to package.elements.count-1 Console.WriteLine(package.elements.GetAt(idx).Name) If (package.elements.GetAt(idx).Name = "Login to Website" and _ package.elements.GetAt(idx).Type = "UseCase") Then package.elements.deleteat(idx, false) End If Next End Sub


Add a Connector [Enterprise Architect User Guide]

Add a Connector

Topics:

Topic

Detail

public Object

"Add a connector and set values.

Sub ConnectorTest

Dim source as object

Dim target as object

Dim con as object

Dim o as object

Dim client as object

Dim supplier as object

''use ElementID's to quickly load an element in this example

''... you must find suitable ID's in your model

source = m_Repository.GetElementByID(129)

target = m_Repository.GetElementByID(169)

con = source.Connectors.AddNew ("test link 2", "Association")

''again- replace ID with a suitable one from your model

con.SupplierID = 169

If not con.Update Then

Console.WriteLine(con.GetLastError)

End If

source.Connectors.Refresh

Console.WriteLine("Connector Created")

o = con.Constraints.AddNew ("constraint2","type")

If not o.Update Then

Console.WriteLine(o.GetLastError)

End If

o = con.TaggedValues.AddNew ("Tag","Value")

If not o.Update Then

Console.WriteLine(o.GetLastError)

End If

''use the client and supplier ends to set

''additional information

client = con.ClientEnd

client.Visibility = "Private"

client.Role = "m_client"

client.Update

supplier = con.SupplierEnd

supplier.Visibility = "Protected"

supplier.Role = "m_supplier"

supplier.Update

Console.WriteLine("Client and Supplier set")

Console.WriteLine(client.Role)

Console.WriteLine(supplier.Role)

End Sub


Add and Manage Diagrams [Enterprise Architect User Guide]

Add and Manage Diagrams

Topics:

Topic | Detail
public Object | ''An example of how to create a diagram and add an element to it. ''Note the optional use of element rectangle setting using ''left,right,top and bottom dimensions in AddNew call. Sub DiagramLifeCycle Dim diagram as object Dim v as object Dim o as object Dim package as object Dim idx as Integer Dim idx2 as integer package = m_Repository.GetPackageByID(5) diagram = package.Diagrams.AddNew("Logical Diagram","Logical") If not diagram.Update Then Console.WriteLine(diagram.GetLastError) End if diagram.Notes = "Hello there this is a test" diagram.update() o = package.Elements.AddNew("ReferenceType","Class") o.Update '' add element to diagram - supply optional rectangle co-ordinates v = diagram.DiagramObjects.AddNew("l=200;r=400;t=200;b=600;","") v.ElementID = o.ElementID v.Update Console.WriteLine(diagram.DiagramID) End Sub


Add and Delete Features [Enterprise Architect User Guide]

Add and Delete Features

Topics:

Topic | Detail
public Object | Dim element as object Dim idx as integer Dim attribute as object Dim method as object 'just load an element by ID - you must 'substitute a valid ID from your model element = m_Repository.GetElementByID(246) ''create a new method method = element.Methods.AddNew("newMethod", "int") method.Update element.Methods.Refresh 'now loop through methods for Element - and delete our addition For idx = 0 to element.Methods.Count-1 method =element.Methods.GetAt(idx) Console.Writeline(method.Name) If(method.Name = "newMethod") Then element.Methods.Delete(idx) End if Next 'create an attribute attribute = element.attributes.AddNew("NewAttribute", "int") attribute.Update element.attributes.Refresh 'loop through and delete our new attribute For idx = 0 to element.attributes.Count-1 attribute =element.attributes.GetAt(idx) Console.Writeline(attribute.Name) If(attribute.Name = "NewAttribute") Then element.attributes.Delete(idx) End If Next


Element Extras [Enterprise Architect User Guide]

Element Extras

Topics:

Topic

Detail

public Object

''Examples of how to access and use element extras, such as

''scenarios, constraints and requirements.

Sub ElementExtras

Dim element as object

Dim o as object

Dim idx as Integer

Dim bDel as boolean

bDel = true

try

element = m_Repository.GetElementByID(129)

'manage constraints for an element

'demonstrate addnew and delete

o = element.Constraints.AddNew("Appended","Type")

If not o.Update Then

Console.WriteLine("Constraint error:" + o.GetLastError())

End if

element.Constraints.Refresh

For idx = 0 to element.Constraints.Count -1

o = element.Constraints.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.Constraints.Delete (idx)

End if

Next

'efforts

o = element.Efforts.AddNew("Appended","Type")

If not o.Update Then

Console.WriteLine("Efforts error:" + o.GetLastError())

End if

element.Efforts.Refresh

For idx = 0 to element.Efforts.Count -1

o = element.Efforts.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.Efforts.Delete (idx)

End if

Next

'Risks

o = element.Risks.AddNew("Appended","Type")

If not o.Update Then

Console.WriteLine("Risks error:" + o.GetLastError())

End if

element.Risks.Refresh

For idx = 0 to element.Risks.Count -1

o = element.Risks.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.Risks.Delete (idx)

End if

Next

'Metrics

o = element.Metrics.AddNew("Appended","Change")

If not o.Update Then

Console.WriteLine("Metrics error:" + o.GetLastError())

End if

element.Metrics.Refresh

For idx = 0 to element.Metrics.Count -1

o = element.Metrics.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.Metrics.Delete (idx)

End if

Next

'TaggedValues

o = element.TaggedValues.AddNew("Appended","Change")

If not o.Update Then

Console.WriteLine("TaggedValues error:" + o.GetLastError())

End if

element.TaggedValues.Refresh

For idx = 0 to element.TaggedValues.Count -1

o = element.TaggedValues.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.TaggedValues.Delete (idx)

End if

Next

'Scenarios

o = element.Scenarios.AddNew("Appended","Change")

If not o.Update Then

Console.WriteLine("Scenarios error:" + o.GetLastError())

End if

element.Scenarios.Refresh

For idx = 0 to element.Scenarios.Count -1

o = element.Scenarios.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Appended") Then

If bDel Then element.Scenarios.Delete (idx)

End if

Next

'Files

o = element.Files.AddNew("MyFile","doc")

If not o.Update Then

Console.WriteLine("Files error:" + o.GetLastError())

End if

element.Files.Refresh

For idx = 0 to element.Files.Count -1

o = element.Files.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="MyFile") Then

If bDel Then element.Files.Delete (idx)

End if

Next

'Tests

o = element.Tests.AddNew("TestPlan","Load")

If not o.Update Then

Console.WriteLine("Tests error:" + o.GetLastError())

End if

element.Tests.Refresh

For idx = 0 to element.Tests.Count -1

o = element.Tests.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="TestPlan") Then

If bDel Then element.Tests.Delete (idx)

End if

Next

'Defect

o = element.Issues.AddNew("Broken","Defect")

If not o.Update Then

Console.WriteLine("Issues error:" + o.GetLastError())

End if

element.Issues.Refresh

For idx = 0 to element.Issues.Count -1

o = element.Issues.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Broken") Then

If bDel Then element.Issues.Delete (idx)

End if

Next

'Change

o = element.Issues.AddNew("Change","Change")

If not o.Update Then

Console.WriteLine("Issues error:" + o.GetLastError())

End if

element.Issues.Refresh

For idx = 0 to element.Issues.Count -1

o = element.Issues.GetAt(idx)

Console.WriteLine(o.Name)

If(o.Name="Change") Then

If bDel Then element.Issues.Delete (idx)

End if

Next

catch e as exception

Console.WriteLine(element.Methods.GetLastError())

Console.WriteLine(e)

End try

End Sub


Repository Extras [Enterprise Architect User Guide]

Repository Extras

Topics:

Topic

Detail

public Object

'' Examples of how to access repository

'' collections for system level information.

Sub RepositoryExtras

Dim o as object

Dim idx as integer

'issues

o = m_Repository.Issues.AddNew("Problem","Type")

If(o.Update=false) Then

Console.WriteLine (o.GetLastError())

End if

o = nothing

m_Repository.Issues.Refresh

For idx = 0 to m_Repository.Issues.Count-1

Console.Writeline(m_Repository.Issues.GetAt(idx).Name)

If(m_Repository.Issues.GetAt(idx).Name = "Problem") then

m_Repository.Issues.DeleteAt(idx,false)

Console.WriteLine("Delete Issues")

End if

Next

''tasks

o = m_Repository.Tasks.AddNew("Task 1","Task type")

If(o.Update=false) Then

Console.WriteLine ("error - " + o.GetLastError())

End if

o = nothing

m_Repository.Tasks.Refresh

For idx = 0 to m_Repository.Tasks.Count-1

COnsole.Writeline(m_Repository.Tasks.GetAt(idx).Name)

If(m_Repository.Tasks.GetAt(idx).Name = "Task 1") then

m_Repository.Tasks.DeleteAt(idx,false)

Console.WriteLine("Delete Tasks")

End if

Next

''glossary

o = m_Repository.Terms.AddNew("Term 1","business")

If(o.Update=false) Then

Console.WriteLine ("error - " + o.GetLastError())

End if

o = nothing

m_Repository.Terms.Refresh

For idx = 0 to m_Repository.Terms.Count-1

COnsole.Writeline(m_Repository.Terms.GetAt(idx).Term)

If(m_Repository.Terms.GetAt(idx).Term = "Term 1") then

m_Repository.Terms.DeleteAt(idx,false)

Console.WriteLine("Delete Terms")

End if

Next

'authors

o = m_Repository.Authors.AddNew("Joe B","Writer")

If(o.Update=false) Then

Console.WriteLine (o.GetLastError())

End if

o = nothing

m_Repository.Authors.Refresh

For idx = 0 to m_Repository.authors.Count-1

COnsole.Writeline(m_Repository.Authors.GetAt(idx).Name)

If(m_Repository.authors.GetAt(idx).Name = "Joe B") then

m_Repository.authors.DeleteAt(idx,false)

Console.WriteLine("Delete Authors")

End if

Next

o = m_Repository.Clients.AddNew("Joe Sphere","Client")

If(o.Update=false) Then

Console.WriteLine (o.GetLastError())

End if

o = nothing

m_Repository.Clients.Refresh

For idx = 0 to m_Repository.Clients.Count-1

COnsole.Writeline(m_Repository.Clients.GetAt(idx).Name)

If(m_Repository.Clients.GetAt(idx).Name = "Joe Sphere") then

m_Repository.Clients.DeleteAt(idx,false)

Console.WriteLine("Delete Clients")

End if

Next

o = m_Repository.Resources.AddNew("Joe Worker","Resource")

If(o.Update=false) Then

Console.WriteLine (o.GetLastError())

End if

o = nothing

m_Repository.Resources.Refresh

For idx = 0 to m_Repository.Resources.Count-1

COnsole.Writeline(m_Repository.Resources.GetAt(idx).Name)

If(m_Repository.Resources.GetAt(idx).Name = "Joe Worker") then

m_Repository.Resources.DeleteAt(idx,false)

Console.WriteLine("Delete Resources")

End if

Next

End Sub


Stereotypes [Enterprise Architect User Guide]

Stereotypes

Topics:

Topic | Detail
public Object | Sub TestStereotypes Dim o as object Dim idx as integer ''add a new stereotype to the Stereotypes collection o = m_Repository.Stereotypes.AddNew("funky","class") If(o.Update=false) Then Console.WriteLine (o.GetLastError()) End if o = nothing ''make sure you refresh m_Repository.Stereotypes.Refresh ''then iterate through - deleting our new entry in the process For idx = 0 to m_Repository.Stereotypes.Count-1 COnsole.Writeline(m_Repository.Stereotypes.GetAt(idx).Name) If(m_Repository.Stereotypes.GetAt(idx).Name = "funky") then m_Repository.Stereotypes.DeleteAt(idx,false) Console.WriteLine("Delete element") End if Next End Sub


Work With Attributes [Enterprise Architect User Guide]

Work With Attributes

Topics:

Topic

Detail

public Object

''An example of working with attributes.

Sub AttributeLifecycle

Dim element as object

Dim o as object

Dim t as object

Dim idx as Integer

Dim idx2 as integer

try

element = m_Repository.GetElementByID(129)

For idx = 0 to element.Attributes.Count -1

Console.WriteLine("attribute=" + element.Attributes.GetAt(idx).Name)

o = element.Attributes.GetAt(idx)

t = o.Constraints.AddNew("> 123","Precision")

t.Update()

o.Constraints.Refresh

For idx2 = 0 to o.Constraints.Count-1

t = o.Constraints.GetAt(idx2)

Console.WriteLine("Constraint: " + t.Name)

If(t.Name="> 123") Then

o.Constraints.DeleteAt(idx2, false)

End if

Next

For idx2 = 0 to o.TaggedValues.Count-1

t = o.TaggedValues.GetAt(idx2)

If(t.Name = "Type2") Then

'Console.WriteLine("deleteing")

o.TaggedValues.DeleteAt(idx2, true)

End if

Next

t = o.TaggedValues.AddNew("Type2","Number")

t.Update

o.TaggedValues.Refresh

For idx2 = 0 to o.TaggedValues.Count-1

t = o.TaggedValues.GetAt(idx2)

Console.WriteLine("Tagged Value: " + t.Name)

Next

If(element.Attributes.GetAt(idx).Name = "m_Tootle") Then

Console.WriteLine("delete attribute")

element.Attributes.DeleteAt(idx, false)

End If

Next

catch e as exception

Console.WriteLine(element.Attributes.GetLastError())

Console.WriteLine(e)

End try

End Sub


Work With Methods [Enterprise Architect User Guide]

Work With Methods

Topics:

Topic

Detail

public Object

''An example of working with the Methods collection

''of an element - and with Method collections.

Sub MethodLifeCycle

Dim element as object

Dim method as object

Dim t as object

Dim idx as Integer

Dim idx2 as integer

try

element = m_Repository.GetElementByID(129)

For idx = 0 to element.Methods.Count -1

method = element.Methods.GetAt(idx)

Console.WriteLine(method.Name)

t = method.PreConditions.AddNew("TestConstraint","something")

If t.Update = false Then

Console.WriteLine("PreConditions: " + t.GetLastError)

End if

method.PreConditions.Refresh

For idx2 = 0 to method.PreConditions.Count-1

t = method.PreConditions.GetAt(idx2)

Console.WriteLine("PreConditions: " + t.Name)

If t.Name = "TestConstraint" Then

method.PreConditions.DeleteAt(idx2,false)

End If

Next

t = method.PostConditions.AddNew("TestConstraint","something")

If t.Update = false Then

COnsole.WriteLine("PostConditions: " + t.GetLastError)

End if

method.PostConditions.Refresh

For idx2 = 0 to method.PostConditions.Count-1

t = method.PostConditions.GetAt(idx2)

Console.WriteLine("PostConditions: " + t.Name)

If t.Name = "TestConstraint" Then

method.PostConditions.DeleteAt(idx2, false)

End If

Next

t = method.TaggedValues.AddNew("TestTaggedValue","something")

If t.Update = false Then

COnsole.WriteLine("Tagged Values: " + t.GetLastError)

End if

For idx2 = 0 to method.TaggedValues.Count-1

t = method.TaggedValues.GetAt(idx2)

Console.WriteLine("Tagged Value: " + t.Name)

If(t.Name= "TestTaggedValue") Then

method.TaggedValues.DeleteAt(idx2,false)

End If

Next

t = method.Parameters.AddNew("TestParam","string")

If t.Update = false Then

Console.WriteLine("Parameters: " + t.GetLastError)

End if

method.Parameters.Refresh

For idx2 = 0 to method.Parameters.Count-1

t = method.Parameters.GetAt(idx2)

Console.WriteLine("Parameter: " + t.Name)

If(t.Name="TestParam") Then

method.Parameters.DeleteAt(idx2, false)

End If

Next

method = nothing

Next

catch e as exception

Console.WriteLine(element.Methods.GetLastError())

Console.WriteLine(e)

End try

End Sub


Enterprise Architect Add-In Model [Enterprise Architect User Guide]

Enterprise Architect Add-In Model

Topics:

Topic

Detail

See Also

Introduction

Add-Ins enable you to add functionality to Enterprise Architect. The Enterprise Architect Add-In model builds on the features provided by the Automation Interface to enable you to extend the Enterprise Architect user interface.

Add-Ins are ActiveX COM objects that expose public Dispatch methods. They have several advantages over stand-alone automation clients:

  • Add-Ins can define Enterprise Architect menus and sub-menus
  • Add-Ins receive notifications about various Enterprise Architect user-interface events including menu clicks and file changes
  • Add-Ins can (and should) be written as in-process (DLL) components. This provides lower call overhead and better integration into the Enterprise Architect environment
  • Because a current version of Enterprise Architect is already running there is no requirement to start a second copy of Enterprise Architect via the automation interface
  • Because the Add-In receives object handles associated with the currently running copy of Enterprise Architect, more information is available about the current user's activity; for example, which diagram objects are selected
  • You are not required to do anything other than to install the Add-In to make it usable; that is, you do not have to configure Add-Ins to run on your systems
  • Because Enterprise Architect is constantly evolving in response to customer requests, the Add-In interface is flexible:
  • The Add-In interface does not have its own version, rather it is identified by the version of Enterprise Architect it first appeared in; for example, the current version of the Enterprise Architect Add-In interface is version 2.1
  • When creating your Add-In, you do not have to subscribe to a type-library

From Enterprise Architect release 7.0 Add-Ins created before 2004 are no longer supported. If an Add-In subscribes to the Addn_Tmpl.tlb interface (2003 style), it fails on load. In this event, contact the vendor or author of the Add-In and request an upgrade.

  • Add-Ins do not have to implement methods that they never use
  • Add-Ins prompt users via context menus in the tree view and the diagram
  • Menu check and disable states can be controlled by the Add-In

Add-Ins enhance the existing functionality of Enterprise Architect through a variety of mechanisms such as Scripts, UML Profiles and the Automation Interface. Once an Add-In is registered, it can be managed using the Add-In Manager.

Automation Interface

Scripts

UML Profiles

Registered Add-in

Add-In Manager

Create and Use Add-Ins

This topic covers the following information on Add-Ins:

Topic | Link
Add-In Tasks | Add-In Tasks
Add-In Events | Add-In Events
Broadcast Events | Broadcast Events
Custom Views | Custom Views
MDG Add-Ins | MDG Add-Ins


Add-In Tasks [Enterprise Architect User Guide]

Add-In Tasks

This topic provides instructions on how to create, test, deploy and manage Add-Ins.

Topic | Detail | Link
Create an Add-In |  | Create an Add-In
 | Define Menu Items | Define Menu Items
 | Respond to Menu Events | Respond to Menu Events
 | Handle Add-In Events | Handle Add-In Events
Deploy your Add-In |  | Deploy your Add-In
 | Potential Pitfalls | Potential Pitfalls
Manage Add-Ins |  |
 | Register an Add-In(developed in-house or brought-in) | Register an Add-In
 | The Add-In Manager | The Add-In Manager


Create Add-Ins [Enterprise Architect User Guide]

Create Add-Ins

Before you start you must have an application development tool that is capable of creating ActiveX COM objects supporting the IDispatch interface, such as:

  • Borland Delphi
  • Microsoft Visual Basic
  • Microsoft Visual Studio .Net.

You should consider how to define menu items. To help with this, you could review some examples of Automation Interfaces (this web page provides examples of code used to create Add-Ins for Enterprise Architect).

How to:

An Enterprise Architect Add-In can be created in four steps:

Step | Action | See also
1 | Use a development tool to create an ActiveX COM DLL project. Visual Basic users, for example, choose File-Create New Project-ActiveX DLL. |
2 | Connect to the interface using the syntax appropriate to the language as detailed in the Connect to the Interface topic. | Connect to the Interface
3 | Create a COM Class and implement each of the general Add-In Events applicable to your Add-In. You only have to define methods for events to respond to. | Add-In Events
4 | Add a registry key that identifies your Add-In to Enterprise Architect, as described in the Deploy Add-Ins topic. | Deploy Add-Ins

Learn More:

  • Define Menu Items
  • Examples of Automation Interfaces (Online Resource)


Define Menu Items [Enterprise Architect User Guide]

Define Menu Items

Topics:

Topic

Detail

Defining Menu Items

Menu items are defined by responding to the GetMenuItems event.

The first time this event is called, MenuName is an empty string, representing the top-level menu. For a simple Add-In with just a single menu option you can return a string; for example:

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant

EA_GetMenuItems = "&Joe's Add-In"

End Function

Defining Sub-Menus

To define sub-menus, prefix a parent menu with a dash. Parent and sub-items are defined as follows:

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant

Select Case MenuName

Case ""

'Parent Menu Item

EA_GetMenuItems = "-&Joe's Add-In"

Case "-&Joe's Add-In"

'Define Sub-Menu Items using the Array notation.

'In this example, "Diagram" and "Treeview" compose the "Joe's Add-In" sub-menu.

EA_GetMenuItems = Array("&Diagram", "&Treeview")

Case Else

MsgBox "Invalid Menu", vbCritical

End Select

End Function

Defining further Sub-Menus

Similarly, you can define further sub-items:

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant

Select Case MenuName

Case ""

EA_GetMenuItems = "-Joe's Add-In"

Case "-Joe's Add-In"

EA_GetMenuItems = Array("-&Diagram", "&TreeView")

Case "-&Diagram"

EA_GetMenuItems = "&Properties"

Case Else

MsgBox "Invalid Menu", vbCritical

End Select

End Function

Enabling/Disabling menu options

To enable or disable menu options by default, you can use this method to show particular items to the user:

Sub EA_GetMenuState(Repository As EA.Repository, Location As String, MenuName As String, ItemName As String, IsEnabled As Boolean, IsChecked As Boolean)

Select Case Location

Case "TreeView"

'Always enable

Case "Diagram"

'Always enable

Case "MainMenu"

Select Case ItemName

Case "&Translate", "Save &Project"

If GetIsProjectSelected() Then

IsEnabled = False

End If

End Select

End Select

IsChecked = GetIsCurrentSelection()

End Sub


Deploy Add-Ins [Enterprise Architect User Guide]

Deploy Add-Ins

How to:

To deploy Add-Ins to users' sites, follow the steps below

Step

Action

See also

1

Add the Add-In DLL file to an appropriate directory on the user's computer; that is, C:\Program Files\( new dir ) .

2

Register the DLL as appropriate to your platform:

  • If compiled as a native Win32 DDL, such as VB6 or C++, register the DDL using the regsvr32 command from the command prompt; for example:

    regsvr32 "C:\Program Files\MyCompany\EAAddin\EAAddin.dll"
  • If compiled as a .NET DLL, such as C# or VB.NET, register the DLL using the RegAsm command from the command prompt; for example:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Program Files\MyCompany\EAAddin\EAAddin.dll" /codebase

3

Place a new entry into the registry using the registry editor (run regedit) so that Enterprise Architect recognizes the presence of your Add-In.

4
  1. Add a new key value EAAddIns under the location:
  • HKEY_CURRENT_USER\Software\Sparx Systems for single users
  • HKEY_LOCAL_MACHINE\Software\Sparx Systems for multiple users on a machine

    NameRegKey

5

Add a new key under this key with the project name.

( ProjectName ) is not necessarily the name of your DLL, but the name of the Project; in Visual Basic, this is the value for the property Name corresponding to the project file

6

Specify the default value by modifying the default value of the key.

7

Enter the value of the key by typing in the ( project name ) .( class name ) ; for example, EaRequirements.Requirements, where EaRequirements is the project name, as shown in the example below.

NameRegKeyValue


Tricks and Traps [Enterprise Architect User Guide]

Tricks and Traps

Topics:

Topic

Detail

See Also

Visual Basic 5/6 Users Note

Visual Basic 5/6 users should note that the version number of the Enterprise Architect interface is stored in the VBP project file in a form similar to the following:

Reference=*\G{64FB2BF4-9EFA-11D2-8307-C45586000000}#2.2#0#..\..\..\..\Program Files\Sparx Systems\EA\EA.TLB#Enterprise Architect Object Model 2.02

If you experience problems moving from one version of Enterprise Architect to another, open the VBP file in a text editor and remove this line. Then open the project in Visual Basic and use Project-References to create a new reference to the Enterprise Architect Object model.

Add-In Fails to Load

From Enterprise Architect release 7.0, Add-Ins created before 2004 are no longer supported. If an Add-In subscribes to the Addn_Tmpl.tlb interface (2003 style), it fails on load. In this event, contact the vendor or author of the Add-In and request an upgrade.

Holding State Information

It is possible for an Add-In to hold state information, meaning that data can be stored in member variables in response to one event and retrieved in another. There are some dangers in doing this:

  • Enterprise Architect Automation Objects do not update themselves in response to user activity, to activity on other workstations, or even to the actions of other objects in the same automation client. Retaining handles to such objects between calls can result in the second event querying objects that have no relationship with the current state of Enterprise Architect
  • When you close Enterprise Architect, all Add-Ins are asked to shut down. If there are any external automation clients Enterprise Architect must stay active, in which case all the Add-Ins are reloaded, losing all the data
  • Enterprise Architect acting as an automation client does not close if an Add-In still holds a reference to it (releasing all references in the Disconnect() event avoids this problem)

It is recommended that unless there is a specific reason for doing so, the Add-In should use the repository parameter and its method and properties to provide the necessary data.

Enterprise Architect Not Closing

.Net Specific Issues

Automation checks the use of objects and won't enable any of them to be destroyed until they are no longer being used.

As noted in the Automation Interface topic, if your automation controller was written using the .NET framework, Enterprise Architect does not close even after you release all your references to it. To force the release of the COM pointers, call the memory management functions as shown below:

GC.Collect();

GC.WaitForPendingFinalizers();

Additionally, because automation clients hook into Enterprise Architect, which creates Add-Ins which in turn hook back into Enterprise Architect, it is possible to get into a deadlock situation where Enterprise Architect and the Add-Ins won't let go of one another and keep each other active. An Add-In might retain hooks into Enterprise Architect because:

  • It keeps a private reference to an Enterprise Architect object (see Holding State Information above), or
  • It has been created by .NET and the GC mechanism hasn't got around to releasing it.

There are two actions required to avoid deadlock situations:

  • Automation controllers must call Repository.CloseAddins() at some point (presumably at the end of processing).
  • Add-Ins must release all references to Enterprise Architect in the Disconnect() event. See the Add-In Events topic for details.

It is possible that your Automation client controls a running instance of Enterprise Architect where the Add-Ins have not complied with the rule above. In this case you could call Repository.Exit() to terminate Enterprise Architect.

Miscellaneous

In developing Add-Ins using the .Net framework you must select COM Interoperability in the project's properties in order for it to be recognized as an Add-In.

Some development environments do not automatically register COM DLLs on creation. You might have to do that manually before Enterprise Architect recognizes the Add-In.

You can use your private Add-In key (as required for Add-In deployment) to store configuration information pertinent to your Add-In.

Automation Interface

Holding State Information

Add-In Events

Concurrent Calls

In Enterprise Architect releases up to release 7.0, there is a possibility that Enterprise Architect could call two Add-In methods concurrently if the Add-In calls:

  • A message box
  • A modal dialog
  • VB DoEvents, .NET Application DoEvents or the equivalent in other languages

In such cases, Enterprise Architect could initiate a second Add-In method before the first returns (re-entrancy). In release 7.0. and subsequent releases, Enterprise Architect cannot make such concurrent calls

If developing Add-Ins, ensure that the Add-In users are running Enterprise Architect release 7.0 or a later release to avoid any risk of concurrent method calls.


The Add-In Manager [Enterprise Architect User Guide]

The Add-In Manager

Topics:

Topic

Detail

General Usage

You can use the Add-In Manager to view what Add-Ins are available and to disable those not to be used.

Access the Manage Add-Ins dialog by selecting the Add-Ins | Manage Add-Ins menu option.

To enable an Add-In for use, select the Load on Startup check box. To disable an Add-In, deselect the checkbox.

Notes:

  • Enterprise Architect must be restarted for changes to take effect


Add-In Search [Enterprise Architect User Guide]

Add-In Search

Topics:

Topic

Detail

See Also

General Usage

Enterprise Architect enables Add-Ins to integrate with the Model Search. Searches can be defined that execute a method within your Add-In and display your results in an integrated way.

The method that runs the search must be structured in the following way:

variant <method name> (Rep as Repository, SearchText as String, XMLResults as String)

Parameter | Description
Rep | The currently open repository.
SearchText | An optional field that you can fill in through the Model Search.
XMLResults | At completion of the method, this should contain the results for the search. The results should be an XML String that conforms to the Search Data Format.

Model Search

Search Data Format

Return

The method must return a value for the results to be displayed.

Advanced Usage

In addition to the displayed results, two additional hidden fields can be passed into the XML that provide special functionality.

CLASSTYPE

Returning a field of CLASSTYPE, containing the Object_Type value from the t_object table, displays the appropriate icon in the column you place the field.

CLASSGUID

Returning a field of CLASSGUID, containing an ea_guid value, enables the Model Search to track the object in the Project Browser and open the Properties window for the element by double-clicking in the Model Search.


XML Format (Search Data) [Enterprise Architect User Guide]

XML Format (Search Data)

 Return to Introduction

Topics:

Topic

Detail

See Also

General Usage

The XML below provides the format for the sSearchData parameter of the RunModelSearch method. See the Repository topic for more information.

Repository

Example Code

<ReportViewData UID=\"MySearchID\" >

<!--

//The UID attribute enables XML type searches to persist column information. That is, if you run the search, group by column or adjust column widths, then close the window and run the search again, the format/organization changes are retained.To avoid persisting column arrangements, leave the attribute value blank or remove it altogether.

// Use this section to declare all possible fields - columns that appear in Enterprise Architect's search window - that are used below in <Rows/>.

// The order of the columns of information to be appended here must match the order that the search run in Enterprise Architect would normally display.

// Furthermore, if you append results onto a custom SQL Search, then the order used in your Custom SQL must match the order used below.

-->

<Fields>

<Field name=""/>

<Field name=""/>

<Field name=""/>

<Field name=""/>

</Fields>

<Rows>

<Row>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

</Row>

<Row>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

</Row>

<Row>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

<Field name="" value=""/>

</Row>

</Rows>

</ReportViewData>


Add-In Events [Enterprise Architect User Guide]

Add-In Events

All Enterprise Architect Add-Ins can choose to respond to the following general Add-In events:

Topic | Link
EA_Connect | EA_Connect
EA_Disconnect | EA_Disconnect
EA_GetMenuItems | EA_GetMenuItems
EA_MenuClick | EA_MenuClick
EA_GetMenuState | EA_GetMenuState
EA_ShowHelp | EA_ShowHelp
EA_OnOutputItemClicked | EA_OnOutputItemClicked
EA_OnOutputItemDoubleClicked | EA_OnOutputItemDoubleClicked


EA_Connect [Enterprise Architect User Guide]

EA_Connect

Topics:

Topic

Detail

See Also

Details

EA_Connect events enable Add-Ins to identify their type and to respond to Enterprise Architect start up.

This event occurs when Enterprise Architect first loads your Add-In. Enterprise Architect itself is loading at this time so that while a Repository object is supplied, there is limited information that you can extract from it.

The chief uses for EA_Connect are in initializing global Add-In data and for identifying the Add-In as an MDG Add-In.

Also look at EA_Disconnect.

MDG Add-In

EA_Disconnect

Syntax

Function EA_Connect(Repository As EA.Repository) As String

The EA_Connect function syntax has the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

String identifying a specialized type of Add-In:

Type | Details
"MDG" | MDG Add-Ins receive MDG Events and extra menu options.
"" | None-specialized Add-In.


EA_Disconnect [Enterprise Architect User Guide]

EA_Disconnect

Topics:

Topic

Detail

See Also

Details

The EA_Disconnect event enables the Add-In to respond to user requests to disconnect the model branch from an external project.

This function is called when the Enterprise Architect closes. If you have stored references to Enterprise Architect objects (not particularly recommended anyway), you must release them here.

In addition, .NET users must call memory management functions as shown below:

GC.Collect();

GC.WaitForPendingFinalizers();

Also look at EA_Connect.

EA_Connect

Syntax

Sub EA_Disconnect()

Return Value

None.


EA_GetMenuItems [Enterprise Architect User Guide]

EA_GetMenuItems

Topics:

Topic

Detail

See Also

Details

The EA_GetMenuItems event enables the Add-In to provide the Enterprise Architect user interface with additional Add-In menu options in various context and main menus. When a user selects an Add-In menu option, an event is raised and passed back to the Add-In that originally defined that menu option.

This event is raised just before Enterprise Architect has to show particular menu options to the user, and its use is described in the Define Menu Items topic.

Define Menu Items

EA_MenuClick

EA_GetMenuState

Syntax

Function EA_GetMenuItems(Repository As EA.Repository, MenuLocation As String, MenuName As String) As Variant

The EA_GetMenuItems function syntax has the following elements:

Parameter | Type | Direction | Description
MenuLocation | String |  | String representing the part of the user interface that brought up the menu. Can be TreeView, MainMenu or Diagram.
MenuName | String |  | The name of the parent menu for which sub-items are to be defined. In the case of the top-level menu it is an empty string.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

One of the following types:

  • A string indicating the label for a single menu option.
  • An array of strings indicating a multiple menu options.
  • Empty (Visual Basic/VB.NET) or null (C#) to indicate that no menu should be displayed

In the case of the top-level menu it should be a single string or an array containing only one item, or Empty/null.


EA_GetMenuState [Enterprise Architect User Guide]

EA_GetMenuState

Topics:

Topic

Detail

See Also

Details

The EA_GetMenuState event enables the Add-In to set a particular menu option to either enabled or disabled. This is useful when dealing with locked packages and other situations where it is convenient to show a menu option, but not enable it for use.

This event is raised just before Enterprise Architect has to show particular menu options to the user. Its use is described in the Define Menu Items topic.

Also look at EA_GetMenuItems.

Define Menu Items

EA_GetMenuItems

Syntax

Sub EA_GetMenuState(Repository as EA.Repository, MenuLocation As String, MenuName as String, ItemName as String, IsEnabled as Boolean, IsChecked as Boolean)

The EA_GetMenuState function syntax has the following elements:

Parameter | Type | Direction | Description
IsChecked | Boolean |  | Boolean. Set to True to check this particular menu option.
IsEnabled | Boolean |  | Boolean. Set to False to disable this particular menu option.
ItemName | String |  | The name of the option actually clicked, for example, Create a New Invoice.
MenuLocation | String |  | String representing the part of the user interface that brought up the menu. Can be TreeView, MainMenu or Diagram.
MenuName | String |  | The name of the parent menu for which sub-items must be defined. In the case of the top-level menu it is an empty string.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_MenuClick [Enterprise Architect User Guide]

EA_MenuClick

Topics:

Topic

Detail

See Also

Details

EA_MenuClick events are received by an Add-In in response to user selection of a menu option.

The event is raised when the user clicks on a particular menu option. When a user clicks on one of your non-parent menu options, your Add-In receives a MenuClick event, defined as follows:

Sub EA_MenuClick(Repository As EA.Repository, ByVal MenuName As String, ByVal ItemName As String)

The code below illustrates an example of use:

If MenuName = "-&Diagram" And ItemName = "&Properties" then

MsgBox Repository.GetCurrentDiagram.Name, vbInformation

Else

MsgBox "Not Implemented", vbCritical

End If

Notice that your code can directly access Enterprise Architect data and UI elements using Repository methods.

Also look at EA_GetMenuItems.

Repository

EA_GetMenuItems

Syntax

Sub EA_MenuClick(Repository As EA.Repository, MenuLocation As String, MenuName As String, ItemName As String)

The EA_GetMenuClick function syntax has the following elements:

Parameter | Type | Direction | Description
ItemName | String |  | The name of the option actually clicked, for example, Create a New Invoice.
MenuName | String |  | The name of the parent menu for which sub-items are to be defined. In the case of the top-level menu it is an empty string.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnOutputItemClicked [Enterprise Architect User Guide]

EA_OnOutputItemClicked

Topics:

Topic

Detail

See Also

Details

EA_OnOutputItemClicked events inform Add-Ins that the user has clicked on a list entry in the system tab or one of the user defined output tabs.

Usually an Add-In responds to this event in order to capture activity on an output tab they had previously created through a call to Repository.AddTab().

Note that every loaded Add-In receives this event for every click on an output tab in Enterprise Architect - irrespective of whether the Add-In created that tab. Add-Ins should therefore check the TabName parameter supplied by this event to ensure that they are not responding to other Add-Ins' events.

Also look at EA_OnOutputItemDoubleClicked.

EA_OnOutputItemDoubleClicked

Syntax

EA_OnOutputItemClicked(Repository As EA.Repository, TabName As String, LineText As String, ID As Long)

The EA_OnOutputItemClicked function syntax has the following elements:

Parameter | Type | Direction | Description
ID | Long | IN | The ID value specified in the original call to Repository.WriteOutput().
LineText | String | IN | The text that had been supplied as the String parameter in the original call to Repository.WriteOutput().
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
TabName | String | IN | The name of the tab that the click occurred in. Usually this would have been created through Repository.AddTab().

Return Value

None.


EA_OnOutputItemDoubleClicked [Enterprise Architect User Guide]

EA_OnOutputItemDoubleClicked

Topics:

Topic

Detail

See Also

Details

EA_OnOutputItemDoubleClicked events informs Add-Ins that the user has used the mouse to double-click on a list entry in one of the user-defined output tabs.

Usually an Add-In responds to this event in order to capture activity on an output tab they had previously created through a call to Repository.AddTab().

Note that every loaded Add-In receives this event for every double-click on an output tab in Enterprise Architect - irrespective of whether the Add-In created that tab. Add-Ins should therefore check the TabName parameter supplied by this event to ensure that they are not responding to other Add-Ins' events.

Also look at EA_OnOutputItemClicked.

EA_OnOutputItemClicked

Syntax

EA_OnOutputItemDoubleClicked(Repository As EA.Repository, TabName As String, LineText As String, ID As Long)

The EA_OnOutputItemClicked function syntax contains the following elements:

Parameter | Type | Direction | Description
ID | Long | IN | The ID value specified in the original call to Repository.WriteOutput().
LineText | String | IN | The text that had been supplied as the String parameter in the original call to Repository.WriteOutput().
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
TabName | String | IN | The name of the tab that the click occurred in. Usually this would have been created through Repository.AddTab().

Return Value

None.


EA_ShowHelp [Enterprise Architect User Guide]

EA_ShowHelp

Topics:

Topic | Detail | See Also
Details | The EA_ShowHelp event enables the Add-In to show a help topic for a particular menu option. When the user has an Add-In menu option selected, pressing ( F1 ) can be delegated to the required Help topic by the Add-In and a suitable help message shown. This event is raised when the user presses ( F1 ) on a menu option that is not a parent menu. Also look at EA_GetMenuItems. | EA_GetMenuItems

Syntax

Sub EA_ShowHelp(Repository as EA.Repository, MenuLocation As String, MenuName as String, ItemName as String)

The EA_ShowHelp function syntax contains the following elements:

Parameter | Type | Direction | Description
ItemName | String |  | The name of the option actually clicked, for example, Create a New Invoice.
MenuLocation | String |  | String representing the part of the user interface that brought up the menu. Can be Treeview, MainMenu or Diagram.
MenuName | String |  | The name of the parent menu for which sub-items are to be defined. In the case of the top-level menu it is an empty string.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


Broadcast Events [Enterprise Architect User Guide]

Overview

The following general Broadcast events are sent to all loaded Add-Ins. For an Add-In to receive the event, they must first implement the required automation event interface. If Enterprise Architect detects that the Add-In has the required interface, the event is dispatched to the Add-In.

Topic | Link
Add-In Licence Management Events | Add-In Licence Management Events
Compartment Events | Compartment Events
Context Item Events | Context Item Events
File Close Event | File Close Event
File New Event | File New Event
File Open Event | File Open Event
Model Validation Broadcasts | Model Validation Broadcasts
Post Close Diagram Event | Post Close Diagram Event
Post Initialization Event | EA_OnPostInitialized
Post New Events | Post-New Events
Post Open Diagram Event | Post Open Diagram Event
Pre-Deletion Events | Pre-Deletion Events
Pre-Exit Instance (not currently used) | PreExit Instance
Pre-New Events | Pre-New Events
Retrieve Model Template Event | Retrieve Model Template Event
Tagged Value Broadcasts | Tagged Value Broadcasts
Technology Events | Technology Events
Transformation Event | Transformation Event

MDG Events add quite a number of additional events, but the Add-In must first have registered as an MDG-style Add-In, rather than as a generic Add-In.

Learn More:

  • MDG Events


Add-In License Management Events [Enterprise Architect User Guide]

Add-In License Management Events

Enterprise Architect Add-ins can respond to the following events associated with Add-in License Management:

Topic | Link
EA_AddinLicenseValidate | EA_AddinLicenseValidate
EA_AddinLicenseGetDescription | EA_AddinLicenseGetDescription


EA_AddinLicenseValidate [Enterprise Architect User Guide]

EA_AddinLicenseValidate

Topics:

Topic

Detail

See Also

Details

EA_AddInLicenseValidate is broadcast to all Add-Ins, providing them with a chance to use the Add-In key to determine the level of functionality to provide. The event is broadcast in response to a non-standard Enterprise Architect key being entered into the License Management dialog.

For the Add-In to validate itself against this key, the Add-In's EA_AddinLicenseValidate handler should return true to advise Enterprise Architect that the license has been validated. The EA_AddinLicenseValidate event is broadcast to all Add-Ins, therefore one license can validate many Add-Ins.

If an Add-In elects to handle a license key by returning true to EA_AddinLicenseValidate, it is called upon to provide a description of the license key through the EA_AddinLicenseGetDescription event. If more than one Add-In elects to handle a license key, the first Add-In that returns true to EA_AddinLicenseValidate is queried for the license key description.

EA_AddinLicenseGetDescription

Syntax

Function EA_AddInLicenseValidate(Repository As EA.Repository, AddinKey As String) As Boolean

The EA_AddInLicenseValidate function syntax contains the following elements.

Parameter | Type | Direction | Description
AddinKey | String | IN | The Add-in license key that has been entered in Enterprise Architect's License Management dialog.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

For the Add-in to validate against this key it should return true to indicate to Enterprise Architect that the key is valid and has been handled.


EA_AddinLicenseGetDescription [Enterprise Architect User Guide]

EA_AddinLicenseGetDescription

Topics:

Topic | Detail | See Also
Details | Before Enterprise Architect's License Management dialog is displayed, EA_AddInLicenseGetDescription is sent once for each Add-In key to the first Add-In that elected to handle that key. The value returned by EA_AddinLicenseGetDescription is used by Enterprise Architect as the key's plain text description. |

Syntax

Function EA_AddinLicenseGetDescription (Repository as EA.Repository, AddinKey as String) As String

The EA_OnPostInitialized function syntax contains the following elements.

Parameter | Type | Direction | Description
AddinKey | String | IN | The Add-In license key that Enterprise Architect requires a description for.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

A String containing a plain text description of the provided AddinKey.


Compartment Events [Enterprise Architect User Guide]

Compartment Events

Enterprise Architect Add-Ins can respond to the following events associated with user-generated element compartments:

Topic | Link
EA_QueryAvailableCompartments | EA_QueryAvailableCompartments
EA_GetCompartmentData | EA_GetCompartmentData


EA_QueryAvailableCompartments [Enterprise Architect User Guide]

EA_QueryAvailableCompartments

Topics:

Topic | Detail | See Also
Details | This event occurs when Enterprise Architect's diagrams are refreshed. It is a request for the Add-In to provide a list of user-defined compartments. The EA_GetCompartmentData event then queries each object for the data to display in each user-defined compartment. | EA_GetCompartmentData

Syntax

Function EA_QueryAvailableCompartments(Repository As EA.Repository) As Variant

The EA_QueryAvailableCompartments function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

A String containing a comma-separated list of user-defined compartments.

Example

Function EA_QueryAvailableCompartments(Repository As EA.Repository) As Variant

Dim sReturn As String

sReturn = ""

If m_FirstCompartmentVisible = True Then

sReturn = sReturn + "first,"

End If

If m_SecondCompartmentVisible = True Then

sReturn = sReturn + "second,"

End If

If m_ThirdCompartmentVisible = True Then

sReturn = sReturn + "third,"

End If

If Len(sReturn) > 0 Then

sReturn = Left(sReturn, Len(sReturn)-1)

End If

EA_QueryAvailableCompartments = sReturn

End Function


EA_GetCompartmentData [Enterprise Architect User Guide]

EA_GetCompartmentData

Topics:

Topic | Detail | See Also
Details | This event occurs when Enterprise Architect is instructed to redraw an element. It requests that the Add-In provide the data to populate the element's compartment. |

Syntax

Function EA_GetCompartmentData(Repository As EA.Repository, sCompartment As String, sGUID As String, oType As EA.ObjectType) As Variant

The EA_QueryAvailableCompartments function syntax contains the following elements:

Parameter | Type | Direction | Description
oType | ObjectType | IN | The type of the element for which data is being requested.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
sCompartment | String | IN | The name of the compartment for which data is being requested.
sGUID | String | IN | The GUID of the element for which data is being requested.

Return Value

Variant containing a formatted string. See the example below to understand the format.

Example

Function EA_GetCompartmentData(Repository As EA.Repository, sCompartment As String, sGUID As String, oType As EA.ObjectType) As Variant

If Repository Is Nothing Then

Exit Function

End If

Dim sCompartmentData As String

Dim oXML As MSXML2.DOMDocument

Dim Nodes As MSXML2.IXMLDOMNodeList

Dim Node1 As MSXML2.IXMLDOMNode

Dim Node As MSXML2.IXMLDOMNode

Dim sData As String

sCompartmentData = ""

Set oXML = New MSXML2.DOMDocument

sData = ""

On Error GoTo ERR_GetCompartmentData

oXML.loadXML (Repository.GetTreeXMLByGUID(sGUID))

Set Node1 = oXML.selectSingleNode("//ModelItem")

If Node1 Is Nothing Then

Exit Function

End If

sCompartmentData = sCompartmentData + "Name=" + sCompartment + ";"

sCompartmentData = sCompartmentData + "OwnerGUID=" + sGUID + ";"

sCompartmentData = sCompartmentData + "Options=SkipIfOnDiagram&_eq_^1&_sc_^"

Select Case sCompartment

Case "parts"

Set Nodes = Node1.selectNodes("ModelItem( @Metatype=""Part"" ) ")

For Each Node In Nodes

sData = sData + "Data&_eq_^" + Node.Attributes.getNamedItem("Name").nodeValue + "&_sc_^"

sData = sData + "GUID&_eq_^" + Node.Attributes.getNamedItem("GUID").nodeValue + "&_sc_^,"

Next

Case "ports"

Set Nodes = Node1.selectNodes("ModelItem( @Metatype=""Port"" ) ")

For Each Node In Nodes

sData = sData + "Data&_eq_^" + Node.Attributes.getNamedItem("Name").nodeValue + "&_sc_^"

sData = sData + "GUID&_eq_^" + Node.Attributes.getNamedItem("GUID").nodeValue + "&_sc_^,"

Next

End Select

' If there's no data to display, then don't return any compartment data

If sData <> "" Then

sCompartmentData = sCompartmentData + "CompartmentData=" + sData + ";"

Else

sCompartmentData = ""

End If

EA_GetCompartmentData = sCompartmentData

Exit Function

ERR_GetCompartmentData:

EA_GetCompartmentData = ""

End Function


Context Item Events [Enterprise Architect User Guide]

Context Item Events

Enterprise Architect Add-Ins can respond to the following events associated with changing context:

Topic | Link
EA_OnContextItemChanged | EA_OnContextItemChanged
EA_OnContextItemDoubleClicked | EA_OnContextItemDoubleClicked
EA_OnNotifyContextItemModified | EA_OnNotifyContextItemModified


EA_OnContextItemChanged [Enterprise Architect User Guide]

EA_OnContextItemChanged

Topics:

Topic | Detail | See Also
Details | EA_OnContextItemChanged notifies Add-Ins that a different item is now in context. This event occurs after a user has selected an item anywhere in the Enterprise Architect GUI. Add-Ins that require knowledge of the current item in context can subscribe to this broadcast function. If ot = otRepository, then this function behaves the same as EA_FileOpen. Also look at EA_OnContextItemDoubleClicked and EA_OnNotifyContextItemModified. | EA_FileOpen EA_OnContextItemDoubleClicked EA_OnNotifyContextItemModified

Syntax

Sub EA_OnContextItemChanged(Repository As EA.Repository, GUID As String, ot as EA.ObjectType)

The EA_OnContextItemChanged function syntax contains the following elements:

Parameter

Type

Direction

Description

GUID

String

IN

Contains the GUID of the new context item. This value corresponds to the following properties, depending on the value of the ot parameter:

ot (ObjectType)

otElement

otPackage

otDiagram

otAttribute

otMethod

otConnector

otRepository

- GUID value

- Element.ElementGUID

- Package.PackageGUID

- Diagram.DiagramGUID

- Attribute.AttributeGUID

- Method.MethodGUID

- Connector.ConnectorGUID

- NOT APPLICABLE, GUID is an empty string

ot

EA.ObjectType

IN

Specifies the type of the new context item.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnContextItemDoubleClicked [Enterprise Architect User Guide]

EA_OnContextItemDoubleClicked

Topics:

Topic

Detail

See Also

Details

EA_OnContextItemDoubleClicked notifies Add-Ins that the user has double-clicked the item currently in context.

This event occurs when a user has double-clicked (or pressed ( Enter ) ) on the item in context, either in a diagram or in the Project Browser. Add-Ins to handle events can subscribe to this broadcast function.

Also look at EA_OnContextItemChanged and EA_OnNotifyContextItemModified

EA_OnContextItemChanged

EA_OnNotifyContextItemModified

Syntax

Function EA_OnContextItemDoubleClicked(Repository As EA.Repository, GUID As String, ot as EA.ObjectType)

The EA_OnContextItemDoubleClicked function syntax contains the following elements:

Parameter

Type

Direction

Description

GUID

String

IN

Contains the GUID of the new context item. This value corresponds to the following properties, depending on the value of the ot parameter:

ot (ObjectType) | - GUID value
otElement | - Element.ElementGUID
otPackage | - Package.PackageGUID
otDiagram | - Diagram.DiagramGUID
otAttribute | - Attribute.AttributeGUID
otMethod | - Method.MethodGUID
otConnector | - Connector.ConnectorGUID

ot

EA.ObjectType

IN

Specifies the type of the new context item.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to notify Enterprise Architect that the double-click event has been handled by an Add-In. Return False to enable Enterprise Architect to continue processing the event.


EA_OnNotifyContextItemModified [Enterprise Architect User Guide]

EA_OnNotifyContextItemModified

Topics:

Topic | Detail | See Also
Details | EA_OnNotifyContextItemModified notifies Add-Ins that the current context item has been modified. This event occurs when a user has modified the context item. Add-Ins that require knowledge of when an item has been modified can subscribe to this broadcast function. Also look at EA_OnContextItemChanged and EA_OnContextItemDoubleClicked. | EA_OnContextItemChanged EA_OnContextItemDoubleClicked

Syntax

Sub EA_OnNotifyContextItemModified(Repository As EA.Repository, GUID As String, ot as EA.ObjectType)

The EA_OnNotifyContextItemModified function syntax contains the following elements:

Parameter

Type

Direction

Description

GUID

String

IN

Contains the GUID of the new context item. This value corresponds to the following properties, depending on the value of the ot parameter:

  • ot(ObjectType)

- GUID value
  • otElement

- Element.ElementGUID
  • otPackage

- Package.PackageGUID
  • otDiagram

- Diagram.DiagramGUID
  • otAttribute

- Attribute.AttributeGUID
  • otMethod

- Method.MethodGUID
  • otConnector

- Connector.ConnectorGUID

ot

EA.ObjectType

IN

Specifies the type of the new context item.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_FileClose [Enterprise Architect User Guide]

EA_FileClose

Topics:

Topic

Detail

See Also

Details

The EA_FileClose event enables the Add-In to respond to a File Close event. When Enterprise Architect closes an opened Model file, this event is raised and passed to all Add-Ins implementing this method.

This event occurs when the model currently opened within Enterprise Architect is about to be closed (when another model is about to be opened or when Enterprise Architect is about to shutdown).

Also look at EA_FileOpen and EA_FileNew.

EA_FileOpen

EA_FileNew

Syntax

Sub EA_FileClose(Repository As EA.Repository)

The EA_FileClose function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the Enterprise Architect model about to be closed. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_FileNew [Enterprise Architect User Guide]

EA_FileNew

Topics:

Topic

Detail

See Also

Details

The EA_FileNew event enables the Add-In to respond to a File New event. When Enterprise Architect creates a new model file, this event is raised and passed to all Add-Ins implementing this method.

The event occurs when the model being viewed by the Enterprise Architect user changes, for whatever reason (through user interaction or Add-In activity).

EA_FileClose

EA_FileOpen

Syntax

Sub EA_FileNew(Repository As EA.Repository)

The EA_FileNew function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_FileOpen [Enterprise Architect User Guide]

EA_FileOpen

Topics:

Topic

Detail

See Also

Details

The EA_FileOpen event enables the Add-In to respond to a File Open event. When Enterprise Architect opens a new model file, this event is raised and passed to all Add-Ins implementing this method.

The event occurs when the model being viewed by the Enterprise Architect user changes, for whatever reason (through user interaction or Add-In activity).

Also look at EA_FileClose and EA_FileNew.

EA_FileClose

EA_FileNew

Syntax

Sub EA_FileOpen(Repository As EA.Repository)

The EA_FileOpen function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnPostCloseDiagram [Enterprise Architect User Guide]

EA_OnPostCloseDiagram

Topics:

Topic | Detail | See Also
Details | EA_OnPostCloseDiagram notifies Add-Ins that a diagram has been closed. Also look at EA_OnPostOpenDiagram. | EA_OnPostOpenDiagram

Syntax

Function EA_OnPostCloseDiagram(Repository As EA.Repository, DiagramID As Integer)

The EA_OnPostCloseDiagram function syntax contains the following elements:

Parameter | Type | Direction | Description
DiagramID | Integer | IN | Contains the Diagram ID of the diagram that was closed.
Repository | EA.Repository | IN | An EA.Repository object representing the Enterprise Architect model about to be closed. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnPostInitialized [Enterprise Architect User Guide]

EA_OnPostInitialized

Topics:

Topic | Detail | See Also
Details | EA_OnPostInitialized notifies Add-Ins that the Repository object has finished loading and any necessary initialization steps can now be performed on the object For example, the Add-In can create an Output tab using Repository.CreateOutputTab | Repository.CreateOutputTab

Syntax

Sub EA_OnPostInitialized(Repository As EA.Repository)

The EA_OnPostInitialized function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information

Return Value

None


EA_OnPostOpenDiagram [Enterprise Architect User Guide]

EA_OnPostOpenDiagram

Topics:

Topic | Detail | See Also
Details | EA_OnPostOpenDiagram notifies Add-Ins that a diagram has been opened. Also look at EA_OnPostCloseDiagram. | EA_OnPostCloseDiagram

Syntax

Function EA_OnPostOpenDiagram(Repository As EA.Repository, DiagramID As Integer)

The EA_OnPostOpenDiagram function syntax contains the following elements:

Parameter | Type | Direction | Description
DiagramID | Integer | IN | Contains the Diagram ID of the diagram that was opened.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnPostTransform [Enterprise Architect User Guide]

EA_OnPostTransform

Topics:

Topic

Detail

See Also

Details

EA_OnPostTransform notifies Add-Ins that an MDG transformation has taken place with the output in the specified target package

This event occurs when a user runs an MDG transform on one or more target packages; the notification is provided for each transform/target package immediately after all transform processes have completed

Syntax

Function EA_OnPostTransform(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostTransform function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty Objects for the transform performed:

  • Transform: A string value corresponding to the name of the transform used
  • PackageID: A long value corresponding to Package.PackageID of the destination package

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model

Poll its members to retrieve model data and user interface status information

Return Value

Reserved for future use.


EA_OnPreExitInstance [Enterprise Architect User Guide]

EA_OnPreExitInstance

Details:

EA_OnPreExitInstance is not currently used.

Syntax:

Sub EA_OnPreExitInstance(Repository As EA.Repository)

The EA_OnPreExitInstance function syntax contains the following element:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value:

None.


EA_OnRetrieveModelTemplate [Enterprise Architect User Guide]

EA_OnRetrieveModelTemplate

Topics:

Topic | Detail | See Also
Details | EA_OnRetrieveModelTemplate requests that an Add-In pass a model template to Enterprise Architect This event occurs when a user executes the Add a New Model Using Wizard command to add a model that has been defined by an MDG Technology | Incorporate Model Templates

Syntax

Function EA_OnRetrieveModelTemplate(Repository As EA.Repository,sLocation As String) As String

The EA_OnRetrieveModelTemplate function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information
sLocation | String | IN | The name of the template requested; this should match the location attribute in the <ModelTemplates> section of an MDG Technology File

Return Value

Return a string containing the XMI export of the model that is being used as a template

Example

Public Function EA_OnRetrieveModelTemplate(ByRef Rep As EA.Repository, ByRef sLocation As String) As String

Dim sTemplate As String

Select Case sLocation

Case "Templates\Template1.xml"

sTemplate = My.Resources.Template1

Case "Templates\Template2.xml"

sTemplate = My.Resources.Template2

Case "Templates\Template3.xml"

sTemplate = My.Resources.Template3

Case Else

MsgBox("Path for " & sLocation & " not found")

sTemplate = ""

End Select

EA_OnRetrieveModelTemplate = sTemplate

End Function


Model Validation Broadcasts [Enterprise Architect User Guide]

Model Validation Broadcasts

Perform Model Validation from an Add-In

Using Enterprise Architect broadcasts, it is possible to define a set of rules that are evaluated when the user instructs Enterprise Architect to perform model validation. An Add-In that performs model validation would involve the following broadcast events:

Topic | Detail | Link
EA_OnInitializeUserRules | EA_OnInitializeUserRules is intercepted in order to define rule categories and rules | EA_OnInitializeUserRules
EA_OnStartValidation | EA_OnStartValidation can be intercepted to perform any required processing prior to validation | EA_OnStartValidation
Validate Request | The following functions intercept each request to validate an individual element, package, diagram, connector, attribute and method |
 | EA_OnRunElementRule | EA_OnRunElementRule
 | EA_OnRunPackageRule | EA_OnRunPackageRule
 | EA_OnRunDiagramRule | EA_OnRunDiagramRule
 | EA_OnRunConnectorRule | EA_OnRunConnectorRule
 | EA_OnRunAttributeRule | EA_OnRunAttributeRule
 | EA_OnRunMethodRule | EA_OnRunMethodRule
EA_OnEndValidation | can be intercepted to perform any required clean-up after validation has completed | EA_OnEndValidation

Learn More:

  • Also consider the Model Validation Example


EA_OnInitializeUserRules [Enterprise Architect User Guide]

EA_OnInitializeUserRules

Topics:

Topic

Detail

See Also

Details

EA_OnInitializeUserRules is called on Enterprise Architect start-up and requests that the Add-In provide Enterprise Architect with a rule category and list of rule IDs for model validation.

This function must be implemented by any Add-In that is to perform its own model validation. It must call Project.DefineRuleCategory once and Project.DefineRule for each rule; these functions are described in the Project Interface section.

Project Interface Class

Syntax

Sub EA_OnInitializeUserRules(Repository As EA.Repository)

The EA_OnInitializeUserRules function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.


EA_OnStartValidation [Enterprise Architect User Guide]

EA_OnStartValidation

Topics:

Topic | Detail | See Also
Details | EA_OnStartValidation notifies Add-Ins that a user has invoked the model validation command from Enterprise Architect. |

Syntax

Sub EA_OnStartValidation(Repository As EA.Repository, ParamArray Args() as Variant)

The EA_OnStartValidation function syntax contains the following elements:

Parameter | Type | Direction | Description
Args | ParamArray of Variant | IN | Contains a list of Rule Categories that are active for the current invocation of model validation.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.


EA_OnEndValidation [Enterprise Architect User Guide]

EA_OnEndValidation

Topics:

Topic | Detail | See Also
Details | EA_OnEndValidation notifies Add-Ins that model validation has completed. Use this event to arrange any clean-up operations arising from the validation. |

Syntax

Sub EA_OnEndValidation(Repository As EA.Repository, ParamArray Args() as Variant)

The EA_OnEndValidation function syntax contains the following elements:

Parameter | Type | Direction | Description
Args | ParamArray of Variant | IN | Contains a list of Rule Categories that were active for the invocation of model validation that has just completed.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.


EA_OnRunElementRule [Enterprise Architect User Guide]

EA_OnRunElementRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each element in the selection being validated. If you don't want to perform the rule defined by RuleID on the given element, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. Also look at EA_OnInitializeUserRules. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunElementRule(Repository As EA.Repository, RuleID As String, Element As EA.Element)

The EA_OnRunElementRule function syntax contains the following elements:

Parameter | Type | Direction | Description
Element | EA.Element | IN | The element to potentially perform validation on.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


EA_OnRunPackageRule [Enterprise Architect User Guide]

EA_OnRunPackageRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each package in the selection being validated. If you don't want to perform the rule defined by RuleID on the given package, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunPackageRule(Repository As EA.Repository, RuleID As String, PackageID As Long)

The EA_OnRunElementRule function syntax contains the following elements:

Parameter | Type | Direction | Description
PackageID | Long | IN | The ID of the package to potentially perform validation on. Use the Repository.GetPackageByID method to retrieve the package object.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule method.


EA_OnRunDiagramRule [Enterprise Architect User Guide]

EA_OnRunDiagramRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each diagram in the selection being validated. If you don't want to perform the rule defined by RuleID on the given diagram, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunDiagramRule(Repository As EA.Repository, RuleID As String, DiagramID As Long)

The EA_OnRunDiagramRule function syntax contains the following elements:

Parameter | Type | Direction | Description
DiagramID | Long | IN | The ID of the diagram to potentially perform validation on. Use the Repository.GetDiagramByID method to retrieve the diagram object.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


EA_OnRunConnectorRule [Enterprise Architect User Guide]

EA_OnRunConnectorRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each connector in the selection being validated. If you don't want to perform the rule defined by RuleID on the given connector, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunConnectorRule(Repository As EA.Repository, RuleID As String, ConnectorID As Long)

The EA_OnRunConnectorRule function syntax contains the following elements:

Parameter | Type | Direction | Description
ConnectorID | Long | IN | The ID of the connector to potentially perform validation on. Use the Repository.GetConnectorByID method to retrieve the connector object.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


EA_OnRunAttributeRule [Enterprise Architect User Guide]

EA_OnRunAttributeRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each attribute in the selection being validated. If you don't want to perform the rule defined by RuleID on the given attribute, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunAttributeRule(Repository As EA.Repository, RuleID As String, AttributeGUID As String, ObjectID As Long)

The EA_OnRunAttributeRule function syntax contains the following elements:

Parameter | Type | Direction | Description
AttributeGUID | String | IN | The GUID of the attribute to potentially perform validation on. Use the Repository.GetAttributeByGuid method to retrieve the attribute object.
ObjectID | Long | IN | The ID of the object that owns the given attribute. Use the Repository.GetObjectByID method to retrieve the object.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


EA_OnRunMethodRule [Enterprise Architect User Guide]

EA_OnRunMethodRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each method in the selection being validated. If you don't want to perform the rule defined by RuleID on the given method, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunMethodRule(Repository As EA.Repository, RuleID As String, MethodGUID As String, ObjectID As Long)

The EA_OnRunMethodRule function syntax contains the following elements:

Parameter | Type | Direction | Description
MethodGUID | String | IN | The GUID of the method to potentially perform validation on. Use the Repository.GetMethodByGuid method to retrieve the method object.
ObjectID | Long | IN | The ID of the object that owns the given method. Use the Repository.GetObjectByID method to retrieve the object.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


EA_OnRunParameterRule [Enterprise Architect User Guide]

EA_OnRunParameterRule

Topics:

Topic | Detail | See Also
Details | This event is triggered once for each rule defined in EA_OnInitializeUserRules to be performed on each parameter in the selection being validated. If you don't want to perform the rule defined by RuleID on the given parameter, then simply return without performing any action. On performing any validation, if a validation error is found, use the Repository.ProjectInterface.PublishResult method to notify Enterprise Architect. | EA_OnInitializeUserRules

Syntax

Sub EA_OnRunParameterRule(Repository As EA.Repository, RuleID As String, ParameterGUID As String, MethodGUID As String, ObjectID As Long)

The EA_OnRunMethodRule function syntax contains the following elements:

Parameter | Type | Direction | Description
MethodGUID | String | IN | The GUID of the method that owns the given parameter. Use the Repository.GetMethodByGuid method to retrieve the method object.
ObjectID | Long | IN | The ID of the object that owns the given parameter. Use the Repository.GetObjectByID method to retrieve the object.
ParameterGUID | String | IN | The GUID of the parameter to potentially perform validation on. Use it to retrieve the parameter by iterating through the Method.Parameters collection.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
RuleID | String | IN | The ID that was passed into the Project.DefineRule command.


Model Validation Example [Enterprise Architect User Guide]

Model Validation Example

The following example code is written in C# and provides a skeleton model validation implementation that you might like to use as a starting point in writing your own model validation rules.

Main.cs

using System;

namespace myAddin

{

public class Main

{

public Rules theRules;

public Main()

{

theRules = new Rules();

}

public string EA_Connect(EA.Repository Repository)

{

return "";

}

public void EA_Disconnect()

{

GC.Collect();

GC.WaitForPendingFinalizers();

}

private bool IsProjectOpen(EA.Repository Repository)

{

try

{

EA.Collection c = Repository.Models;

return true;

}

catch

{

return false;

}

}

public object EA_GetMenuItems(EA.Repository Repository, string MenuLocation, string MenuName)

{

switch (MenuName)

{

case "":

return "-&myAddin";

case "-&myAddin":

string( ) ar = { "&Test" };

return ar;

}

return "";

}

public void EA_GetMenuState(EA.Repository Repository, string MenuLocation, string MenuName, string ItemName, ref bool IsEnabled, ref bool IsChecked)

{

// if no open project, disable all menu options

if (IsProjectOpen(Repository))

IsEnabled = true;

else

IsEnabled = false;

}

public void EA_MenuClick(EA.Repository Repository, string MenuLocation, string MenuName, string ItemName)

{

switch (ItemName)

{

case "&Test";

DoTest(Repository);

break;

}

}

public void EA_OnInitializeUserRules(EA.Repository Repository)

{

if (Repository != null)

{

theRules.ConfigureCategories(Repository);

theRules.ConfigureRules(Repository);

}

}

public void EA_OnRunElementRule(EA.Repository Repository, string RuleID, EA.Element element)

{

theRules.RunElementRule(Repository, RuleID, element);

}

public void EA_OnRunDiagramRule(EA.Repository Repository, string RuleID, long lDiagramID)

{

theRules.RunDiagramRule(Repository, RuleID, lDiagramID);

}

public void EA_OnRunConnectorRule(EA.Repository Repository, string RuleID, long lConnectorID)

{

theRules.RunConnectorRule(Repository, RuleID, lConnectorID);

}

public void EA_OnRunAttributeRule(EA.Repository Repository, string RuleID, string AttGUID, long lObjectID)

{

return;

}

public void EA_OnDeleteTechnology(EA.Repository Repository, EA.EventProperties Info)

{

return;

}

public void EA_OnImportTechnology(EA.Repository Repository, EA.EventProperties Info)

{

return;

}

private void DoTest(EA.Repository Rep)

{

// TODO: insert test code here

}

}

}

Rules.cs

using System;

using System.Collections;

namespace myAddin

{

public class Rules

{

private string m_sCategoryID;

private System.Collections.ArrayList m_RuleIDs;

private System.Collections.ArrayList m_RuleIDEx;

private const string cRule01 = "Rule01";

private const string cRule02 = "Rule02";

private const string cRule03 = "Rule03";

// TODO: expand this list as much as necessary

public Rules()

{

m_RuleIDs = new System.Collections.ArrayList();

m_RuleIDEx = new System.Collections.ArrayList();

}

private string LookupMap(string sKey)

{

return DoLookupMap(sKey, m_RuleIDs, m_RuleIDEx);

}

private string LookupMapEx(string sRule)

{

return DoLookupMap(sRule, m_RuleIDEx, m_RuleIDs);

}

private string DoLookupMap(string sKey, ArrayList arrValues, ArrayList arrKeys)

{

if (arrKeys.Contains(sKey))

return arrValues( arrKeys.IndexOf(sKey) ) .ToString();

else

return "";

}

private void AddToMap(string sRuleID, string sKey)

{

m_RuleIDs.Add(sRuleID);

m_RuleIDEx.Add(sKey);

}

private string GetRuleStr(string sRuleID)

{

switch (sRuleID)

{

case cRule01:

return "Error Message 01";

case cRule02:

return "Error Message 02";

case cRule03:

return "Error Message 03";

// TODO: add extra cases as much as necessary

}

return "";

}

public void ConfigureCategories(EA.Repository Repository)

{

EA.Project Project = Repository.GetProjectInterface();

m_sCategoryID = Project.DefineRuleCategory("Enterprise Collaboration Architecture (ECA) Rules");

}

public void ConfigureRules(EA.Repository Repository)

{

EA.Project Project = Repository.GetProjectInterface();

AddToMap(Project.DefineRule(m_sCategoryID, EA.EnumMVErrorType.mvError, GetRuleStr(cRule01)), cRule01);

AddToMap(Project.DefineRule(m_sCategoryID, EA.EnumMVErrorType.mvError, GetRuleStr(cRule02)), cRule02);

AddToMap(Project.DefineRule(m_sCategoryID, EA.EnumMVErrorType.mvError, GetRuleStr(cRule03)), cRule03);

// TODO: expand this list

}

public void RunConnectorRule(EA.Repository Repository, string sRuleID, long lConnectorID)

{

EA.Connector Connector = Repository.GetConnectorByID((int)lConnectorID);

if (Connector != null)

{

switch (LookupMapEx(sRuleID))

{

case cRule02:

// TODO: perform rule 2 check

break;

// TODO: add more cases

}

}

}

public void RunDiagramRule(EA.Repository Repository, string sRuleID, long lDiagramID)

{

EA.Diagram Diagram = Repository.GetDiagramByID((int)lDiagramID);

if (Diagram != null)

{

switch (LookupMapEx(sRuleID))

{

case cRule03:

// TODO: perform rule 3 check

break;

// TODO: add more cases

}

}

}

public void RunElementRule(EA.Repository Repository, string sRuleID, EA.Element Element)

{

if (Element != null)

{

switch (LookupMapEx(sRuleID))

{

case cRule01:

DoRule01(Repository, Element);

break;

// TODO: add more cases

}

}

}

private void DoRule01(EA.Repository Repository, EA.Element Element)

{

if (Element.Stereotype != "myStereotype")

return;

// TODO: validation logic here

// report validation errors

EA.Project Project = Repository.GetProjectInterface();

Project.PublishResult(LookupMap(cRule01), EA.EnumMVErrorType.mvError, GetRuleStr(cRule01));

}

}

}


Post-New Events [Enterprise Architect User Guide]

Post-New Events

Enterprise Architect Add-Ins can respond to the creation of new elements, connectors, objects, attributes, methods and packages using the following broadcast events:

Topic | Link
EA_OnPostNewElement | EA_OnPostNewElement
EA_OnPostNewConnector | EA_OnPostNewConnector
EA_OnPostNewDiagram | EA_OnPostNewDiagram
EA_OnPostNewDiagramObject | EA_OnPostNewDiagramObject
EA_OnPostNewAttribute | EA_OnPostNewAttribute
EA_OnPostNewMethod | EA_OnPostNewMethod
EA_OnPostNewPackage | EA_OnPostNewPackage
EA_OnPostNewGlossaryTerm. | EA_OnPostNewGlossaryTerm


EA_OnPostNewElement [Enterprise Architect User Guide]

EA_OnPostNewElement

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewElement notifies Add-Ins that a new element has been created on a diagram. It enables Add-Ins to modify the element upon creation.

This event occurs after a user has dragged a new element from the Toolbox or Resources window onto a diagram. The notification is provided immediately after the element is added to the model. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewElement.

EA_OnPreNewElement

Syntax

Function EA_OnPostNewElement(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewElement function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new element:

  • ElementID: A long value corresponding to Element.ElementID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the element has been updated during this notification. Return False otherwise.


EA_OnPostNewConnector [Enterprise Architect User Guide]

EA_OnPostNewConnector

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewConnector notifies Add-Ins that a new connector has been created on a diagram. It enables Add-Ins to modify the connector upon creation.

This event occurs after a user has dragged a new connector from the Toolbox or Resources window onto a diagram. The notification is provided immediately after the connector is added to the model. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewConnector.

EA_OnPreNewConnector

Syntax

Function EA_OnPostNewConnector(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewConnector function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new connector:

  • ConnectorID: A long value corresponding to Connector.ConnectorID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the connector has been updated during this notification. Return False otherwise.


EA_OnPostNewDiagram [Enterprise Architect User Guide]

EA_OnPostNewDiagram

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewDiagram notifies Add-Ins that a new diagram has been created. It enables Add-Ins to modify the diagram upon creation.

Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewDiagram.

EA_OnPreNewDiagram

Syntax

Function EA_OnPostNewDiagram(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewDiagram function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new diagram:

  • DiagramID: A long value corresponding to Diagram.PackageID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the diagram has been updated during this notification. Return False otherwise.


EA_OnPostNewDiagramObject [Enterprise Architect User Guide]

EA_OnPostNewDiagramObject

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewDiagramObject notifies Add-Ins that a new object has been created on a diagram. It enables Add-Ins to modify the object upon creation.

This event occurs after a user has dragged a new object from the Project Browser or Resources window onto a diagram. The notification is provided immediately after the object is added to the diagram. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewDiagramObject.

EA_OnPreNewDiagramObject

Syntax

Function EA_OnPostNewDiagramObject(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewDiagramObject function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new element:

  • ObjectID: A long value corresponding to Object.ObjectID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the element has been updated during this notification. Return False otherwise.


EA_OnPostNewAttribute [Enterprise Architect User Guide]

EA_OnPostNewAttribute

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewAttribute notifies Add-Ins that a new attribute has been created on a diagram. It enables Add-Ins to modify the attribute upon creation.

This event occurs when a user creates a new attribute on an element by either drag-dropping from the Project Browser, using the Attributes Properties dialog, or using the in-place editor on the diagram. The notification is provided immediately after the attribute is created. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewAttribute.

EA_OnPreNewAttribute

Syntax

Function EA_OnPostNewAttribute(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewAttribute function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new attribute:

  • AttributeID: A long value corresponding to Attribute.AttributeID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the attribute has been updated during this notification. Return False otherwise.


EA_OnPostNewMethod [Enterprise Architect User Guide]

EA_OnPostNewMethod

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewMethod notifies Add-Ins that a new method has been created on a diagram. It enables Add-Ins to modify the method upon creation.

This event occurs when a user creates a new method on an element by either drag-dropping from the Project Browser, using the method's Properties dialog, or using the in-place editor on the diagram. The notification is provided immediately after the method is created. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewMethod.

EA_OnPreNewMethod

Syntax

Function EA_OnPostNewMethod(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewMethod function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new method:

  • MethodID: A long value corresponding to Method.MethodID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the method has been updated during this notification. Return False otherwise.


EA_OnPostNewPackage [Enterprise Architect User Guide]

EA_OnPostNewPackage

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewPackage notifies Add-Ins that a new package has been created on a diagram. It enables Add-Ins to modify the package upon creation.

This event occurs when a user drags a new package from the Toolbox or Resources window onto a diagram, or by selecting the New Package icon from the Project Browser. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewPackage.

EA_OnPreNewPackage

Syntax

Function EA_OnPostNewPackage(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewPackage function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new package:

  • PackageID: A long value corresponding to Package.PackageID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the package has been updated during this notification. Return False otherwise.


EA_OnPostNewGlossaryTerm [Enterprise Architect User Guide]

EA_OnPostNewGlossaryTerm

Topics:

Topic

Detail

See Also

Details

EA_OnPostNewGlossaryTerm notifies Add-Ins that a new glossary term has been created. It enables Add-Ins to modify the glossary term upon creation.

The notification is provided immediately after the glossary term is added to the model. Set Repository.SuppressEADialogs to true to suppress Enterprise Architect from showing its default dialogs.

Also look at EA_OnPreNewGlossaryTerm.

EA_OnPreNewGlossaryTerm

Syntax

Function EA_OnPostNewGlossaryTerm(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPostNewGlossaryTerm function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the new glossary term:

  • ElementID: A long value corresponding to Element.ElementID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the glossary term has been updated during this notification. Return False otherwise.


Pre-Deletion Events [Enterprise Architect User Guide]

Pre-Deletion Events

Enterprise Architect Add-Ins can respond to requests to delete elements, attributes, methods, connectors, diagrams, packages and glossary terms using the following broadcast events:

Topic | Link
EA_OnPreDeleteElement | EA_OnPreDeleteElement
EA_OnPreDeleteAttribute | EA_OnPreDeleteAttribute
EA_OnPreDeleteMethod | EA_OnPreDeleteMethod
EA_OnPreDeleteConnector | EA_OnPreDeleteConnector
EA_OnPreDeleteDiagram | EA_OnPreDeleteDiagram
EA_OnPreDeletePackage | EA_OnPreDeletePackage
EA_OnPreDeleteGlossaryTerm | EA_OnPreDeleteGlossaryTerm
EA_OnPreDeleteTechnology (Deprecated) | EA_OnPreDeleteTechnology


EA_OnPreDeleteElement [Enterprise Architect User Guide]

EA_OnPreDeleteElement

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteElement notifies Add-Ins that an element is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the element.

This event occurs when a user deletes an element from the Project Browser or on a diagram. The notification is provided immediately before the element is deleted, so that the Add-In can disable deletion of the element.

Syntax

Function EA_OnPreDeleteElement(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteElement function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the element to be deleted:

  • ElementID: A long value corresponding to Element.ElementID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the element from the model. Return False to disable deletion of the element.


EA_OnPreDeleteAttribute [Enterprise Architect User Guide]

EA_OnPreDeleteAttribute

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteAttribute notifies Add-Ins that an attribute is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the attribute.

This event occurs when a user attempts to permanently delete an attribute from the Project Browser. The notification is provided immediately before the attribute is deleted, so that the Add-In can disable deletion of the attribute.

Syntax

Function EA_OnPreDeleteAttribute(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteAttribute function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the attribute to be deleted:

  • AttributeID: A long value corresponding to Attribute.AttributeID

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the attribute from the model. Return False to disable deletion of the attribute.


EA_OnPreDeleteMethod [Enterprise Architect User Guide]

EA_OnPreDeleteMethod

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteMethod notifies Add-Ins that a method (operation) is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the method.

This event occurs when a user attempts to permanently delete a method from the Project Browser. The notification is provided immediately before the method is deleted, so that the Add-In can disable deletion of the method.

Syntax

Function EA_OnPreDeleteMethod(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteMethod function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the method to be deleted:

  • MethodID: A long value corresponding to Method.MethodID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the method from the model. Return False to disable deletion of the method.


EA_OnPreDeleteConnector [Enterprise Architect User Guide]

EA_OnPreDeleteConnector

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteConnector notifies Add-Ins that a connector is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the connector.

This event occurs when a user attempts to permanently delete a connector on a diagram. The notification is provided immediately before the connector is deleted, so that the Add-In can disable deletion of the connector.

Syntax

Function EA_OnPreDeleteConnector(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteConnector function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the connector to be deleted:

  • ConnectorID: A long value corresponding to Connector.ConnectorID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the connector from the model. Return False to disable deletion of the connector.


EA_OnPreDeleteDiagram [Enterprise Architect User Guide]

EA_OnPreDeleteDiagram

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteDiagram notifies Add-Ins that a diagram is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the diagram.

This event occurs when a user attempts to permanently delete a diagram from the Project Browser. The notification is provided immediately before the diagram is deleted, so that the Add-In can disable deletion of the diagram.

Syntax

Function EA_OnPreDeleteDiagram(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteDiagram function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the diagram to be deleted:

  • DiagramID: A long value corresponding to Diagram.DiagramID

Repository

EA.Repository

IN

An EA.Repository object representing the currently-open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the diagram from the model. Return False to disable deletion of the diagram.


EA_OnPreDeleteDiagramObject [Enterprise Architect User Guide]

EA_OnPreDeleteDiagramObject

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteDiagramObject notifies Add-Ins that a diagram object is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the element.

This event occurs when a user attempts to permanently delete an element from a diagram. The notification is provided immediately before the element is deleted, so that the Add-In can disable deletion of the element.

Syntax

Function EA_OnPreDeleteDiagramObject(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteDiagramObject function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the element to be deleted:

  • ID: A long value corresponding to DiagramObject.ElementID

Repository

EA.Repository

IN

An EA.Repository object representing the currently-open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the element from the model. Return False to disable deletion of the element.


EA_OnPreDeletePackage [Enterprise Architect User Guide]

EA_OnPreDeletePackage

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeletePackage notifies Add-Ins that a package is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the package.

This event occurs when a user attempts to permanently delete a package from the Project Browser. The notification is provided immediately before the package is deleted, so that the Add-In can disable deletion of the package.

Syntax

Function EA_OnPreDeletePackage(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeletePackage function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the package to be deleted:

  • PackageID: A long value corresponding to Package.PackageID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the package from the model. Return False to disable deletion of the package.


EA_OnPreDeleteGlossaryTerm [Enterprise Architect User Guide]

EA_OnPreDeleteGlossaryTerm

Topics:

Topic

Detail

See Also

Details

EA_OnPreDeleteGlossaryTerm notifies Add-Ins that a glossary term is to be deleted from the model. It enables Add-Ins to permit or deny deletion of the glossary term.

The notification is provided immediately before the glossary term is deleted, so that the Add-In can disable deletion of the glossary term.

Syntax

Function EA_OnPreDeleteGlossaryTerm(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteGlossaryTerm function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the glossary term to be deleted:

  • TermID: A long value corresponding to Term.TermID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the glossary term from the model. Return False to disable deletion of the glossary term.


Pre-New Events [Enterprise Architect User Guide]

Pre-New Events

Enterprise Architect Add-Ins can respond to requests to create new elements, connectors, objects, attributes, methods and packages using the following broadcast events:

Topic | Link
EA_OnPreNewElement | EA_OnPreNewElement
EA_OnPreNewConnector | EA_OnPreNewConnector
EA_OnPreNewDiagram | EA_OnPreNewDiagram
EA_OnPreNewDiagramObject | EA_OnPreNewDiagramObject
EA_OnPreNewAttribute | EA_OnPreNewAttribute
EA_OnPreNewMethod | EA_OnPreNewMethod
EA_OnPreNewPackage | EA_OnPreNewPackage
EA_OnPreNewGlossaryTerm. | EA_OnPreNewGlossaryTerm


EA_OnPreNewElement [Enterprise Architect User Guide]

EA_OnPreNewElement

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewElement notifies Add-Ins that a new element is about to be created on a diagram. It enables Add-Ins to permit or deny creation of the new element.

This event occurs when a user drags a new element from the Toolbox or Resources window onto a diagram. The notification is provided immediately before the element is created, so that the Add-In can disable addition of the element.

Also look at EA_OnPostNewElement.

EA_OnPostNewElement

Syntax

Function EA_OnPreNewElement(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewElement function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the element to be created:

  • Type: A string value corresponding to Element.Type
  • Stereotype: A string value corresponding to Element.Stereotype
  • ParentID: A long value corresponding to Element.ParentID
  • DiagramID: A long value corresponding to the ID of the diagram to which the element is being added.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new element to the model. Return False to disable addition of the new element.


EA_OnPreNewConnector [Enterprise Architect User Guide]

EA_OnPreNewConnector

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewConnector notifies Add-Ins that a new connector is about to be created on a diagram. It enables Add-Ins to permit or deny creation of a new connector.

This event occurs when a user drags a new connector from the Toolbox or Resources window, onto a diagram. The notification is provided immediately before the connector is created, so that the Add-In can disable addition of the connector.

Also look at EA_OnPostNewConnector.

EA_OnPostNewConnector

Syntax

Function EA_OnPreNewConnector(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewConnector function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the connector to be created:

  • Type: A string value corresponding to Connector.Type
  • Subtype: A string value corresponding to Connector.Subtype
  • Stereotype: A string value corresponding to Connector.Stereotype
  • ClientID: A long value corresponding to Connector.ClientID
  • SupplierID: A long value corresponding to Connector.SupplierID
  • DiagramID: A long value corresponding to Connector.DiagramID

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new connector to the model. Return False to disable addition of the new connector.


EA_OnPreNewDiagram [Enterprise Architect User Guide]

EA_OnPreNewDiagram

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewDiagram notifies Add-Ins that a new diagram is about to be created. It enables Add-Ins to permit or deny creation of the new diagram.

The notification is provided immediately before the diagram is created, so that the Add-In can disable addition of the diagram.

Also look at EA_OnPostNewDiagram.

EA_OnPostNewDiagram

Syntax

Function EA_OnPreNewDiagram(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewDiagram function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the diagram to be created:

  • Type: A string value corresponding to Diagram.Type
  • ParentID: A long value corresponding to Diagram.ParentID
  • PackageID: A long value corresponding to Diagram.PackageID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new diagram to the model. Return False to disable addition of the new diagram.


EA_OnPreNewDiagramObject [Enterprise Architect User Guide]

EA_OnPreNewDiagramObject

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewDiagramObject notifies Add-Ins that a new diagram object is about to be dropped on a diagram. It enables Add-Ins to permit or deny creation of the new object.

This event occurs when a user drags an object from the Enterprise Architect Project Browser or Resources window onto a diagram. The notification is provided immediately before the object is created, so that the Add-In can disable addition of the object.

Also look at EA_OnPostNewDiagramObject.

EA_OnPostNewDiagramObject

Syntax

Function EA_OnPreNewDiagramObject(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewDiagramObject function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the object to be created:

  • Type: A string value corresponding to Object.Type
  • Stereotype: A string value corresponding to Object.Stereotype
  • ParentID: A long value corresponding to Object.ParentID
  • DiagramID: A long value corresponding to the ID of the diagram to which the object is being added.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the object to the model. Return False to disable addition of the object.


EA_OnPreNewAttribute [Enterprise Architect User Guide]

EA_OnPreNewAttribute

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewAttribute notifies Add-Ins that a new attribute is about to be created on an element. It enables Add-Ins to permit or deny creation of the new attribute.

This event occurs when a user creates a new attribute on an element by either drag-dropping from the Project Browser, using the Attributes Properties dialog, or using the in-place editor on the diagram. The notification is provided immediately before the attribute is created, so that the Add-In can disable addition of the attribute.

Also look at EA_OnPostNewAttribute.

EA_OnPostNewAttribute

Syntax

Function EA_OnPreNewAttribute(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewAttribute function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the attribute to be created:

  • Type: A string value corresponding to Attribute.Type
  • Stereotype: A string value corresponding to Attribute.Stereotype
  • ParentID: A long value corresponding to Attribute.ParentID
  • ClassifierID: A long value corresponding to Attribute.ClassifierID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new attribute to the model. Return False to disable addition of the new attribute.


EA_OnPreNewMethod [Enterprise Architect User Guide]

EA_OnPreNewMethod

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewMethod notifies Add-Ins that a new method is about to be created on an element. It enables Add-Ins to permit or deny creation of the new method.

This event occurs when a user creates a new method on an element by either drag-dropping from the Project Browser, using the method Properties dialog, or using the in-place editor on the diagram. The notification is provided immediately before the method is created, so that the Add-In can disable addition of the method.

Also look at EA_OnPostNewMethod.

EA_OnPostNewMethod

Syntax

Function EA_OnPreNewMethod(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewMethod function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the method to be created:

  • ReturnType: A string value corresponding to Method.ReturnType
  • Stereotype: A string value corresponding to Method.Stereotype
  • ParentID: A long value corresponding to Method.ParentID
  • ClassifierID: A long value corresponding to Method.ClassifierID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new method to the model. Return False to disable addition of the new method.


EA_OnPreNewPackage [Enterprise Architect User Guide]

EA_OnPreNewPackage

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewPackage notifies Add-Ins that a new package is about to be created in the model. It enables Add-Ins to permit or deny creation of the new package.

This event occurs when a user drags a new package from the Toolbox or Resources window onto a diagram, or by selecting the New Package icon from the Project Browser. The notification is provided immediately before the package is created, so that the Add-In can disable addition of the package.

Also look at EA_OnPostNewPackage.

EA_OnPostNewPackage

Syntax

Function EA_OnPreNewPackage(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewPackage function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the package to be created:

  • Stereotype: A string value corresponding to Package.Stereotype
  • ParentID: A long value corresponding to Package.ParentID
  • DiagramID: A long value corresponding to the ID of the diagram to which the package is being added.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new package to the model. Return False to disable addition of the new package.


EA_OnPreNewGlossaryTerm [Enterprise Architect User Guide]

EA_OnPreNewGlossaryTerm

Topics:

Topic

Detail

See Also

Details

EA_OnPreNewGlossaryTerm notifies Add-Ins that a new glossary term is about to be created. It enables Add-Ins to permit or deny creation of the new glossary term.

The notification is provided immediately before the glossary term is created, so that the Add-In can disable addition of the element.

Also look at EA_OnPostNewGlossaryTerm.

EA_OnPostNewGlossaryTerm

Syntax

Function EA_OnPreNewGlossaryTerm(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreNewGlossaryTerm function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty object for the glossary term to be created:

  • Type: A string value corresponding to Term.TermID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable addition of the new glossary term to the model. Return False to disable addition of the new glossary term.


Tagged Value Broadcasts [Enterprise Architect User Guide]

Tagged Value Broadcasts

Enterprise Architect includes the Addin Broadcast Tagged Value type that allows an Add-In to respond to attempts to edit it. The function that is called depends on the type of object the Tagged Value is on.

Topic | Link
EA_OnAttributeTagEdit | EA_OnAttributeTagEdit
EA_OnConnectorTagEdit | EA_OnConnectorTagEdit
EA_OnElementTagEdit | EA_OnElementTagEdit
EA_OnMethodTagEdit | EA_OnMethodTagEdit


EA_OnAttributeTagEdit [Enterprise Architect User Guide]

EA_OnAttributeTagEdit

Topics:

Topic

Detail

See Also

Details

EA_OnAttributeTagEdit is called when the user clicks the ellipsis ( ... ) button for a Tagged Value of type AddinBroadcast on an attribute

The Add-In displays fields to show and change the value and notes; this function provides the initial values for the Tagged Value notes and value, and takes on any changes on exit of the function

Predefined Structured Types

EA_OnAttributeTagEdit

EA_OnConnectorTagEdit

EA_OnElementTagEdit

EA_OnMethodTagEdit

Syntax

Sub EA_OnAttributeTagEdit(Repository As EA.Repository, AttributeID As Long, String TagName, String TagValue, String TagNotes)

The EA_OnAttributeTagEdit function syntax contains the following elements:

Parameter | Type | Direction | Description
AttributeID | Long | IN | The ID of the attribute that this Tagged Value is on
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information
TagName | String | IN | The name of the Tagged Value to edit
TagNotes | String | INOUT | The current value of the Tagged Value notes; if the value is updated, the new value is stored in the repository on exit of the function
TagValue | String | INOUT | The current value of the tag; if the value is updated, the new value is stored in the repository on exit of the function


EA_OnConnectorTagEdit [Enterprise Architect User Guide]

EA_OnConnectorTagEdit

Topics:

Topic

Detail

See Also

Details

EA_OnConnectorTagEdit is called when the user clicks the ellipsis ( ... ) button for a Tagged Value of type AddinBroadcast on a connector

The Add-In displays fields to show and change the value and notes; this function provides the initial values for the Tagged Value notes and value, and takes on any changes on exit of the function

Predefined Structured Types

EA_OnAttributeTagEdit

EA_OnElementTagEdit

EA_OnMethodTagEdit

Syntax

Sub EA_OnConnectorTagEdit(Repository As EA.Repository, ConnectorID As Long, String TagName, String TagValue, String TagNotes)

The EA_OnConnectorTagEdit function syntax contains the following elements:

Parameter | Type | Direction | Description
ConnectorID | Long | IN | The ID of the connector that this Tagged Value is on
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information
TagName | String | IN | The name of the Tagged Value to edit
TagNotes | String | INOUT | The current value of the Tagged Value notes; if the value is updated, the new value is stored in the repository on exit of the function
TagValue | String | INOUT | The current value of the tag; if the value is updated, the new value is stored in the repository on exit of the function


EA_OnElementTagEdit [Enterprise Architect User Guide]

EA_OnElementTagEdit

Topics:

Topic

Detail

See Also

Details

EA_OnElementTagEdit is called when the user clicks the ellipsis ( ... ) button for a Tagged Value of type AddinBroadcast on an element

The Add-In displays fields to show and change the value and notes; this function provides the initial values for the Tagged Value notes and value, and takes on any changes on exit of the function

Predefined Structured Types

EA_OnAttributeTagEdit

EA_OnConnectorTagEdit

EA_OnMethodTagEdit

Syntax

Sub EA_OnElementTagEdit(Repository As EA.Repository, ObjectID As Long, String TagName, String TagValue, String TagNotes)

The EA_OnElementTagEdit function syntax contains the following elements:

Parameter | Type | Direction | Description
ObjectID | Long | IN | The ID of the object (element) that this Tagged Value is on
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information
TagName | String | IN | The name of the Tagged Value to edit
TagNotes | String | INOUT | The current value of the Tagged Value notes; if the value is updated, the new value is stored in the repository on exit of the function
TagValue | String | INOUT | The current value of the tag; if the value is updated, the new value is stored in the repository on exit of the function


EA_OnMethodTagEdit [Enterprise Architect User Guide]

EA_OnMethodTagEdit

Topics:

Topic

Detail

See Also

Details

EA_OnMethodTagEdit is called when the user clicks the ellipsis ( ... ) button for a Tagged Value of type AddinBroadcast on an operation

The Add-In displays fields to show and change the value and notes; this function provides the initial values for the Tagged Value notes and value, and takes on any changes on exit of the function

Predefined Structured Types

EA_OnAttributeTagEdit

EA_OnConnectorTagEdit

EA_OnElementTagEdit

Syntax

Sub EA_OnMethodTagEdit(Repository As EA.Repository, MethodID As Long, String TagName, String TagValue, String TagNotes)

The EA_OnMethodTagEdit function syntax contains the following elements:

Parameter | Type | Direction | Description
MethodID | Long | IN | The ID of the method that this Tagged Value is on
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model Poll its members to retrieve model data and user interface status information
TagName | String | IN | The name of the Tagged Value to edit
TagNotes | String | INOUT | The current value of the Tagged Value notes; if the value is updated, the new value is stored in the repository on exit of the function
TagValue | String | INOUT | The current value of the tag; if the value is updated, the new value is stored in the repository on exit of the function


Technology Events [Enterprise Architect User Guide]

Technology Events

Enterprise Architect Add-Ins can respond to the following events associated with the use of MDG Technologies:

Topic | Link
EA_OnInitializeTechnologies | EA_OnInitializeTechnologies
EA_OnPreActivateTechnology | EA_OnPreActivateTechnology
EA_OnPostActivateTechnology | EA_OnPostActivateTechnology
EA_OnPreDeleteTechnology (Deprecated) | EA_OnPreDeleteTechnology
EA_OnDeleteTechnology (Deprecated) | EA_OnDeleteTechnology
EA_OnImportTechnology (Deprecated) | EA_OnImportTechnology


EA_OnInitializeTechnologies [Enterprise Architect User Guide]

EA_OnInitializeTechnologies

Topics:

Topic

Detail

See Also

Details

EA_OnInitializeTechnologies requests that an Add-In pass an MDG Technology to Enterprise Architect for loading.

This event occurs on Enterprise Architect startup. Return your technology XML to this function and Enterprise Architect loads and enables it.

Syntax

Function EA_OnInitializeTechnologies(Repository As EA.Repository) As Object

The EA_OnInitializeTechnologies function syntax contains the following element:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return the MDG Technology as a single XML string.

Example

Public Function EA_OnInitializeTechnologies(ByVal Repository As EA.Repository) As Object

EA_OnInitializeTechnologies = My.Resources.MyTechnology

End Function


EA_OnPreActivateTechnology [Enterprise Architect User Guide]

EA_OnPreActivateTechnology

Topics:

Topic

Detail

See Also

Details

EA_OnPreActivateTechnology notifies Add-Ins that an MDG Technology resource is about to be activated in the model. This event occurs when a user selects to activate an MDG Technology resource in the model (by clicking on the Set Active button on the MDG Technologies dialog or by selecting the technology in the list box in the Default Tools toolbar).

The notification is provided immediately after the user attempts to activate the MDG Technology, so that the Add-In can permit or disable activation of the Technology.

Also look at EA_OnPostActivateTechnology.

MDG Technologies

Default Tools Toolbar

EA_OnPostActivateTechnology

Syntax

Function EA_OnPreActivateTechnology(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreActivateTechnology function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the MDG Technology to be activated:

  • TechnologyID: A string value corresponding to the MDG Technology ID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable activation of the MDG Technology resource in the model. Return False to disable activation of the MDG Technology resource.


EA_OnPostActivateTechnology [Enterprise Architect User Guide]

EA_OnPostActivateTechnology

Topics:

Topic | Detail | See Also
Details | EA_OnPostActivateTechnology notifies Add-Ins that an MDG Technology resource has been activated in the model. This event occurs when a user activates an MDG Technology resource in the model (by clicking on the Set Active button on the MDG Technologies dialog or by selecting the technology in the list box in the Default Tools toolbar). The notification is provided immediately after the user succeeds in activating the MDG Technology, so that the Add-In can update the Technology if necessary. Also look at EA_OnPreActivateTechnology. | MDG Technologies Default Tools Toolbar EA_OnPreActivateTechnology

Syntax

Function EA_OnPostActivateTechnology(Repository As EA.Repository, Info As EA.EventProperties)

The EA_OnPostActivateTechnology function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the MDG Technology to be activated:

  • TechnologyID: A string value corresponding to the MDG Technology ID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True if the MDG Technology resource is updated during this notification. Return False otherwise.


EA_OnPreDeleteTechnology [Enterprise Architect User Guide]

EA_OnPreDeleteTechnology

Deprecated - refers to deleting a technology through the Resources window; this process is no longer recommended. See:

Topic | Link
EA_OnInitializeTechnologies | EA_OnInitializeTechnologies
EA_OnPreActivateTechnology | EA_OnPreActivateTechnology
EA_OnPostActivateTechnology | EA_OnPostActivateTechnology

Topics:

Topic | Detail | See Also
Details | EA_OnPreDeleteTechnology notifies Add-Ins that an MDG Technology resource is about to be deleted from the model. This event occurs when a user deletes an MDG Technology resource from the model. The notification is provided immediately after the user confirms their request to delete the MDG Technology, so that the Add-In can disable deletion of the MDG Technology. Also look at EA_OnDeleteTechnology. | EA_OnDeleteTechnology

Syntax

Function EA_OnPreDeleteTechnology(Repository As EA.Repository, Info As EA.EventProperties) As Boolean

The EA_OnPreDeleteTechnology function syntax contains the following elements:

Parameter

Type

Direction

Description

Info

EA.EventProperties

IN

Contains the following EventProperty objects for the MDG Technology to be deleted:

  • TechnologyID: A string value corresponding to the MDG Technology ID.

Repository

EA.Repository

IN

An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return True to enable deletion of the MDG Technology resource from the model. Return False to disable deletion of the MDG Technology resource.


EA_OnDeleteTechnology [Enterprise Architect User Guide]

EA_OnDeleteTechnology

Deprecated - refers to deleting a technology through the Resources window; this process is no longer recommended. See:

Topic | Link
EA_OnInitializeTechnologies | EA_OnInitializeTechnologies
EA_OnPreActivateTechnology | EA_OnPreActivateTechnology
EA_OnPostActivateTechnology | EA_OnPostActivateTechnology

Topics:

Topic

Detail

See Also

Details

EA_OnDeleteTechnology notifies Add-Ins that an MDG Technology resource has been deleted from the model.

This event occurs after a user has deleted an MDG Technology resource from the model. Add-Ins that require an MDG Technology resource to be loaded can catch this event to disable certain functionality.

Also look at EA_OnPreDeleteTechnology.

EA_OnPreDeleteTechnology

Syntax

Sub EA_OnDeleteTechnology(Repository As EA.Repository, Info As EA.EventProperties)

The EA_OnDeleteTechnology function syntax contains the following elements:

Parameter | Type | Direction | Description
Info | EA.EventProperties | IN | Contains the following EventProperty objects: TechnologyID: A string value corresponding to the MDG Technology ID.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


EA_OnImportTechnology [Enterprise Architect User Guide]

EA_OnImportTechnology

Deprecated - refers to deleting a technology through the Resources window; this process is no longer recommended. See:

Topic | Link
EA_OnInitializeTechnologies | EA_OnInitializeTechnologies
EA_OnPreActivateTechnology | EA_OnPreActivateTechnology
EA_OnPostActivateTechnology | EA_OnPostActivateTechnology

Topics:

Topic

Detail

See Also

Details

EA_OnImportTechnology notifies Add-Ins that you have imported an MDG Technology resource into the model.

This event occurs after you have imported an MDG Technology resource into the model. Add-Ins that require an MDG Technology resource to be loaded can catch this Add-In to enable certain functionality.

Syntax

Sub EA_OnImportTechnology(Repository As EA.Repository, Info As EA.EventProperties)

The EA_OnImportTechnology function syntax contains the following elements:

Parameter | Type | Direction | Description
Info | EA.EventProperties | IN | Contains the following EventProperty objects: TechnologyID: A string value corresponding to the MDG Technology ID.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


Custom Views [Enterprise Architect User Guide]

Custom Views

Topics:

Topic

Detail

See Also

General Usage

Enterprise Architect enables custom windows to be inserted as tabs in the Diagram View that appears at the center of the Enterprise Architect frame.

Creating a custom view enables you to easily and quickly tab between a custom interface and diagrams and other views normally provided by Enterprise Architect.

Uses for this facility include:

  • Reports and graphs showing summary data of the model
  • Alternative views of a diagram
  • Alternative views of the model
  • Views of external data related to model data
  • Documentation tools

Creating a custom view


Create a Custom View [Enterprise Architect User Guide]

Create a Custom View

Topics:

Topic

Detail

See Also

How to create a Custom View

A custom view must be designed as an ActiveX custom control and inserted through the automation interface.

ActiveX custom controls can be created using most well-known programming tools including Microsoft Visual Studio.NET. See the documentation provided by the relevant vendor on how to create a custom control to produce an OCX file.

Once the custom control has been created and registered on the target system, it can be added through the AddTab() method of the Repository object.

While it is possible to call AddTab() from any automation client, it is likely that you would call it from an Add-In, and that Add-In is defined in the same OCX that provides the custom view.

Example C# code is shown below:

public class Addin

{

UserControl1 m_MyControl;

public void EA_Connect(EA.Repository Rep)

{

}

public object EA_GetMenuItems(EA.Repository Repository, string Location, string MenuName)

{

if( MenuName == "" )

return "-&C# Control Demo";

else

{

String( ) ret = {"&Create", "&Show Button"};

return ret;

}

}

public void EA_MenuClick(EA.Repository Rep, string Location, string MenuName, string ItemName)

{

if( ItemName == "&Create" )

m_MyControl = (UserControl1) Rep.AddTab("C# Demo","ContDemo.UserControl1");

else

m_MyControl.ShowButton();

}

}

Repository Class


Custom Docked Window [Enterprise Architect User Guide]

Custom Docked Window

Topics:

Topic

Detail

See Also

Abstract

Enterprise Architect enables a custom docked window to be add to Enterprise Architect and shown and docked in the same way as other Enterprise Architect docked windows.

A custom docked window must be designed as an ActiveX custom control and inserted through the automation interface.

ActiveX custom controls can be created using most well-known programming tools including Microsoft Visual Studio.NET. See the documentation provided by the relevant vendor on how to create a custom control to produce an OCX file.

Once the custom control has been created and registered on the target system, it can be added through the
AddWindow() method of the Repository object.

While it is possible to call AddWindow() from any automation client, it is likely that you would call it from an Add-In, and that Add-In is defined in the same OCX that provides the custom view.

Repository Class


MDG Add-Ins [Enterprise Architect User Guide]

MDG Add-Ins

Topics:

Topic

Detail

See Also

Abstract

MDG Add-Ins are specialized types of Add-Ins that have additional features and extra requirements for Add-In authors who want to contribute to Enterprise Architect's goal of Model Driven Generation

Unlike general Add-In events, MDG Add-In events are only sent to the Add-In that has taken ownership of an Enterprise Architect model branch on a particular PC

One of the additional responsibilities of an MDG Add-In is to take ownership of a branch of an Enterprise Architect model, which is done through the MDG_Connect event

MDG Add-Ins identify themselves as such during EA_Connect by returning the string MDG

Unlike ordinary Add-Ins, responding to MDG Add-In events is not optional, and methods must be published for each of the MDG Events

Two examples of MDG Add-Ins are the commercially available MDG Link for Eclipse and MDG Link for Visual Studio, published by Sparx Systems

MDG_Connect

EA_Connect

MDG Events

Sparx Systems (Online Resource)


MDG Events [Enterprise Architect User Guide]

MDG Events

An MDG Add-In must respond to all MDG Events. These events usually identify processes such as Build, Run, Synchronize, PreMerge and PostMerge, amongst others.

An MDG Link Add-In is expected to implement some form of forward and reverse engineering capability within Enterprise Architect, and as such requires access to a specific set of events, all to do with generation, synchronization and general processes concerned with converting models to code and code to models.

Topic | Link
MDG_BuildProject | MDG_BuildProject
MDG_Connect | MDG_Connect
MDG_Disconnect | MDG_Disconnect
MDG_GetConnectedPackages | MDG_GetConnectedPackages
MDG_GetProperty | MDG_GetProperty
MDG_Merge | MDG_Merge
MDG_NewClass | MDG_NewClass
MDG_PostGenerate | MDG_PostGenerate
MDG_PostMerge | MDG_PostMerge
MDG_PreGenerate | MDG_PreGenerate
MDG_PreMerge | MDG_PreMerge
MDG_PreReverse | MDG_PreReverse
MDG_RunExe | MDG_RunExe
MDG_View | MDG_View


MDGBuild Project [Enterprise Architect User Guide]

MDG_Build Project

Topics:

Topic | Detail | See Also
Details | MDG_BuildProject enables the Add-In to handle file changes caused by generation. This function is called in response to a user selecting the Add-Ins | Build Project menu option. Respond to this event by compiling the project source files into a running application. Also look at MDG_RunExe. | MDG_RunExe

Syntax

Sub MDG_BuildProject(Repository As EA.Repository, PackageGuid As String)

The MDG_BuildProject function syntax contains the following elements:

Parameter | Type | Direction | Description
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

None.


MDGConnect [Enterprise Architect User Guide]

MDG_Connect

Topics:

Topic

Detail

See Also

Details

MDG_Connect enables the Add-In to handle user driven request to connect a model branch to an external application. This function is called when the user attempts to connect a particular Enterprise Architect package to an as yet unspecified external project. This event enables the Add-In to interact with the user to specify such a project.

The Add-In is responsible for retaining the connection details, which should be stored on a per-user or per-workstation basis. That is, users who share a common Enterprise Architect model over a network should be able to connect and disconnect to external projects independently of one another.

The Add-In should therefore not store connection details in an Enterprise Architect repository. A suitable place to store such details would be:

SHGetFolderPath(..CSIDL_APPDATA..)\AddinName.

The PackageGuid parameter is the same identifier as required for most events relating to the MDG Add-In. Therefore it is recommended that the connection details be indexed using the PackageGuid value.

The PackageID parameter is provided to aid fast retrieval of package details from Enterprise Architect, should this be required.

Also look at MDG_Disconnect.

MDG_Disconnect

Syntax

Function MDG_Connect(Repository As EA.Repository, PackageID as Long, PackageGuid As String) As Long

The MDG_Connect function syntax contains the following elements:

Parameter | Type | Direction | Description
PackageGuid | String | IN | The unique ID identifying the project provided by the Add-In when a connection to a project branch of an Enterprise Architect model was first established.
PackageID | Long | IN | The PackageID of the Enterprise Architect package the user has requested to have connected to an external project.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Returns a non-zero to indicate that a connection has been made; a zero indicates that the user has not nominated a project and connection should not proceed.


MDGDisconnect [Enterprise Architect User Guide]

MDG_Disconnect

Topics:

Topic | Detail | See Also
Details | MDG_Disconnect enables the Add-In to respond to user requests to disconnect the model branch from an external project. This function is called when the user attempts to disconnect an associated external project. The Add-In is required to delete the details of the connection. Also look at MDG_Connect. | MDG_Connect

Syntax

Function MDG_Disconnect(Repository As EA.Repository, PackageGuid As String) As Long

The MDG_Disconnect function syntax contains the following elements:

Parameter | Type | Direction | Description
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Returns a non-zero to indicate that a disconnection has occurred enabling Enterprise Architect to update the user interface. A zero indicates that the user has not disconnected from an external project.


MDGGetConnectedPackages [Enterprise Architect User Guide]

MDG_GetConnectedPackages

Topics:

Topic | Detail | See Also
Details | MDG_GetConnectedPackages enables the Add-In to return a list of current connection between Enterprise Architect and an external application. This function is called when the Add-In is first loaded, and is expected to return a list of the available connections to external projects for this Add-In. Also look at MDG_Connect. | MDG_Connect

Syntax

Function MDG_GetConnectedPackages(Repository As EA.Repository) As Variant

The MDG_GetConnectedPackages function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Returns an array of GUID strings representing individual Enterprise Architect packages.


MDGGetProperty [Enterprise Architect User Guide]

MDG_GetProperty

Topics:

Topic

Detail

See Also

Details

MDG_GetProperty provides miscellaneous Add-In details to Enterprise Architect. This function is called by Enterprise Architect to poll the Add-In for information relating to the PropertyName. This event should occur in as short a duration as possible as Enterprise Architect does not cache the information provided by the function.

Values corresponding to the following PropertyNames must be provided:

  • IconID - Return the name of a DLL and a resource identifier in the format #ResID, where the resource ID indicates an Icon; for example, c:\program files\myapp\myapp.dlll#101
  • Language - Return the default language that Classes should be assigned when they are created in Enterprise Architect
  • HiddenMenus - Return one or more values from the MDGMenus enumeration to hide menus that do not apply to your Add-In. For example:

if( PropertyName == "HiddenMenus" )

return mgBuildProject + mgRun;

Syntax

Function MDG_GetProperty(Repository As EA.Repository, PackageGuid As String, PropertyName As String) As Variant

The MDG_GetProperty function syntax contains the following elements:

Parameter | Type | Direction | Description
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
PropertyName | String | IN | The name of the property that is used by Enterprise Architect. See Details for the possible values.
Repository | EA.Repository | IN | An EA.Repository object representing the currently-open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

See Details, above.


MDGMerge [Enterprise Architect User Guide]

MDG_Merge

Topics:

Topic | Detail | See Also
Details | MDG_Merge enables the Add-In to jointly handle changes to both the model branch and the code project that the model branch is connected to. This event should be called whenever the user has asked to merge their model branch with its connected code project, or whenever the user has established a new connection to a code project. The purpose of this event is to enable the Add-In to interact with the user to perform a merge between the model branch and the connected project. | MDG_Connect MDG_PreMerge MDG_PostMerge

Syntax

Function MDG_Merge(Repository As EA.Repository, PackageGuid As String, SynchObjects As Variant, SynchType As String, ExportObjects As Variant, ExportFiles As Variant, ImportFiles As Variant, IgnoreLocked As String, Language As String) As Long

The MDG_Merge function syntax contains the following elements:

Parameter | Type | Direction | Description
ExportFiles | Variant | OUT | A string array containing the list of files for each model object chosen for export by the Add-In. Each entry in this array must have a corresponding entry in the ExportObjects parameter at the same array index, so ExportFiles(2) must contain the filename of the object by ExportObjects(2).
ExportObjects | Variant | OUT | The string array containing the list of new model objects (in Object ID format) to be exported by Enterprise Architect to the code project.
IgnoreLocked | String | OUT | A value indicating whether to ignore any files locked by the code project (that is, "TRUE" or "FALSE".
ImportFiles | Variant | OUT | A string array containing the list of code files made available to the code project to be newly imported to the model. Enterprise Architect imports each file listed in this array for import into the connected model branch.
Language | String | OUT | The string value containing the name of the code language supported by the code project connected to the model branch.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
SynchObjects | Variant | OUT | A string array containing a list of objects (Object ID format) to be jointly synchronized between the model branch and the project. See below for the format of the Object IDs.
SynchType | String | OUT | The value determining the user-selected type of synchronization to take place. See below for a list of valid values.

Return Value

Return a non-zero if the merge operation completed successfully and a zero value when the operation has been unsuccessful.

Merge

A merge consists of three major operations:

  • Export: Where newly created model objects are exported into code and made available to the code project.
  • Import: Where newly created code objects, Classes and such things are imported into the model.
  • Synchronize: Where objects available both to the model and in code are jointly updated to reflect changes made in either the model, code project or both

Synchronize Type

The Synchronize operation can take place in one of four different ways. Each of these ways corresponds to a value returned by SynchType:

  • None: (SynchType = 0) No synchronization is to be performed
  • Forward: (SynchType = 1) Forward synchronization, between the model branch and the code project is to occur
  • Reverse: (SynchType = 2) Reverse synchronization, between the code project and the model branch is to occur
  • Both: (SynchType = 3) Reverse, then Forward synchronization's are to occur

Object ID Format

Each of the Object IDs listed in the string arrays described above should be composed in the following format:

(@namespace)*(#class)*($attribute|%operation|:property)*


MDGNewClass [Enterprise Architect User Guide]

MDG_NewClass

Topics:

Topic | Detail | See Also
Details | MDG_NewClass enables the Add-In to alter details of a Class before it is created. This method is called when Enterprise Architect generates a new Class, and requires information relating to assigning the language and file path. The file path should be passed back as a return value and the language should be passed back via the language parameter. | MDG_PreGenerate

Syntax

Function MDG_NewClass(Repository As EA.Repository, PackageGuid As String, CodeID As String, Language As String) As String

The MDG_NewClass function syntax contains the following elements:

Parameter | Type | Direction | Description
CodeID | String | IN | A string used to identify the code element before it is created, for more information see MDG_View.
Language | String | OUT | A string used to identify the programming language for the new Class. The language must be supported by Enterprise Architect.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Returns a string containing the file path that should be assigned to the Class.


MDGPostGenerate [Enterprise Architect User Guide]

MDG_PostGenerate

Topics:

Topic

Detail

See Also

Details

MDG_PostGenerate enables the Add-In to handle file changes caused by generation.

This event is called after Enterprise Architect has prepared text to replace the existing contents of a file. Responding to this event enables the Add-In to write to the linked application's user interface rather than modify the file directly.

When the contents of a file are changed, Enterprise Architect passes FileContents as a non-empty string. New files created as a result of code generation are also sent through this mechanism, enabling Add-Ins to add new files to the linked project's file list.

When new files are created Enterprise Architect passes FileContents as an empty string. When a non-zero is returned by this function, the Add-In has successfully written the contents of the file. A zero value for the return indicates to Enterprise Architect that the file must be saved.

MDG_PreGenerate

Syntax

Function MDG_PostGenerate(Repository As EA.Repository, PackageGuid As String, FilePath As String, FileContents As String) As Long

The MDG_PostGenerate function syntax contains the following elements:

Parameter | Type | Direction | Description
FileContents | String | IN | A string containing the proposed contents of the file.
FilePath | String | IN | The path of the file Enterprise Architect intends to overwrite.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.

Return Value

Return value depends on the type of event that this function is responding to (see Details, above). This function is required to handle two separate and distinct cases.


MDGPostMerge [Enterprise Architect User Guide]

MDG_PostMerge

Topics:

Topic | Detail | See Also
Details | MDG_PostMerge is called after a merge process has been completed. This function is called by Enterprise Architect after the merge process has been completed. File save checking should not be performed with this function, but should be handled by MDG_PreGenerate, MDG_PostGenerate and MDG_PreReverse. | MDG_PreGenerate MDG_PostGenerate MDG_PreReverse MDG_PreMerge MDG_Merge

Syntax

Function MDG_PostMerge(Repository As EA.Repository, PackageGuid As String) As Long

The MDG_PostMerge function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.

Return Value

Return a zero value if the post-merge process has failed, a non-zero return indicates that the post-merge has been successful. Enterprise Architect assumes a non-zero return if this method is not implemented


MDGPreGenerate [Enterprise Architect User Guide]

MDG_PreGenerate

Topics:

Topic | Detail | See Also
Details | MDG_PreGenerate enables the Add-In to deal with unsaved changes. This function is called immediately before Enterprise Architect attempts to generate files from the model. A possible use of this function would be to prompt the user to save unsaved source files. | MDG_PostGenerate

Syntax

Function MDG_PreGenerate(Repository As EA.Repository, PackageGuid As String) As Long

The MDG_PreGenerate function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.

Return Value

Return a zero value to abort generation. Any other value enables the generation to continue.


MDGPreMerge [Enterprise Architect User Guide]

MDG_PreMerge

Topics:

Topic

Detail

See Also

Details

MDG_PreMerge is called after a merge process has been initiated by the user and before Enterprise Architect performs the merge process.

This event is called after a user has performed their interactions with the merge screen and has confirmed the merge with the OK button, but before Enterprise Architect performs the merge process using the data provided by the MDG_Merge call, before any changes have been made to the model or the connected project.

This event is made available to provide the Add-In with the opportunity to generally set internal Add-In flags to augment the MDG_PreGenerate, MDG_PostGenerate and MDG_PreReverse events.

File save checking should not be performed with this function, but should be handled by MDG_PreGenerate, MDG_PostGenerate and MDG_PreReverse.

Also look at MDG_Merge and MDG_PostMerge.

MDG_PreGenerate

MDG_PostGenerate

MDG_PreReverse

MDG_Merge

MDG_PostMerge

Syntax

Function MDG_PreMerge(Repository As EA.Repository, PackageGuid As String) As Long

The MDG_PreMerge function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.

Return Value

A return value of zero indicates that the merge process can not occur. If the value is not zero the merge process proceeds. If this method is not implemented then it is assumed that a merge process is used.


MDGPreReverse [Enterprise Architect User Guide]

MDG_PreReverse

Topics:

Topic

Detail

See Also

Details

MDG_PreReverse enables the Add-In to save file changes before being imported into Enterprise Architect.

This function operates on a list of files that are about to be reverse-engineered into Enterprise Architect. If the user is working on unsaved versions of these files in an editor, you could either prompt the user or save automatically.

MDG_PostGenerate

MDG_PreGenerate

Syntax

Sub MDG_PreReverse(Repository As EA.Repository, PackageGuid As String, FilePaths As Variant)

The MDG_PreReverse function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
FilePaths | String array | IN | An array of filepaths pointed to the files that are to be reverse engineered.

Return Value

None.


MDGRunExe [Enterprise Architect User Guide]

MDG_RunExe

Topics:

Topic | Detail | See Also
Details | MDG_RunExe enables the Add-In to run the target application. This function is called when the user selects the Add-Ins | Run Exe menu option. Respond to this event by launching the compiled application. | MDG_BuildProject

Syntax

Sub MDG_RunExe(Repository As EA.Repository, PackageGuid As String)

The MDG_RunExe function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.

Return Value

None.


MDGView [Enterprise Architect User Guide]

MDG_View

Topics:

Topic | Detail | See Also
Details | MDG_View enables the Add-In to display user specified code elements. This function is called by Enterprise Architect when the user asks to view a particular code element. This enables the Add-In to present that element in its own way, usually in a code editor. |

Syntax

Function MDG_View(Repository As EA.Repository, PackageGuid As String, CodeID as String) As Long

The MDG_View function syntax contains the following elements:

Parameter | Type | Direction | Description
Repository | EA.Repository | IN | An EA.Repository object representing the currently open Enterprise Architect model. Poll its members to retrieve model data and user interface status information.
PackageGuid | String | IN | The GUID identifying the Enterprise Architect package sub-tree that is controlled by the Add-In.
CodeID | String | IN | Identifies the code element in the following format: <type>ElementPart<type>ElementPart... where each element is proceeded with a token identifying its type: @ -namespace # - Class $ - attribute % - operation For example if a user has selected the m_Name attribute of Class1 located in namespace Name1, the class ID would be passed through in the following format: @Name1#Class1%m_Name

Return Value

Return a non-zero value to indicate that the Add-In has processed the request. Returning a zero value results in Enterprise Architect employing the standard viewing process which is to launch the associated source file.


Glossary [Enterprise Architect User Guide]

Glossary

This topic provides a detailed glossary for Enterprise Architect.

A | B | C | D | E | F | G | H | I | J | L
M | N | O | P | Q | R | S | T | U | V |


A [Enterprise Architect User Guide]

Glossary Page

~A~
Return to Introduction
Name | Detail | See also
Abstract Class | A Class that cannot be directly instantiated. | Concrete Class
Abstraction | The essential characteristics of an entity that distinguish it from all other kinds of entities. An abstraction defines a boundary relative to the perspective of the viewer. |
Action | The specification of an executable statement that forms an abstraction of a computation procedure. An action typically results in a change in the state of the system, and can be realized by sending a message to an object or modifying a connector or a value of an attribute. |
Action Sequence | An expression that resolves to a sequence of actions. |
Action State | A state that represents the execution of an atomic action, typically the invocation of an operation. |
Activation | The execution of an action. |
Active Class | A Class whose instances are active objects. When instantiated, an active Class controls its execution. Rather than being invoked or activated by other objects, it can operate standalone, and define its own thread of behavior. | Active Object
Active Object | An object that owns a thread and can initiate control activity. An instance of active Class. | Active Class, Thread
Activity | Defines the bounds for the structural organization that contains a set of basic or fundamental behaviors. It can used to model procedural type application development for system design through to modeling business processes in organizational structures and work flow. |
Activity Diagram | A diagram used to model procedural type application development for system design through to modeling business processes in organizational structures and work flow. |
Activity Graph | A special case of a State Machine that is used to model processes involving one or more classifiers. | State Chart Diagram
Actor ( Class ) | A coherent set of roles that users of Use Cases play when interacting with these Use Cases. An Actor has one role for each Use Case with which it communicates. |
Actual Parameter | A binding for a parameter that resolves to a run-time instance. | Argument, (Formal) Parameter
Aggregate ( Class ) | A Class that represents the 'whole' in an Aggregation (whole-part) relationship. | Aggregation
Aggregation | A special form of Association that specifies a whole-part relationship between the Aggregate (whole) and a component part. | Composition
Analysis | The part of the software development process whose primary purpose is to formulate a model of the problem domain. Analysis focuses on what to do, design focuses on how to do it. | Design
Analysis Diagram | A diagram used to capture high level business processes and early models of system behavior and elements. It is less formal than some other diagrams, but provides a good means of capturing the essential business characteristics and requirements. |
Analysis Time | Refers to something that occurs during an analysis phase of the software development process. | Modeling Time, Run Time, Compile Time, Design Time
Architecture | The organizational structure and associated behavior of a system. An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints for assembling parts. Parts that interact through interfaces include Classes, Components and subsystems. |
Argument | A binding for a parameter that resolves to a run-time instance. | Actual Parameter (Formal) Parameter
Artifact | A physical piece of information that is used or produced by a business or development process. Examples of Artifacts include models, source files, scripts, and binary executable files. An Artifact can constitute the implementation of a deployable component. | Product, Component
Assembly | A connector that bridges the required interface of a component with the provided interface of a second component. |
Association | The semantic relationship between two or more classifiers that specifies connections among their instances. | Link
Association Class | A model element that has both Association and Class properties. An Association Class can be seen as an Association that also has Class properties, or as a Class that also has Association properties. | Class
Association End | The endpoint of an Association, which connects the Association to a classifier. | Classifier, Link End
Attribute | A feature within a classifier that describes a range of values that instances of the classifier can hold. |
Auxiliary Class | A stereotyped Class that supports another more central or fundamental Class, typically by implementing secondary logic or control flow. Auxiliary Classes are typically used together with focus Classes, and are particularly useful for specifying the secondary business logic or control flow of components during design. | Focus Class


B [Enterprise Architect User Guide]

Glossary Page

~B~
Return to Introduction

Name

Detail

See also

Behavior

The observable effects of an operation or event, including its results.

Behavioral Diagram

A diagram that depicts the behavioral features of a system or business process. Behavioral diagrams include Activity diagrams, State Machine diagrams, Communication diagrams, Interaction Overview diagrams, Sequence diagrams, Timing diagrams and Use Case diagrams.

Behavioral Feature

A dynamic feature of a model element, such as an operation or method.

Behavioral Model aspect

A model aspect that emphasizes the behavior of the instances in a system, including their methods, collaborations, and state histories.

Binary Association

An Association between two Classes. A special case of an N-ary Association.

N-ary Association

Binding

The creation of a model element from a template by supplying arguments for the parameters of the template.

Bookmark

A marker in a Rich Text Format document that enables you to link inner sections of a document into a master document (using the Word 'Insert File' function).

Boolean

An enumeration whose values are true and false.

Boolean Expression

An expression that evaluates to a boolean value.

Boundary
  1. A stereotyped Class that models some system boundary – typically a user interface screen. It is used in the conceptual phase to capture user interaction with the system at a screen level (or some other boundary interface type). It is often used in Sequence and Robustness (Analysis) diagrams. It is the View in the Model-View-Controller pattern.
  2. A System Boundary element is used to delineate a particular part of the system.


C [Enterprise Architect User Guide]

Glossary Page

~C~
Return to Introduction

Name

Detail

See also

C++

An object-oriented programming language based on the earlier 'C' language.

Call

An action state that invokes an operation on a classifier.

Cardinality

The number of elements in a set.

Multiplicity

CASE

Computer Aided Software Engineering. A tool designed for the purpose of modeling and building software systems.

Child

In a Generalization relationship, the specialization of another element, the parent.

Subclass,Subtype,Parent

Choice

A pseudo-state used to compose complex transitional paths, where the outgoing transition path is decided by dynamic, run-time conditions determined by the actions performed by the State Machine on the path leading to the choice.

Class

A description of a set of objects that share the same attributes, operations, methods, relationships and semantics. A Class can use a set of interfaces to specify collections of operations it provides to its environment.

Interface, Object

Class Diagram

A diagram that shows a collection of declarative (static) model elements, such as Classes, types, and their contents and relationships.

Object Diagram

Classification

The assignment of an object to a classifier.

Dynamic Classification,

Multiple Classification,

Static Classification.

Classifier

A mechanism that describes behavioral and structural features. Classifiers include Interfaces, Classes, datatypes, and components.

Client

A classifier that requests a service from another classifier.

Supplier

Collaboration

The specification of how an operation or classifier, such as a Use Case, is realized by a set of classifiers and Associations playing specific roles used in a specific way. The Collaboration defines an interaction.

Interaction

Collaboration Diagram

Used pre-UML 2.0. Now called a Communication diagram.

Collaboration Use

Uses an occurrence to apply a pattern defined by a Collaboration to a specific situation.

Combined Fragment

A combined fragment reflects a piece or pieces of interaction (called interaction operands) controlled by an interaction operator, whose corresponding boolean conditions are known as interaction constraints. It appears graphically as a transparent window, divided by horizontal dashed lines for each operand.

Comment

An annotation attached to an element or a collection of elements. A comment, or note, has no semantics.

Constraint

Communication Diagram

A diagram that shows the interactions between elements at run-time in much the same manner as a Sequence diagram. However, Communication diagrams are used to visualize inter-object relationships, while Sequence diagrams are more effective at visualizing processing over time.

Collaboration Diagram, Object Diagram

Compile Time

Refers to something that occurs during the compilation of a software module.

Modeling Time, Run Time, Analysis Time, Design Time

Component

A modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces. A Component is typically specified by one or more classifiers (such as implementation Classes) that reside on it, and can be implemented by one or more artifacts (such as binary, executable, or script files).

Module Artifact, Product

Component Diagram

A diagram that shows the organizations and dependencies among Components.

Composite ( Class )

A Class that is related to one or more Classes by a Composition relationship.

Composition

Composite State

A State that consists of either concurrent (orthogonal) substates or sequential (disjoint) substates.

Substate, Concurrent Substate, Disjoint Substate

Composite Structure Diagram

A diagram that reflects the internal collaboration of Classes, Interfaces, or Components to describe a functionality. Composite Structure diagrams are similar to Class diagrams, except that they model a specific usage of the structure.

Composition

A form of Aggregation that requires that a part instance be included in at most one Composite at a time, and that the Composite object is responsible for the creation and destruction of the parts. Composition can be recursive.

Composite Aggregation

Concrete Class

A Class that can be directly instantiated.

Abstract Class

Concurrency

The occurrence of two or more activities during the same time interval. Concurrency can be achieved by interleaving or simultaneously executing two or more threads.

Thread

Concurrent Substate

A substate that can be held simultaneously with other substates contained in the same composite State.

Composite State

Disjoint Substate

Connector

A logical link between model elements. Can be structural, dynamic or possessive.

Constraint
  1. A semantic condition or restriction. Certain constraints are predefined in the UML, others can be user defined. Constraints are one of three extensibility mechanisms in UML.
  2. A rule or condition that applies to some element. It is often modeled as a pre- or post- condition.

Tagged Value, Stereotype

Comment

Container
  1. An instance that exists to contain other instances, and that provides operations to access or iterate over its contents.(for example, arrays, lists, sets).
  2. A component that exists to contain other components.

Containment Hierarchy

A namespace hierarchy consisting of model elements, and the containment relationships that exist between them. A containment hierarchy forms a graph.

Context

A view of a set of related modeling elements for a particular purpose, such as specifying an operation.

Continuation

A Continuation is used in seq and alt combined fragments, to indicate the branches of continuation an operand follows.

Control

A stereotyped Class that represents a controlling entity or manager. A Control organizes and schedules other activities and elements. It is the controller of the Model-View-Controller pattern.

Control Flow

A connector linking two nodes in an activity diagram. Control Flow connectors start a node's activity when the preceding node's action is finished.


D [Enterprise Architect User Guide]

Glossary Page

~D~
Return to Introduction
Name | Detail | See also
Database Schema | The description of a database structure. It defines tables and fields and the relationship between them. |
Datastore | An element used to define permanently stored data. A token of data that is stored in the Datastore is stored permanently. A token of data that comes out of the Datastore is a copy of the original data. The tokens imported are kept for the life of the Activity in which it exists. |
Datatype | A descriptor of a set of values that lack identity and whose operations do not have side effects. Datatypes include primitive pre-defined types and user-definable types. Pre-defined types include numbers, string and time. User-definable types include enumerations. |
Decision | An element of an Activity diagram that indicates a point of conditional progression: if a condition is true, then processing continues one way, if not, then another. |
Defining Model ( MOF ) | The model on which a repository is based. Any number of repositories can have the same defining model. |
Delegate | A connector that defines the internal assembly of a component's external ports and interfaces. Using a Delegate connector wires the internal workings of the system to the outside world, by a delegation of the external interfaces' connections. |
Delegation | The ability of an object to issue a message to another object in response to a message. Delegation can be used as an alternative to inheritance. Contrast: inheritance |
Dependency | A relationship between two modeling elements, in which a change to one modeling element (the independent element) affects the other modeling element (the dependent element). |
Deployment | A type of Dependency relationship that indicates the deployment of an artifact onto a node or executable target. |
Deployment Diagram | A diagram that shows the configuration of run-time processing nodes and the components, processes, and objects that live on them. Components represent run-time manifestations of code units. | Component Diagrams
Deployment Specification | Specifies parameters guiding deployment of an artifact, as is common with most hardware and software technologies. |
Derived Element | A model element that can be computed from another element, but that is shown for clarity or that is included for design purposes even though it adds no semantic information. |
Design | The part of the software development process whose primary purpose is to decide how the system is to be implemented. During design, strategic and tactical decisions are made to meet the required functional and quality requirements of a system. | Analysis
Design Time | Refers to something that occurs during a design phase of the software development process. | Modeling Time, Run Time, Compile Time, Analysis Time
Development Process | A set of partially ordered steps performed for a given purpose during software development, such as constructing models or implementing models. |
Diagram | A graphical presentation of a collection of model elements, most often rendered as a connected graph of arcs (relationships) and vertices (other model elements). UML supports 14 diagram types, and Enterprise Architect extends these with seven more. Add-Ins, technologies and profiles can provide further diagram types. |
Diagram Gate | A simple graphical way to indicate the point at which messages can be transmitted into and out of Interaction Fragments. |
Diagram View | The Enterprise Architect workspace area where the UML diagrams are displayed. |
Disjoint Substate | A substate that cannot be held simultaneously with other substates contained in the same composite State. | Composite State, Substate, Concurrent Substate
Distribution Unit | A set of objects or components that are allocated to a process or a processor as a group. A distribution unit can be represented by a run-time composite or an Aggregate. |
Domain | An area of knowledge or activity characterized by a set of concepts and terminology understood by practitioners in that area. |
Dynamic Classification | A semantic variation of Generalization in which an object can change its classifier. | Multiple Classification, Static Classification


E [Enterprise Architect User Guide]

Glossary Page

~E~
Return to Introduction

Name

Detail

See also

Element
  1. An atomic constituent of a model.
  2. A model object of any type, such as Class, Component, Node or Object.

Endpoint

Used in Interaction diagrams to reflect a lost message in sequence.

Entity

A store or persistence mechanism that captures the information or knowledge in a system. It is the Model in the Model-View-Controller pattern.

Entry Action

An action executed upon entering a state in a State Machine regardless of the transition taken to reach that state.

Entry Point

Used to define where external states can enter a Sub Machine.

Enumeration

A list of named values used as the range of a particular attribute type. For example, RGBColor = {red, green, blue}. Boolean is a predefined enumeration with values from the set {false, true}.

Event

The specification of a significant occurrence that has a location in time and space. In the context of State diagrams, an event is an occurrence that can trigger a transition.

Exception Handler

An element that defines the group of operations to carry out when an exception occurs.

Exit Action

An action executed upon exiting a State in a State Machine regardless of the transition taken to exit that State.

Exit Point

Used in Sub Machine states and State Machines to denote the point where the machine is exited and the transition sourcing this exit point, for Sub Machines, is triggered. Exit points are a type of pseudo-state used in the State Machine diagram.

Export

In the context of packages, to make an element visible outside its enclosing namespace.

Visibility , Import

Expose Interface

A toolbox icon that is a graphical way to depict the required and supplied interfaces of a Component, Class or Part.

Expression

A string that evaluates to a value of a particular type. For example, the expression (7 + 5 * 3) evaluates to a value of type number. A relationship from an extension Use Case to a base Use Case, specifying how the behavior defined for the extension Use Case augments (subject to conditions specified in the extension) the behavior defined for the base Use Case. The behavior is inserted at the location defined by the extension point in the base Use Case. The base Use Case does not depend on performing the behavior of the extension Use Case.

Extend , Include

Extend

A connector used to indicate that an element extends the behavior of another. Extensions are used in Use Case models to indicate one Use Case (optionally) extends the behavior of another.

Expression , Include


F [Enterprise Architect User Guide]

Glossary Page

~F~
Return to Introduction
Name | Detail | See also
Facade | A stereotyped package containing only references to model elements owned by another package. It is used to provide a 'public view' of some of the contents of a package. |
Feature | A property, like operation or attribute, that is encapsulated within a classifier, such as an Interface, a Class, or a Datatype. |
Final | A pseudo-state that indicates an end. |
Final State | A special kind of State signifying that the enclosing composite State or the entire State Machine is completed. |
Fire | To execute a State transition. | Transition
Flow Final | An element that depicts an exit from the system, as opposed to the Activity Final, which represents the completion of the activity. |
Focus Class | A stereotyped Class that defines the core logic or control flow for one or more auxiliary Classes that support it. Focus Classes are typically used together with one or more auxiliary Classes, and are particularly useful for specifying the core business logic or control flow of components during design. | Auxiliary Class
Focus of Control | A symbol on a Sequence diagram that shows the period of time during which an object is performing an action, either directly or through a subordinate procedure. |
Forward Engineering | The process of generating source code from the UML model. |
Fork | Used in State Machine diagrams as pseudo-states. With respect to State Machine diagrams, a Fork pseudo-state signifies that its incoming transition comes from a single State, and it has multiple outgoing transitions. | Join
Framework | A stereotyped package containing model elements that specify a reusable architecture for all or part of a system. Frameworks typically include Classes, Patterns or templates. When frameworks are specialized for an application domain, they are sometimes referred to as Application frameworks. | Pattern


G [Enterprise Architect User Guide]

Glossary Page

~G~
Return to Introduction
Name | Detail | See also
Generalizable Element | A model element that can participate in a Generalization relationship. | Generalization
Generalization | A taxonomic relationship between a more general element and a more specific element. The more specific element is fully consistent with the more general element and contains additional information. An instance of the more specific element can be used where the more general element is allowed. | Generalizable Element,Inheritance
Guard Condition | A condition that must be satisfied in order to enable an associated transition to fire. |


H [Enterprise Architect User Guide]

Glossary Page

~H~
Return to Introduction
Name | Detail | See also
History State | There are two types of History pseudo-states defined in UML: shallow History and deep History. A shallow History sub-state is used to represent the most recently active sub-state of a composite State. A deep History sub-state, in contrast, reflects the most recent active configuration of the composite State. |


I [Enterprise Architect User Guide]

Glossary Page

~I~
Return to Introduction
Name | Detail | See also
Implementation | A definition of how something is constructed or computed. For example, a Class is an implementation of a type, a method is an implementation of an operation. |
Implementation Class | A stereotyped Class that specifies the implementation of a Class in some programming language (for example, C++, Smalltalk, Java) in which an instance can not have more than one Class. An Implementation Class is said to realize a type if it provides all of the operations defined for the type with the same behavior as specified for the type's operations. | Type
Implementation Inheritance | The inheritance of the implementation of a more general element. Includes inheritance of the interface. | Interface Inheritance
Import | In the context of packages, a dependency that shows the packages whose Classes can be referenced within a given package (including packages recursively embedded within it). | Visibility , Export
Include | A relationship from a base Use Case to an inclusion Use Case, specifying how the behavior for the base Use Case contains the behavior of the inclusion Use Case. The behavior is included at the location that is defined in the base Use Case. The base Use Case depends on performing the behavior of the inclusion Use Case, but not on its structure (that is, attributes or operations). | Extend, Expression
Inheritance | The mechanism by which more specific elements incorporate the structure and behavior of more general elements related by behavior. | Generalization, Delegation
Initial State | A pseudo-state used to denote the default state of a composite State; there can be one initial vertex in each region of the composite State. |
Instance | An entity that has a unique identity, a set of operations that can be applied to it, and a state that stores the effects of the operations. | Object
Interaction | A specification of how stimuli are sent between instances to perform a specific task. The interaction is defined in the context of a collaboration. | Collaboration
Interaction Diagram | A generic term that applies to several types of diagrams that emphasize object interactions. These include Timing diagrams, Sequence diagrams, Interaction Overview diagrams and Communication diagrams. |
Interaction Occurrence | A reference to an existing interaction element. Interaction occurrences are visually represented by a frame, with ref in the frame's title space. The diagram name is indicated in the frame contents. |
Interaction Overview Diagram | A diagram that visualizes the cooperation between other Interaction diagrams to illustrate a control flow serving an encompassing purpose. As Interaction Overview diagrams are a variant of Activity diagrams, most of the diagram notation is similar, as is the process in constructing the diagram. |
Interface | A named set of operations that characterize the behavior of an element. | Class , Type
Interface Inheritance | The inheritance of the interface of a more general element. Does not include inheritance of the implementation. | Implementation Inheritance
Internal Transition | A transition signifying a response to an event without changing the state of an object. |
Interrupt Flow | An Enterprise Architect-defined toolbox icon used to define the exception handler and interruptible activity region concepts. |


J [Enterprise Architect User Guide]

Glossary Page

~J~
Return to Introduction
Name | Detail | See also
Java | A fully object-oriented, cross platform language based on elements from Smalltalk, C++ and other OO languages. |
Join | Used in State Machine diagrams and in Activity diagrams to synchronize multiple flows. | Fork
Junction | Junction pseudo-states are used to design complex transitional paths. A Junction can be used to combine, or merge, multiple paths into a shared transition path or to split an incoming path into multiple paths. |


L [Enterprise Architect User Guide]

Glossary Page

~L~
Return to Introduction
Name | Detail | See also
Layer | The organization of classifiers or packages at the same level of abstraction. A layer represents a horizontal slice through an architecture, whereas a partition represents a vertical slice. | Partition
Lifeline | An individual participant in an interaction (that is, Lifelines cannot have multiplicity). A Lifeline represents a distinct connectable element. |
Link | A semantic connector among a tuple of objects. An instance of an Association. | Association
Link End | An instance of an Association end. | Association End, Classifier
Local Path | A relative path on a local machine, enabling developers to store shared source code in machine specific directories, but still generate and synchronize code. |


M [Enterprise Architect User Guide]

Glossary Page

~M~
Return to Introduction
Name | Detail | See also
Maintenance | The support of a software system after it is deployed. |
Manifest | A relationship that indicates that the artifact source embodies the target model element. Stereotypes can be added to Enterprise Architect to classify the type of manifestation of the model element. |
Message | Messages indicate a flow of information, or transition of control, between elements. Messages are used by Communication diagrams, Sequence diagrams, Interaction Overview diagrams and Timing diagrams. |
Message Endpoint | An element that defines an endpoint of a Lifeline, such as a State or Value Lifeline in a Timing diagram. |
Message Label | Used for messages sent between Lifelines to make the diagram appear less cluttered. Labels with the same name indicate that a message can be interrupted. |
Metaclass | A Class whose instances are Classes. Metaclasses are typically used to construct metamodels |
Metafile | A vector-based image format native to Windows. Supports high detail and excellent scaling. Typically used for saving diagram images for placement in documents. Comes in Placeable (an older format) and Enhanced (current standard format). |
Meta-Metamodel | A model that defines the language for expressing a metamodel. The relationship between a meta-metamodel and a metamodel is analogous to the relationship between a metamodel and a model. |
Metamodel | A model that defines the language for expressing a model. |
Meta-Object | A generic term for all meta-entities in a meta-modeling language. For example, meta-types, meta-classes, meta-attributes, and meta-associations. |
Meta-Object Facility (MOF) | An Object Management Group (OMG) standard. MOF originated in the UML, when the OMG required a Meta-Modeling architecture to define the UML. MOF is designed as a four-layered architecture. |
Method | The implementation of an operation. It specifies the algorithm or procedure associated with an operation. |
Model ( MOF ) | An abstraction of a physical system with a certain purpose.Usage note: In the context of the MOF specification, which describes a meta-metamodel, the meta-metamodel is for brevity frequently referred to simply as the model. | Physical System
Model Aspect | A dimension of modeling that emphasizes particular qualities of the metamodel. For example, the structural model aspect emphasizes the structural qualities of the metamodel. |
Model Elaboration | The process of generating a repository type from a published model. Includes the generation of interfaces and implementations which enables repositories to be instantiated and populated based on, and in compliance with, the model elaborated. |
Model Element ( MOF ) | An element that is an abstraction drawn from the system being modeled. In the MOF specification model elements are considered to be meta-objects. | View Element;
Model Library | A stereotyped package containing model elements that are intended to be reused by other packages. A model library differs from a profile in that a model library does not extend the metamodel using stereotypes and tagged definitions. A model library is analogous to a Class library in some programming languages. |
Modeling Time | Refers to something that occurs during the modeling phase of the software development process. It includes analysis time and design time.Usage note: When discussing object systems, it is often important to distinguish between modeling-time and run-time concerns. | Analysis Time, Design Time, Compile time, Run time
Module | A software unit of storage and manipulation. Modules include source code modules, binary code modules and executable code modules. | Component
MOF | Meta-Object Facility, an Object Management Group (OMG) standard. MOF originated in the UML, when the OMG required a Meta-Modeling architecture to define the UML. MOF is designed as a four-layered architecture. |
Multiple Classification | A semantic variation of Generalization in which an object can belong directly to more than one classifier. | Static Classification, Dynamic Classification
Multiple Inheritance | A semantic variation of Generalization in which a type can have more than one supertype. | Single Inheritance
Multiplicity | A specification of the range of enableable cardinalities that a set can assume. Multiplicity specifications can be given for roles within Associations, Parts within Composites, repetitions and other purposes. Essentially a multiplicity is a (possibly infinite) subset of the non-negative integers. | Cardinality
Multi-Valued ( MOF ) | A model element with multiplicity defined whose Multiplicity Type:: upper attribute is set to a number greater than one. The term multi-valued does not pertain to the number of values held by, for example, an attribute or parameter, at any point in time. | Single-Valued


N [Enterprise Architect User Guide]

Glossary Page

~N~
Return to Introduction
Name | Detail | See also
Name | A string used to identify a model element. |
Namespace | A part of the model in which the names can be defined and used. Within a namespace, each name has a unique meaning. | Name
N-ary Association | An Association among three or more Classes. Each instance of the Association is an n-tuple of values from the respective Classes. | Binary Association
Nesting | A connector used as an alternative membership notation to indicate nested members within an element; for example, a package that has nested members. The nested members of a package could also be shown inside the package rather than linked by the Nesting connector. |
Node | A classifier that represents a run-time computation resource, which generally has at least a memory and often processing capability. Run-time objects and components can reside on nodes. |


O [Enterprise Architect User Guide]

Glossary Page

~O~
Return to Introduction
Name | Detail | See also
Object | An entity with a well-defined boundary and identity that encapsulates state and behavior. State is represented by attributes and relationships, behavior is represented by operations, methods and State Machines. An Object is an instance of a Class. | Class, Instance
Object Diagram | A diagram that encompasses objects and their relationships at a point in time. An Object diagram can be considered as a special case of a Class diagram or Communication diagram. | Class Diagram, Communication Diagram
Object Flow | A sub type of the State flow or transition. It implies the passing of an object instance between elements at run-time. |
Object Flow State | A state in an Activity graph that represents the passing of an object from the output of actions in one State to the input of actions in another State. |
Object Lifeline | A line in a Sequence diagram that represents the existence of an object over a period of time. | Sequence Diagram
Object Management Group (OMG) | The standards body responsible for the UML specification and management. | Their website is www.omg.org - follow the links to the UML pages.
Occurrence | A relationship that indicates that a Collaboration represents a classifier. An Occurrence connector is drawn from the collaboration to the classifier. |
Operation | A service that can be requested from an object to effect behavior. An operation has a signature, which could restrict the actual parameters that are possible. |


P [Enterprise Architect User Guide]

Glossary Page

~P~
Return to Introduction

Name

Detail

See also

Package
  1. A namespace, as well as an element that can be contained in other packages' namespaces. Packages can own or merge with other packages, and their elements can be imported into a package's namespace.
  2. A logical container of model elements. It groups elements and can also contain other packages.

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 109) states:

A package is used to group elements, and provides a namespace for the grouped elements.

A package is a namespace for its members, and can contain other packages. Only packageable elements can be owned members of a package. By virtue of being a namespace, a package can import either individual members of other packages, or all the members of other packages.

In addition a package can be merged with other packages.

Note that packages own model elements and are the basis for configuration control, storage and access control. Each element can be directly owned by a single package, so the package hierarchy is a strict tree. However, packages can reference other packages, modeled by using one of the stereotypes «import» and «access» of Permission dependency, so the usage network is a graph. Other kinds of dependencies between packages usually imply that one or more dependencies among the elements exist.

A package is represented by the common folder icon - a large rectangle with a small rectangle (a 'tab') attached to the left side on top.

Package Diagram

Used to reflect the organization of packages and their elements, and provide a visualization of their corresponding namespaces.

Package Import

A package import relationship is drawn from a source package to a package whose contents are imported. Private members of a target package cannot be imported.

Package Merge

Indicates a relationship between two packages whereby the contents of the target package are merged with those of the source package. Private contents of a target package are not merged.

Parameter

The specification of a variable that can be changed, passed, or returned. A parameter can include a name, type, and direction. Parameters are used for operations, messages and events.

Formal Parameter , Argument , Actual parameter

Parameterized element

The descriptor for a Class with one or more unbound parameters.

Template, Parameterized class

Parent

In a generalization relationship, the generalization of another element, the child.

Subclass, Subtype, Child

Part

A run-time instance of a Class or Interface.

Participate

The connection of a model element to a relationship or to a reified relationship. For example, a Class participates in an Association, an Actor participates in a Use Case.

Partition
  1. activity graphs: A portion of an activity graph that organizes the responsibilities for actions.
  2. architecture: A set of related classifiers or packages at the same level of abstraction or across layers in a layered architecture. A partition represents a vertical slice through an architecture, whereas a layer represents a horizontal slice.

Layer , Swim Lane

Pattern

A template collaboration.

Framework

Persistent Object

An object that exists after the process or thread that created it has ceased to exist.

Physical System
  1. The subject of a model.
  2. A collection of connected physical units, which can include software, hardware and people, that are organized to accomplish a specific purpose. A physical system can be described by one or more models, possibly from different viewpoints.

Model (MOF) , System

Port

Defines the interaction between a classifier and its environment. Interfaces controlling this interaction can be depicted using the 'Expose Interface' toolbox icon.

Postcondition

A constraint that must be true at the completion of an operation.

Precondition

A constraint that must be true when an operation is invoked.

Primitive Type

A pre-defined basic datatype without any substructure, such as an integer or a string.

Process
  1. A heavyweight unit of concurrency and execution in an operating system. Thread, which includes heavyweight and lightweight processes. If necessary, an implementation distinction can be made using stereotypes.
  2. A software development process - the steps and guidelines by which to develop a system.
  3. To execute an algorithm or otherwise handle something dynamically.

Thread

Product

A physical piece of information that is produced by a business or development process. Examples of products include models, source files, scripts, and binary executable files. An product can constitute the implementation of a deployable component.

Artifact ,

Component

Profile

A stereotyped package that contains model elements that have been customized for a specific domain or purpose using extension mechanisms, such as stereotypes, tagged definitions and constraints. A profile can also specify model libraries on which it depends and the metamodel subset that it extends.

Project Browser

The workspace window where the model contents are displayed in 'tree' format. Displays structures such as packages, diagrams and model elements.

Projection

A mapping from a set to its subset.

Property

A named value denoting a characteristic of an element. A property has semantic impact. Certain properties are predefined in the UML; others can be user defined.

Tagged Value

Pseudo-State

A vertex in a State Machine that has the form of a State, but doesn't behave as a State. Pseudo-states include initial and history vertices.

Published Model ( MOF )

A model that has been frozen, and that becomes available for instantiating repositories and for support in defining other models. A frozen model's model elements cannot be changed.


Q [Enterprise Architect User Guide]

Glossary Page

~Q~
Return to Introduction
Name | Detail | See also
Qualifier | An Association attribute or tuple of attributes whose values partition the set of objects related to an object across an Association. |


R [Enterprise Architect User Guide]

Glossary Page

~R~
Return to Introduction

Name

Detail

See also

Realize

A source object realizes the destination object. Realize is used to express traceability and completeness in the model – a business process or requirement is realized by one or more Use Cases which are in turn realized by some Classes which in turn are realized by a Component, and so on.

Receive ( A message )

The handling of a stimulus passed from a sender instance.

Sender, Receiver

Receive

An element used to define the acceptance or receipt of a request. Movement on to the next action occurs until it has received what is defined.

Receiver ( Object )

The object handling a stimulus passed from a sender object.

Sender

Reception

A declaration that a classifier is prepared to react to the receipt of a signal.

Recursion

A type of message used in Sequence diagrams to indicate a recursive function.

Reference
  1. A denotation of a model element.
  2. A named slot within a classifier that facilitates navigation to other classifiers.

Pointer

Region

UML 2.x supports both Expansion Regions and Interruptible Activity Regions. An Expansion Region defines the bounds of a region consisting of one or more sets of input collections, where an input collection is a set of elements of the same type. An Interruptible Activity Region contains Activity nodes - when a token leaves an interruptible region, this terminates all of the region's tokens and behaviors.

Refinement

A relationship that represents a fuller specification of something that has already been specified at a certain level of detail. For example, a design Class is a refinement of an analysis Class.

Relationship

A semantic connection among model elements. Examples of relationships include Associations and Generalizations.

Repository

A facility for storing object models, interfaces and implementations.

Represents

A connector that indicates a Collaboration Use is used in a classifier. The connector is drawn from the Collaboration Use to its owning classifier.

Requirement

A required feature, property or behavior of a system (external requirement).

Responsibility

A contract or obligation of a classifier (internal requirement).

Reuse

The use of a pre-existing artifact.

Reverse Engineering

The process of importing source code into the model as standard UML model objects (such as Classes, attributes and operations).

Rich Text Format

A standard mark-up language for creating word processor documents, frequently associated with Microsoft Word.

Robustness Diagram

Enterprise Architect supports business process modeling extensions from the UML business process model profile. Robustness diagrams are used in ICONIX.

You can read more about this at www.sparxsystems.com/iconix/iconixsw.htm.

Role
  1. The named detail and rules associated with one end of an association. Can indicate name, constraints, multiplicity and collection details.
  2. The named specific behavior of an entity participating in a particular context. A role can be static (such as an Association end) or dynamic (such as a Collaboration role).

Role Binding

The mapping between a Collaboration Use's internal roles and the respective parts required to implement a specific situation. The associated parts can have properties defined to enable the binding to occur, and the collaboration to take place.

Run Time

The period of time during which a computer program executes.

Analysis Time, Compile Time, Design Time,Modeling Time


S [Enterprise Architect User Guide]

Glossary Page

~S~
Return to Introduction

Name

Detail

See also

Scenario
  1. A specific sequence of actions that illustrates behaviors. A scenario can be used to illustrate an interaction or the execution of a Use Case instance.
  2. A sequence of operations carried out in some order to produce a known result. Can apply to Use Cases where it is the equivalent of a Sequence diagram, or to other objects to describe how they are used at run-time.

Interaction

Schema ( MOF )

In the context of the MOF, analogous to a package that is a container of model elements. Schema corresponds to a MOF package.

Metamodel, Package

Self-Message

Reflects a new process or method invoked within the calling Lifeline's operation. It is a specification of a message.

Semantic Variation Point

A point of variation in the semantics of a metamodel. It provides an intentional degree of freedom for the interpretation of the metamodel semantics.

Send (A message )

The passing of a stimulus from a sender instance to a receiver instance.

Sender, Receiver

Sender ( Object )

The object passing a stimulus to a receiver object.

Receiver

Sequence Diagram

A diagram that shows object interactions arranged in time sequence. In particular, it shows the objects participating in the interaction and the sequence of messages exchanged. Unlike a Communication (Collaboration) diagram, a Sequence diagram includes time sequences but does not include object relationships. A Sequence diagram can exist in a generic form (describes all possible scenarios) and in an instance form (describes one actual scenario). Sequence diagrams and Communication diagrams express similar information, but show it in different ways.

Communication Diagram, Object Lifeline

Signal

The specification of an asynchronous stimulus communicated between instances. Signals can have parameters.

Signature

The name and parameters of a behavioral feature. A signature can include an optional returned parameter.

Single Inheritance

A semantic variation of Generalization in which a type can have only one supertype.

Multiple Inheritance

Single Valued ( MOF )

A model element with multiplicity defined is single valued when its Multiplicity Type: upper attribute is set to 1. The term single-valued does not pertain to the number of values held by, for example, an attribute or parameter at any point in time, since a single-valued attribute (for instance, with a multiplicity lower bound of zero) could have no value.

Multi-Valued

Specification

A declarative description of what something is or does.

Implementation

State

A condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event.

State ( OMA )

State Invariant

A condition applied to a Lifeline that must be fulfilled for the Lifeline to exist.

State Machine

A behavior that specifies the sequences of States that an object or an interaction goes through during its life in response to events, together with its responses and actions.

State Machine Diagram

A diagram that illustrates how an element, often a Class, can move between States classifying its behavior, according to transition triggers, constraining guards and other aspects of State Machine diagrams that depict and explain movement and behavior.

State Chart

A diagram that shows a State Machine.

State Machine , Activity Graph

State Continuation

A symbol that serves two different purposes for Interaction diagrams - as State Invariants and as Continuations. A State Invariant is a condition applied to a Lifeline that must be fulfilled for the Lifeline to exist. A Continuation is used in seq and alt combined fragments to indicate the branches of continuation that an operand follows.

State Lifeline

A State Lifeline follows discrete transitions between States, which are defined along the y-axis of the timeline. Any transition has optional attributes of timing constraints, duration constraints and observations.

Static Classification

A semantic variation of Generalization in which an object can not change classifier.

Multiple Classification , Dynamic Classification

Stereotype

A new type of modeling element that extends the semantics of the metamodel. Stereotypes must be based on certain existing types or Classes in the metamodel. Stereotypes can extend the semantics, but not the structure of pre-existing types and Classes. Certain stereotypes are predefined in the UML, others can be user defined. Stereotypes are one of three extensibility mechanisms in UML.

Constraint ,Tagged value

Stimulus

The passing of information from one instance to another, such as raising a signal or invoking an operation. The receipt of a signal is normally considered an event.

Message

String

A sequence of text characters. The details of string representation depend on implementation, and can include character sets that support international characters and graphics.

Structural Diagram

A diagram that depicts the structural elements composing a system or function. These diagrams can reflect the static relationships of a structure, as do Class or Package diagrams, or run-time architectures, such as Object or Composite Structure diagrams. Structural diagrams include Class diagrams, Composite Structure diagrams, Component diagrams, Deployment diagrams, Object diagrams and Package diagrams.

Structural Feature

A static feature of a model element, such as an attribute.

Structural Model Aspect

A model aspect that emphasizes the structure of the objects in a system, including their types, Classes, relationships, attributes and operations.

Subactivity State

A State in an activity graph that represents the execution of a non-atomic sequence of steps that has some duration.

Subclass

In a Generalization relationship, the specialization of another Class; the superclass.

Generalization, Child , Parent Superclass

Submachine State

A State in a State Machine that is equivalent to a composite State but its contents are described by another State Machine.

Subpackage

A package that is contained in another package.

Substate

A State that is part of a composite State.

Composite State , Concurrent Substate , Disjoint Substate

Subsystem

A grouping of model elements that represents a behavioral unit in a physical system. A subsystem offers interfaces and has operations. In addition, the model elements of a subsystem can be partitioned into specification and realization elements.

Package, Physical System

Subtype

In a Generalization relationship, the specialization of another type; the supertype.

Generalization , Child , Parent Supertype

Superclass

In a Generalization relationship, the generalization of another Class; the subclass.

Generalization Subclass

Supertype

In a Generalization relationship, the generalization of another type; the subtype.

Generalization Subtype

Supplier

A classifier that provides services that can be invoked by others.

Client

Swimlane

A partition on an Activity diagram for organizing the responsibilities for actions. Swimlanes typically correspond to organizational units in a business model.

Partition

Synch

A State used for indicating that concurrent paths of a State Machine are synchronized. After bringing the paths to a synch state, the emerging transition indicates unison.

Synchronize Code

The process of importing and exporting code changes to ensure the model and source code match.

System

A top-level subsystem in a model.

Physical System

System Boundary

An element used to delineate a particular part of the system.


T [Enterprise Architect User Guide]

Glossary Page

~T~
Return to Introduction
Name | Detail | See also
Table | A relational table (composed of columns). |
Tagged Value | The explicit definition of a property as a name-value pair. In a Tagged Value, the name is referred to as the tag. Certain tags are predefined in the UML; others can be user defined. Tagged Values are one of three extensibility mechanisms in UML. | Constraint, Property, Stereotype
Template | The descriptor for a Class with one or more unbound parameters. | Parameterized Element, Parameterized Class
Terminate | A pseudostate indicating that upon entry of its pseudostate, the State Machine's execution ends. |
Thread ( of Control ) | A single path of execution through a program, a dynamic model, or some other representation of control flow. Also, a stereotype for the implementation of an active object as a lightweight process. | Active Object, Process, Concurrency
Time Event | An event that denotes the time elapsed since the current state was entered. | Event
Time Expression | An expression that resolves to an absolute or relative value of time. |
Timing Diagram | A diagram that defines the behavior of different objects within a time-scale, with visual depictions of those objects changing state and interacting over time. |
Toolbox | The main toolbar running down the center of Enterprise Architect, from which you can select model elements to insert into diagrams. This is also known as the Toolbox and the Object toolbar. |
Top Level | A stereotype of package denoting the top-most package in a containment hierarchy. The topLevel stereotype defines the outer limit for looking up names, as namespaces 'see' outwards. For example, opTopLevelsubsystem represents the top of the subsystem containment hierarchy. |
Trace | A dependency that indicates a historical or process relationship between two elements that represent the same concept without specific rules for deriving one from the other. |
Transient Object | An object that exists only during the execution of the process or thread that created it. |
Transition | A relationship between two States indicating that an object in the first State performs certain specified actions and enters the second State when a specified event occurs and specified conditions are satisfied. On such a change of State, the transition is said to fire. | Fire, Object Flow
Type | A stereotyped Class that specifies a domain of objects together with the operations applicable to the objects, without defining the physical implementation of those objects. A type can not contain any methods, maintain its own thread of control, or be nested. However, it can have attributes and associations. Although an object can have at most one implementation Class, it can conform to multiple different types. | Implementation Class, Interface
Type Expression | An expression that evaluates to a reference to one or more types. |


U [Enterprise Architect User Guide]

Glossary Page

~U~
Return to Introduction
Name | Detail | See also
UML | The Unified Modeling Language, a notation and specification for modeling software systems in an Object-Oriented manner. You can read more about UML at the OMG home page or at our UML Tutorial. |
UML Diagrams | Diagrams used to model different aspects of the system under development. They include various elements and connectors, all of which have their own meanings and purposes. UML 2.3 includes 14 diagrams: Use Case diagram, Activity diagram, State Machine diagram, Timing diagram, Sequence diagram, Interaction Overview diagram, Communication diagram, Package diagram, Class diagram, Object diagram, Composite Structure diagram, Component diagram and Deployment diagram. |
UML Toolbox | The main toolbar running down the center of Enterprise Architect from which you can select model elements to insert into diagrams. This is also known as the Toolbox and the Object toolbar. |
Uninterpreted | A placeholder for a type or types whose implementation is not specified by the UML. Every uninterpreted value has a corresponding string representation. | Any ( CORBA )
Usage | A dependency in which one element (the client) requires the presence of another element (the supplier) for its correct functioning or implementation. |
Use | A connector that indicates that one element requires another to perform some interaction. The Usage relationship does not specify how the target supplier is used, other than that the source client uses it in definition or implementation. |
Use Case ( Class ) | A UML model element that describes how a user of the proposed system interacts with the system to perform a discrete unit of work. It describes and signifies a single interaction over time that has meaning for the end user (person, machine or other system), and is required to leave the system in a complete state: either the interaction completed or was rolled back to the initial state. | Use Case Instance
Use Case Diagram | A diagram that captures Use Cases and Actor interactions. It describes the functional requirements of the system, the manner in which outside things (Actors) interact at the system boundary, and the response of the system. |
Use Case Estimation | The technique of estimating project size and complexity based on the number of Use Cases and their difficulty. |
Use Case Instance | The performance of a sequence of actions being specified in a Use Case. An instance of a Use Case. | Use Case Class
Use Case Model | A model that describes a system's functional requirements in terms of Use Cases. |
Utility | A stereotype that groups global variables and procedures in the form of a Class declaration. The utility attributes and operations become global variables and global procedures, respectively. A utility is not a fundamental modeling construct, but a programming convenience. |


V [Enterprise Architect User Guide]

Glossary Page

~V~
Return to Introduction
Name | Detail | See also
Value | An element of a type domain. |
Value Lifeline | A Lifeline that shows the Lifeline's state across the diagram, within parallel lines indicating a steady state. A cross between the lines indicates a transition or change in state. |
Vertex | A source or a target for a transition in a State Machine. A vertex can be either a State or a pseudo-state. | State, Pseudo-State
View | A projection of a model, which is seen from a given perspective or vantage point and omits entities that are not relevant to this perspective. |
View Element | An element that is a textual and/or graphical projection of a collection of model elements. | Model Element (MOF)
View Projection | A projection of model elements onto view elements. A view projection provides a location and a style for each view element. |
Visibility | An enumeration whose value (public, protected, package or private) denotes how the model element to which it refers can be seen outside its enclosing namespace | Export, Import
Visual Basic | A rapid application development programming language. Windows' only scripting language based on COM. |


License Management [Enterprise Architect User Guide]

License Management

The License Management dialog in Enterprise Architect enables you to upgrade Enterprise Architect and to register Add-Ins. The dialog lists:

  • The currently-registered keys
  • The product each key applies to
  • When each private key expires
  • When each shared key is to be reactivated in the keystore for issue to another user

Access: Help | Register and Manage License Key(s)

Reference:

The options on the License Management dialog are explained in the following table:

Option

Action

See also

Add Key

Display the Add Registration Key dialog, which enables you to:

  • Register your new Enterprise Architect license
  • Obtain a shared key from the Sparx Systems Key Store (available for version 4.51 and above)
  • Add a new key to update to a higher version of Enterprise Architect or to register an Add-In

Register a Full License

Add License Key

Upgrade an Existing License

Register Add-In

Remove Key

Release Key
  • (Private Key) Make the Add-In or current version of Enterprise Architect inoperable
  • (Shared Key) Release the key to the keystore; however, the Keystore Manager is normally configured to release keys automatically when the user logs off

Copy

Place the highlighted key into the clipboard

Close

Close the dialog

Help

Display the help for this topic

Learn More:

  • Upgrade an Existing License
  • Register an Add-In


Finding Your License Information [Enterprise Architect User Guide]

Finding Your License Information

You can find information on your Enterprise Architect license in the About Enterprise Architect dialog.

Access: Help | About EA


Adding License Keys [Enterprise Architect User Guide]

Adding License Keys

Two types of license key can be used in conjunction with Enterprise Architect: Private and Shared.

Reference:

Topic

Detail

See also

Private Keys

Private keys enable you to register, indefinitely, on the machine and user account that you are currently using:

  • An Enterprise Architect license for the edition of Enterprise Architect you have purchased, or
  • An Add-In product license (such as for MDG Link for Eclipse or MDG Link for Visual Studio.NET)

Enterprise Architect Editions

Shared Keys

Shared keys are obtained from a central shared key store, to give you temporary access to the installed 'suite' edition of Enterprise Architect

Shared Keys are available with the purchase of a floating license, and require Enterprise Architect version 4.51 or higher

Shared Keys require a shared license key store to be configured by your license administrator; the key store can be either file-based or network based (preferred)

Only the Key Administrator is required to install the Sparx Enterprise Key Store application; end users simply connect to the configured key file - advised by the administrator - as described below

No additional software is required to be installed

Enterprise Architect Floating License.

Notes on Keys

Some license keys can override and remove others; for example:

  • The key for a more advanced edition of Enterprise Architect replaces the key for a simpler edition
  • The key for MDG Integration for Visual Studio replaces the key for MDG Link for Visual Studio

Shared keys and Private keys have different formats and cannot be used interchangeably

Access: Help | Register and Manage License Key(s) > License Management: Add Key > Add Registration Key

How to:

To add a private key, follow the steps below:

Step | Action | See also
1 | Click on the Enter Private Key tab | License Management
2 | In the Name and Company fields, type your user name and company name |
3 | In the Copy registration key into space below... field, copy the registration key (including any parentheses around the key) |
4 | Click on the OK button to confirm the key selection |

To add a shared key, follow the steps below:

Step

Action

See also

1

Click on the Get Shared Key tab

License Management

2

In the Name and Company fields, type your user name and company name

3

In the Shared Keystore field, click on the ( ... ) (Browse) button

The Shared Keystore Selection dialog displays

4

If your keystore is file-based:

  • Select the File Based Keystore radio button
  • Click on the Browse button, and
  • Locate and select the keystore file

Go to step 7

5

If the keystore is network-based:

  • Click on the Sparx Keystore Server radio button
  • In the Server Address field, type the server address of the keystore

6

If necessary, type in the password (advised by your administrator) and/or click on the Test button to ensure that you have a connection to the keystore

7

Click on the OK button to return to the Get Shared Key tab

This now shows the name of the keystore in the Shared Keystore field

8

In the Select a Product field, click on the appropriate product name

9

Click on the OK button

The License Management dialog redisplays, indicating that the shared key is registered for the selected product until the key expiry date

10

Click on the Close button


Keystore Troubleshooting [Enterprise Architect User Guide]

Keystore Troubleshooting

Message Displayed:

Explanation

Error reading Key Store file:
(Access is denied)

All users who are to use the shared key facility require Read, Write and Modify access to the sskeys.dat file containing the shared keys

Please verify that all required users have sufficient permissions to the file and try again

Review the effective permissions calculated at the location of the key file for the user account reporting the problem - you should closely examine the permissions for both the Network Share and the File System; it is possible that these permissions have been overwritten at some point

If the problem continues, contact Sparx Support

Error reading Key Store file:
(Key File has been moved)

In the key store, as a security measure the hard drive serial number is recorded when the file is created; the file then cannot be moved from the original location in which it was created

If the key store has to be re-located for any reason, the administrator should re-create the key store in the new location using the original license keys

This issue is commonly seen after a file server has undergone a hardware upgrade in which the physical hard drives have been replaced; problems could also occur if the drive used is part of a RAID configuration

The message can also appear where the key store exists on a Novell-based file system - when creating the key store, the administrator is prompted to confirm that the key store is to be located on a Novell Netware file server; if they click on the Yes button, the key store instead records the logical path used to create it, and all users must connect to the key store using this same path

The recorded path is case-sensitive and must be an exact match


Upgrade an Existing License [Enterprise Architect User Guide]

Upgrade an Existing License

This topic explains how to upgrade your installation of Enterprise Architect to a more powerful edition.

Topic

Detail

See also

Editions

There are six Enterprise Architect editions:

  • Desktop
  • Professional
  • Corporate
  • Business and Software Engineering
  • Systems Engineering
  • Ultimate

The installation file provides the facilities of all editions; your registration key gives access to the facilities of the edition you have purchased

Editions Available

Upgrade

If you have purchased a less powerful edition, such as Professional or Desktop, you can subsequently upgrade your existing license to a more powerful edition by purchasing a special upgrade key from Sparx Systems

Once you have purchased and received the appropriate key, use the procedure below to gain access to the additional features

Enterprise Architect Purchase Details

Trial and Lite Editions

The Lite edition and the Trial version cannot be registered or upgraded

If you have used either of these versions and then purchased Enterprise Architect, you must download the registered version from:

www.sparxsystems.com/securedownloads/easetupfull.exe

Then you can enter your registration key

The Trial Version

The Read-only 'Lite' Edition

Registered User software download site

Application

This topic is mainly applicable to users with private keys

If you are an end-user with a shared key, you would simply be allocated the relevant key next time you requested one

If, however, you want to upgrade while using a shared key on a long lease, you would simply click on the Release Key button and then the Add Key button

Adding License Keys

Access: Help | Register and Manage License Key(s) >License Management: Add Key

How to:

To upgrade from one license edition to another, follow the steps below:

Step

Action

See also

1

Make sure you have a valid upgrade key purchased from Sparx Systems; you typically receive this in an email or PDF format

2

On the Add Registration Key dialog, in the Name and Company fields, type your name and company name

License Management

3

Copy the key you received for the upgraded edition of Enterprise Architect - including the { and } bracket characters - from the email

4

Paste the key into the Copy registration key field

5

Click on the OK button

Enterprise Architect displays the message:

Registration succeeded – Thank you for purchasing Enterprise Architect xxxx Edition

6

Click on the OK button, and then on the Close button to continue working in Enterprise Architect

7

Select the Help | About EA menu option

Copy the registration key shown and store it somewhere safe; this is a key to the full license of the edition you have upgraded to

If you ever have to reinstall Enterprise Architect, you can register it with this key, so you won't have to go through the upgrade process again


Register Add-In [Enterprise Architect User Guide]

Register Add-In

Apart from registering Enterprise Architect, you must also register any Add-Ins you purchase to use with the application

This topic explains how to register a private key; if you have purchased a floating licence (shared key) for the Add-In, follow the Add a Shared Key section of the Adding License Keys topic.

Access: Help | Register and Manage License Key(s)
Add-Ins | Enter License Key for <Add-In name>

How To:

To register Add-Ins for Enterprise Architect, follow the steps below:

Step

Action

See Also

1

Purchase one or more licenses for the Add-In from your Add-In provider

Once you have paid for a licensed version of the Add-In, you receive (via email or other suitable means) a license key for the product

2

Save the license key and the latest full version of the Add-In

3

Run the Add-In's setup program to install the Add-In

4

In Enterprise Architect, select either of the menu options:

  • Register and Manage License Key(s
  • Add-Ins | Enter License Key for <Add-In name>

The License Management dialog displays

License Management

5

Click on the Add Key button

The Add Registration Key dialog displays, showing the Enter Private Key tab

6

Type or copy-and-paste in the key you received with the Add-In, including the { and } characters

7

Click on the OK button

8

When the Add-In has been added successfully, close down Enterprise Architect and restart it to apply the integration changes imposed by the Add-In

Learn More:

  • Adding License Keys


Check In and Check Out Packages [Enterprise Architect User Guide]

Check In and Check Out Packages

To work on a version controlled package you must have the package checked out. When a package is checked out to a specific user, a write lock is set on the package and other users cannot make changes to it until it has been checked in again.

To check in and check out packages, follow the steps below

  1. In the Project Browser, right-click on the package icon.
  2. Select the Package Control | Check In, Check Out or Undo Checkout context menu options, as appropriate.
  3. If required, enter a comment when prompted to do so.

If you are working in a private model and you select the Check Out menu option, the Import Package dialog displays (in shared models, this dialog only has default values and therefore does not display).

Field

Usage

See also

Force reload from XMI

Reload the package content from the XMI file in the central repository, even though the package and XMI file are synchronized. This ensures that links and dependencies that might not have been refreshed are updated as well.

Accept current package

(The default.) Leave the package content in its current state.

Refresh model view

Refresh the model view to show any changes from other checked out packages.

Always apply above settings

Apply the settings in the above three fields every time you check out a package that is found to be up to date, and therefore do not display this dialog again.

Note:

  • To display the dialog if, for example, you want to change the settings, press ( Ctrl ) while you select the Package Control | Check Out menu option

The package icon in the Project Browser should change. When you check out a package this is represented by a figure 8 to the left of the package icon. When you check in a package the package icon is overlaid with a colored rectangle and key. In the example below, the upper package is checked out whilst the lower package is checked in.

Notes:

  • In the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect, if security is enabled you must have Use Version Control permission to check files in and out using version control.
  • If you check out a version controlled package whilst offline, the package icon has a red figure 8 in front of it. See Offline Version Control.
  • If the packages under version control contain any alternative images and those images are subject to frequent change, you can set the Export alternate images option on the Options dialog to export the images to the version control repository when you check in the packages. If the images are not subject to frequent change, do not select this option and instead use Export/Import Reference Data to manage alternative images.


Version Control Configuration [Enterprise Architect User Guide]

Version Control Configuration

This topic assumes that you have already installed Subversion (both the server and the client parts), and that you have a local working copy, derived from a repository sub-tree, already set up for use with your Enterprise Architect model.

If this is not the case, please see the topic Create a Subversion Environment.

Once you have set up and tested the Local Working Copy, you are ready to define a Version Control configuration for use with the Enterprise Architect model to place under version control.


Connect an Enterprise Architect Model to Version Control using TFS [Enterprise Architect User Guide]

Connect an Enterprise Architect Model to Version Control using TFS

 Return to Introduction

Having set up TFS and created or otherwise opened your model, you can configure the model for version control under TFS.

To configure the model for version control, follow the steps below

  1. Open or create the Enterprise Architect model to place under version control.
  2. Select the Project | Version Control | Version Control Settings menu option. The Version Control Settings dialog displays.
  3. Click on the New button, in the Unique ID field enter a suitable name, then select the TFS radio button.
  4. Click on the Select Path... button to the right of the Working Copy path field, and select the local folder in which to keep local working copies of the XML files to be stored in the Version Control repository.

Note:

Enterprise Architect queries TFS to retrieve the Server and Workspace names associated with this folder, when attempting to save the configuration data.

  5. In the User Name and Password fields, type values that enable access to the TFS workspace associated with the Working Copy path specified above.

Note:

Users who automatically log in to TFS through means external to Enterprise Architect (for example, through MS Integrated Security) can leave the User Name and Password fields blank. If the Password field is blank, Enterprise Architect retrieves the current user's Windows username and uses that value when determining whether a package is checked out to them or to some other user.

  6. The TFS Exe Path field displays the default installation path; for example:

    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\tf.exe.

    Click on the Select Path... button if it is necessary to modify this field.
  7. Click on the Save button to save the configuration you have defined.
  8. The new configuration is added to the list in the Defined Configurations panel.

  9. When you have finished defining your version control configurations, click on the Close button.

Additional Information on the Dialog Fields

Field

Usage

See also

This model is private

Specify whether all users connect to a single shared copy of the model (such as a DBMS) or each user connects to their own private copy of the model.

When unselected (for shared models), the option disables the File History - Retrieve functionality when the selected package is checked out by another user. This prevents modifications that might have been made by the other user from being discarded through importing a prior revision from version control.

Save nested version controlled packages to stubs only

Set nested version controlled packages to stubs or fully expanded trees. Defaults to selected.

For a full explanation of this option, see Use Nested Version Control Packages.

Use Nested Version Control Packages

Unique ID

Specify a configuration name that readily distinguishes it from other configurations.

The Unique ID is added to the list of Version Control configurations a package can connect to. In addition it is possible to select a previous version control configuration from this drop-down menu providing the configuration is not in the current model.

Working Copy Path

Specify the folder where the XML files representing the packages are stored. This folder should already exist before it is specified.

Every PC using TFS version control should have its own TFS Local Folder in which to store working copies of the XMI package files - this should not be a shared network folder. Particularly bear this in mind if you are creating a .EAP file which is to be shared (for example, a SQL database).

Server Name

Specify the name of the Team Foundation Server to connect to.

Workspace Name

Specify the name of a pre-defined TFS workspace that you are using.

User Name

Specify the user name that you use to connect to the Team Foundation Server. The user name that you specify should give you read/write permissions in the specified workspace.

Password

Specify the password associated with the user name you specify. Enterprise Architect stores this password, in encrypted form, as part of the version control configuration data.

TFS Exe Path

Browse to and select the full path name of the TFS command line client's executable file.


CVS with Remote Repositories [Enterprise Architect User Guide]

CVS with Remote Repositories

Use to:

  • Prepare a CVS environment, suitable for use with Enterprise Architect.

How to:

Step

Action

See also

1

Ask your system administrator to install CVS and create a remote repository with a module that you can use to control your Enterprise Architect package files.

Your administrator must create a username and password for you before you can make a connection.

2

Open a command prompt window and (if necessary create and then) navigate to a suitable directory to use as your CVS working copy directory.

For example:

C:\> mkdir myCVSWorkSpace

C:\> cd myCVSWorkSpace

3

Log in to the remote CVS repository.

For example;

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/reposPath login

Replace myUserID with your CVS username, replace ServerName with the name of your CVS server and replace reposPath with the path to the repository on the server.

CVS prompts you for a password.

4

Enter your password.

You are logged in to the CVS server.

5

Perform the initial check out of the CVS repository module, into the local working copy directory.

For example;

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/reposPath checkout moduleName

(Substitute moduleName with the name of the repository module to check out.)

A subdirectory is created in your current working directory, that has the same name as the module being checked out.

Any files already existing in the repository module are downloaded to the working copy folder as working copy files.

6

You should now verify that your CVS environment functions correctly.

Notes:

Learn More:

Before you can connect to a remote repository, you must:

  • Have version control setup on your local machine
  • Have version control setup on a remote server
  • Have a working directory on your local machine, checked-out from the repository on the server.

To set up CVS version control with a remote repository, follow the steps below

  1. Ask your system administrator to install CVS and create a remote repository with a module that you can use to control your Enterprise Architect package files. Your administrator must create a username and password for you before you can make a connection.
  2. Open a command prompt window and navigate to, or create, a suitable directory to hold your CVS working copy directory; for example:

C:\> cd myCVSWorkSpace

  3. Connect to the remote CVS repository. An example connection command is:

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/repositoryFolder login

Note:

Replace myUserID with your CVS username, replace ServerName with the name of your CVS server and replace repositoryFolder with the path to the repository on the server.

  4. Create a local CVS workspace, derived from the remote repository. An example command is:

C:\myCVSWorkSpace> cvs -d:pserver:myUserID@ServerName:/cvs checkout moduleName

Note:

The above command creates a subdirectory in your current working directory, called moduleName. (Replace moduleName with the name of the module created by your system administrator). It creates local copies of all files contained in the CVS module found at ServerName:/cvs.

It also creates a subdirectory beneath moduleName, called CVS. This subdirectory contains a file called Root, that contains your CVS connection information. Enterprise Architect uses this file to obtain your CVS user ID.

  5. Verify that your CVS installation is working correctly.
  6. Change directory to the one you specified as the working copy, in the cvs checkout command above; that is, C:\myCVSWorkSpace\moduleName
  7. Now create a test file, such as Test.txt, containing the text CVS Test. You can do this with the command:

echo CVS Test > Test.txt

  8. Execute the following CVS commands:
  • cvs add Test.txt
  • cvs commit -m"Commit comment" Test.txt
  • cvs update Test.txt
  • cvs edit Test.txt
  • cvs editors Test.txt
  9. The editors command should produce output resembling the following:

Test1.txt myUserID Tue Aug 9 10:08:43 2009 GMT myComputer C:\myCVSWorkSpace\moduleName

  10. Take note of the userID that follows the filename. Enterprise Architect must find and use this user ID when you create your version control configuration. (See Version Control Settings dialog - CVS Settings.)


Edit a Legend [Enterprise Architect User Guide]

Edit a Legend

Image Removed: Y:\Dev\Help\Source\EA8.1\Screenshots\LegendProperties.bmp

Access: N/A

Use to:

  • Edit a Legend

Reference:

Field | Usage | See also
Name | Indicates a name for an element displayed within a legend. |
Fill Color | Indicates a fill color for an element within a legend. |
Line Color | Indicates a line color for an element within a legend. |
Line Thickness | Denotes the line thickness of an element within a legend. |
Style Options | Allows further alteration options to the legend appearance. | Style Options
Fill | Indicates that a fill element is being created/modified. |
Line | Indicates that a line element is being created/modified. |
Hand (Up) | If more than one element is present within a legend, this button moves a highlighted element up one entry within the description list. |
Hand (Down) | If more than one element is present within a legend, this button moves a highlighted element down one entry within the description list. |
New | Add a new element to the legend. |
Save | Saves an element and adds it to the description list. |
Delete | Deletes an element from the description list. |
Description List | Specifies the current elements created within the legend. |

Notes:

  • The Legend dialog enables you to add, delete, modify or re-sequence Legend elements. Use the Fill tab to define the Legend elements for shapes, then click on the Line tab to define Legend elements for lines and connectors


Maintenance [Enterprise Architect User Guide]

Maintenance

Enter topic text here.


Upgrade at Enterprise Architect 4.5 [Enterprise Architect User Guide]

Upgrade at Enterprise Architect 4.5

When a version-controlled project created under a release of Enterprise Architect earlier than 4.5 is opened in Enterprise Architect release 4.5 or later, you must identify the SCC connection with a new unique ID. You can assign a name to the existing SCC configuration or associate the project with a configuration that has previously been assigned a unique ID.

By having a unique ID for Version Control Configurations, you can assign a configuration quickly and efficiently using configurations that have been created previously for other version controlled repositories. This enables you to configure the many packages to use an existing version control repository; this can apply to packages created for more than just one model enabling a great deal of flexibility.

To upgrade an existing SCC version control project created before release 4.5, in Enterprise Architect release 4.5 or later, follow the steps below

  1. Open the project that has an SCC Version Control Configuration created in Enterprise Architect earlier than version 4.5.
  2. The Select or Create Unique ID for Version Control dialog prompts you to create an ID for an existing configuration or to choose a previously created one from the Unique ID drop-down list.
  3. The existing SCC configuration is the initial value, represented by SCC-XXXXX; this number is not especially meaningful, therefore it is recommended that the configuration be given a meaningful name.
  4. You can associate the version controlled package with a previously-defined configuration by selecting an existing configuration from the Unique ID drop-down list (if one exists).
  5. After you have assigned the unique ID, click on the OK button to load the model.


Select From User Directory [Enterprise Architect User Guide]

Select User

If your company is using a Windows Active Directory, you can select the Project Author names from the local or corporate-wide directory.

Access: Settings | Project Types | People | Project Authors(s) | (...)

Use to:

  • Select Project Authors from a Windows Active Directory directory.

Reference:

Field

Usage

See also

Object Types

Type the name of the person registered as a Project Author.

If you are using a Windows Active Directory, you can select names from the directory. Click on the ( ... ) (Browse) button to display the Select Users dialog.

You can also type a list of names separated by semi-colons. This enables you to define a group of people sharing a role, such as a team of Developers, Testers or Analysts. Do not leave any spaces between the names and the semicolon.

Role

Specify the role the Project Author plays in the project (such as Designer, Analyst, or Architect).

You can type a role name or click on the drop-down arrow and select a role defined through the Project Roles tab.

Notes

Type any additional notes concerning the Project Author.

New

Add further Authors.

Save

Add the new Author to the Defined Authors list.

Delete

Removes an Author from the Defined Authors list.

Defined Authors

Review the Project Authors already defined.

To select names from the Windows Active Directory, follow the steps below

  1. On the Project Author(s) tab, click on the ( ... ) button. The Select Users dialog displays.
  2. Click on the Object Types button and select the checkbox for the object type User.
  3. Click on the OK button to return to the Select Users dialog.
  4. Click on the Locations button. The Locations dialog displays.
  5. Click on the appropriate area or level of the directory, and click on the OK button. The Select Users dialog redisplays.
  6. In the Enter the object names to search field, type the first letter of the user name to search for.
  7. Click on the Check Names button. The Multiple Names Found dialog displays, listing the names starting with the specified letter found in the directory location.
  8. Click on the required name (or press and hold ( Ctrl ) and click on several names), and click on the OK button. The simple Select Users dialog redisplays, with the selected names listed.
  9. Click on the OK button. The Project Authors tab redisplays, with the selected name or names in the Name(s) field.


Set up Subversion [Enterprise Architect User Guide]

Set up Subversion


CVS with Local Repositories [Enterprise Architect User Guide]

CVS with Local Repositories

Before you can set up Enterprise Architect, you must have a working directory that points to a local repository; that is, one that is installed on your local machine. See your version control software help files for more information.

To set up CVS version control follow the steps below

  1. Launch Enterprise Architect and open or create the Enterprise Architect model for which packages are to be placed under version control.
  2. Select the Project | Version Control | Version Control Settings menu option. The Version Control Settings dialog displays.
  3. Click on the New button.
  4. In the Unique ID field, type a suitable name for the configuration.
  5. Against the Type field, click on the CVS radio button.
  6. Click on the Select Path... button to the right of the Working Copy path field and browse for and select the local folder in which to keep local working copies of the XML files to be stored in the Version Control repository.
  7. If necessary, click on the Select Path... button to the right of the CVS Exe Path field and browse to the file path for the file cvs.exe, the CVS executable.
  8. Click on the Save button to save the configuration you have defined.
  9. The new configuration is added to the list in the Defined Configurations panel.

Note:

A new entry is also created in the Local Paths list, with the same ID as the new version control configuration. The Local Path entry records the Local Project path, for use in subsequent path substitutions.

For further information on the fields in the Version Control Settings dialog, see the following table.

Field

Usage

See also

This model is Private

Specify whether all users connect to a single shared copy of the model (e.g. a DBMS) or each user connects to their own private copy of the model.

When unselected (for shared models), the option disables the File History - Retrieve functionality when the selected package is checked out by another user. This prevents modifications that might have been made by the other user from being discarded through importing a prior revision from version control.

Save nested version controlled packages to stubs only

Set nested version controlled packages to stubs or fully expanded trees. Defaults to selected.

For a full explanation of this option, see Version Control Nested Packages.

Version Control Nested Packages

Unique ID

Specify a name that readily distinguishes the configuration from other configurations. The Unique ID is displayed as a selection in the list of Version Control configurations a package can connect to. In addition it is possible to select a previous version control configuration from the drop-down menu providing the configuration is not in use in the current model.

Working Copy path

The folder where the XML files representing the packages are stored. This folder should already exist before it is specified here.

Every version control configuration you define in Enterprise Architect, should have its own local Working Copy Folder in which to store working copies of the XMI package files - this should not be a shared network folder. Particularly bear this in mind if you are creating an Enterprise Architect project that is to be shared (for example, a SQL database).

Current User

The CVS user name associated with all CVS commands that are issued. This name is used by Enterprise Architect, to determine who has a package 'checked-out'.

CVS EXE Path

The full path name of the CVS client's executable file.

Note:

Sparx Systems strongly urge you not to manipulate version controlled package files outside of Enterprise Architect. It is possible to leave the package files in a state that Enterprise Architect cannot recognize.


Work On Objects In Search [Enterprise Architect User Guide]

Work On Objects In Search

You can select elements or diagrams in the Model Search and perform various operations on them, as well as simply dragging the item into a Team Review post.

Note:

Not all options are available for a diagram.

Menu Option

Action

Properties

Display the Properties dialog for the element.

Copy Selected to Clipboard

Copy the selected item to the MS Windows clipboard so that it can be pasted to a document, spreadsheet or email.

Documentation

Generate an RTF report. You have two options:

  • Generate a separate report on each selected object in the Model Search.
  • Generate one report on all selected objects.

In either case, the Generate RTF Documentation dialog displays.

Note:

If you generate the report using a custom SQL search, the SQL must include ea_guid AS CLASSGUID and the object type.

Create Linked Document ( Ctrl+Alt+D )

(Edit Linked Document)

Create (or edit) a linked document (Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions).

See the Linked Documents topic.

Delete Linked Document

Delete an existing linked document. (Only displays if the element has a linked document.)

Print

Print out the filtered results.

Clear Results

Clear the search results from the Model Search.

Find in Diagrams

Display the diagram that uses the element or, if the element is used in multiple diagrams, display a list of diagrams to choose from.

Find in Project Browser

Highlight the element in the Project Browser.

Bookmark Selected

Bookmark the element.

Delete Selected

Delete the selected element from the Model Search.

Close

Close the Model Search.

Help

Display this Help topic on the Model Search.


WSDL Namespace [Enterprise Architect User Guide]

WSDL Namespace

The WSDL namespace in Enterprise Architect represents the top-level container for the WSDL elements, including WSDL documents. Conceptually it maps to the targetNamespace in a WSDL definition element. A given WSDL namespace can reuse its schema Types, Messages, Port Types, Bindings and Service across multiple physical WSDL documents.

The figure below shows an example WSDL namespace (OnlineBookstore PSM, which has a red margin to the bottom right corner), including a single WSDL document:

Example:

To create a new WSDL namespace in your model, follow the steps below

How To:

Step

Action

See Also

1.

Open or create the appropriate diagram.

2.

Select the More tools | WSDL menu option from the Toolbox.

3.

Drag the Namespace element from the Toolbox onto the diagram. The WSDL Namespace Properties dialog displays:

4.

Type in a WSDL Package Name and Target Namespace name. You can edit these values later.

5.

Click on the OK button to create a package stereotyped as WSDLnamespace. This contains the following sub-packages and an Overview diagram to navigate between the sub-packages:

  • Types: Contains the XSD types used by the WSDL Message elements; this package is modeled as an XML Schema, and you drag XSDelement, XSDsimpleType and XSDcomplexType elements onto the Types diagram from the XML Schema page of the Toolbox
  • Messages: Contains the WSDL Messages, modeled as UML Classes marked with the stereotype WSDLmessage
  • PortTypes: Contains the WSDL Port Types, modeled as UML interfaces marked with the stereotype WSDLportType
  • Bindings: Contains the WSDL Bindings, modeled as UML Classes that realize the PortTypes
  • Services: Contains the WSDL Services, modeled as UML interfaces with associations to each exposed Binding

6.

Use the Overview diagram to navigate between the subpackages, by double-clicking the relevant packages. You can edit the sample WSDL elements created in the previous step, or drag new items from the WSDL pages of the Toolbox onto the relevant diagrams.

Example:

WSDLNamespaceDiag

You can edit the WSDL-specific properties of the namespace later by double-clicking the package in the Project Browser. Alternatively, on the WSDL Namespace Properties dialog, click on the UML button to invoke the standard Properties dialog for a package. (This button does not display on the initial WSDL Namespace Properties dialog for a new Namespace element.)

Learn More:

Topic | Link
Model XSD | Model XSD
UML Profile for XSD | UML Profile for XSD
XML Schema Group | XML Schema Group