Executable State Machine
New Model Wizard pattern(s) to help modelers get started in setting up the necessary model based constructs for their executable code for simulatable state machines including:
State machines can be exported into more specific locations and namespaces, and to be automatically added to Visual Studio projects, Java namespaces and other targets for inclusion directly within a user development project.
Improved APP Profiler
The application profiler for Windows based C/C++ executables has been significantly improved to provide faster and more comprehensive information.
The app profiler is used to determine what code has executed during a particular scenario and how often particular parts of the executable are being accessed.
As a result, the app profiler is performing the dual function of monitoring both coverage and bottlenecks.
It is a great way to explore new and unfamiliar code, as the resultant reports quickly show how an application is working and where it is spending most of its time.
The application profiler has become a core component in the development tool chain with which Enterprise Architect is built, tested and optimized - both under Windows and under Linux | Mac / WINE.
A new and very useful feature in Enterprise Architect 14 for those profiling and debugging source code and executables is the "Stack Profiler".
This feature lets you
- Set a marker in your source code
- Capture a full stack trace when an execution hits that marker
As the application continues executing and the marked position is accessed from a variety of places within the running executable, a very detailed and useful picture is built up showing hot spots and usage scenarios for a particular point in code.
The Stack Profile report, like the Memory Profile report, is displayed in "reverse stack" order. This means that the root of the report is always a single node (in this case the marker) and the tree then fans out to show all the various places the marked position has been accessed from.
"The Stack Profile report is another incredibly useful tool in analysing and understanding how and application works and in particular, how some piece of code is used within that executable."
Version 14 includes a powerful and extremely fast memory profiler that efficiently tracks memory allocations and de-allocations in real-time and produces a comprehensive report of memory activity.
Aimed at the Windows C/C++ executable it can quickly pinpoint memory bottlenecks, leaks and other issues during execution. It can be dynamically turned on and off to pinpoint particular usage bottlenecks or leaks.
Like the Stack Profiler, the Memory Profiler uses reversed stack hierarchies to easily move from the one common point (the run time memory allocator) through the various calling stacks to demonstrate where, why and how memory is being allocated and used.
Also like the Stack Profiler, the Memory Profiler works under both Windows O/S and Linux|Mac/WINE implementations - although the WINE implementation is slower.
Visual Studio Integration
Version 14 includes improved interaction with Microsoft Visual Studio. It is now possible to select a Visual Studio solution file and have Enterprise Architect import all the dependent projects in the correct dependency based order to ensure a complete and clean import.