Enterprise Architect Hidden Gems

Webinar February 2013

Questions & Answers

Q: Project Management capabilities have existed in Enterprise Architect for a while, is there anything new for PM in version 10?

A: Briefly:
  • A context Menu to toggle the highlight for all overdue tasks. This makes it easier to identify project slippage.
  • Select any task in the Gantt view, then use the context menu to quickly Jump to the Start, or End or Today's date. (The selected date appears in the middle of Gantt Chart.)
  • Column Filters allow you to quickly search and filter tasks.
For more information, please read the release notes:

Q: What advantages does Model Mail offer over other mail programs?

A: Enterprise Architect's Model Mail is not intended to replace corporate email software. Instead, it provides an excellent communication facility for shared Enterprise Architect models. You can send messages directly to other authors in your modeling team and include clickable hyperlinks to relevant model elements. Because Model Mail is sent and received directly within the model repository, you don't need any of the usual email client/server infrastructure to use it, nor is Model Mail prone to the usual issues associated with email, such as spam.
To use Model Mail in Enterprise Architect, select from the main menu:
View > Model Mail.

You can send a message to any of the authors that were previously defined using the main menu:
Settings > Project Types > Resources > Project Authors.

Q: Can I use Model Mail without setting up a task with resources?

A: Yes. Model Mail is not dependent on your use of Tasks in Enterprise Architect. The two features just happen to work nicely together.

Q: Can we have this example - the train simulation program "City Loop" - that you showed?

A: Yes. The "City Loop" application is available with Enterprise Architect's Example Model. You can find the code in your Enterprise Architect (version 9 or later) installation folder, for example:
C:\Program Files (x86)\Sparx Systems\EA\Code Samples\VEA\Microsoft Native\CityLoop
The application has been reverse engineered into Enterprise Architect's Example Model. See the following package:
Project Models.Execution Analysis.C++/Native
This package already has an associated Build Script associated with it (access it via Right-Click > Execution Analyzer or Ctrl+Shift+F12). However, you need to define the following Local Paths in Enterprise Architect, as they are referred by the Build Script:
  • VEA
  • MSVS
You define Local Paths with the above ID's via the Main Menu:
Settings > Local Directories and Paths.

The first path tells Enterprise Architect where to find the code to compile. The latter tells Enterprise Architect which compiler to use (for example devenv.com or msbuild.exe)

Q: Is the "City Loop" code managed C++

A: No, it is an MFC application. As such, it has no dependency on the .Net framework.

Q: What would you say are the benefits of debugging within Enterprise Architect, rather than in my IDE?

A: Enterprise Architect's Visual Execution Analyzer (VEA) enables you to record the debug session and generate models based on this. For example, you can automatically generate a sequence diagram based on an execution of your legacy application. This aids in understanding the run-time behaviour and called interfaces of the system, without necessarily stepping through code. So the VEA provides an excellent way to document legacy applications, using industry standard modeling notation.

When debugging Model Scripts, in addition to analyzing the run-state of variables and behavior of the code, you can inspect the model elements and any diagrams on which the script operates simply using Enterprise Architect's User Interface while the script executes. That has proved especially helpful to some of our own staff who develop Model Scripts.

Q: What identifiers link the code that you debugged with the Statemachine?

A: A State Machine has been defined under the CTrain class in the Example Model. The CTrain class exists in the following location in the Project Browser:
Project Models.Execution Analysis.C++/Native.Source.CTrain

This State Machine represents the as-designed behaviour of the City Loop application, by modeling the set of legal State Tranisitions.

If you open the Properties dialog of each State and navigate to the Constraints tab, you will notice that each State lists valid variable values in one or more Constraints. Before beginning a debug session, if you enable the state-transition reporting option, Enterprise Architect will check the program's execution against each condition and highlight any illegal states in red on the generated sequence diagram.

Q: What's new for the Visual Execution Analyzer in version 10?

A: New in Enterprise Architect version 10:
  • It is now possible to use the visual execution analyzer to debug Model Scripts, including JavaScript, Jscript and VB Script.
  • Support for Profiling of Java, .Net and mixed .Net/Native applications.
  • Reverse Engineering of user defined languages is also supported.
  • As demonstrated in the the webinar, you can auto-generate Class Diagrams from Execution Analyzer recordings.
  • Testpoint management now supports Java and VB.NET.
  • New toolbars to 'Build' and 'Record & Analyze' were added to the user interface.

Q: Does the VEA work with scripting languages?

A: Yes. JavaScript, Jscript and VB Script are supported.

Q:What does the Visual Execution Analyzer's Profiler function do? You didn't demonstrate that.

A: Among other things the Profiler, allows you to record and analyze how frequently functions are called and the time of these calls. This can be useful when optimizing the run-time performance of an application.