ENOVIA Studio Development Suite is a rapid application development environment (RADE) on the Microsoft Windows platform for building C++ applications based on the V6 architecture. It provides a single point of access to the C++ development tools that support the full development cycle, from design and development through test, deployment and maintenance. It defines and supports the V6 architecture concepts of “framework” and “module” to model the logical and physical architecture of the application.

Frameworks are aggregated in workspaces, where the developer can perform modifications and reuse frameworks located in other workspaces. ENOVIA Studio Development Suite’s tight integration with Microsoft Visual Studio 2008® makes it easy for developers to learn and master. It also enables users to check development compliance with design scenarios and to ensure regression-free modifications with features such as debug/non-debug replay, replay environment concatenation, etc.

In addition, ENOVIA Studio Development Suite provides synchronized graphical and textual editors integrated in Microsoft Visual Studio so developers can interactively design dialog boxes based on the C++ Dialog framework. As a result, developer productivity increases, and the quality of the generated code improves.

Development Studio:

Presentation Designer:

Unit Tests Definition

Application Builder

C++ Source Checker

Development Studio

Full Application Development Process Coverage
Developers are provided with RADE on Microsoft Windows® XP, Windows® Vista and Windows® 7 for building V6 C++ applications. This dashboard offers a single point access to the C++ development tools that support the full development cycle, from design and development through test, deployment and maintenance.
Full Integration with Microsoft Visual Studio 2008®
ENOVIA Studio Development Suite is fully integrated to Microsoft Visual Studio 2008. The complete DS Component Application Architecture (CAA) configuration and build capabilities are added or substituted to the standard equivalent functions found in Microsoft Visual Studio 2008. Options for these capabilities are offered through specific menus added in Microsoft Visual Studio 2008.
Seamless Microsoft Visual Studio 2008® Integration
Developers are provided with component behavior identical to those existing in Microsoft Visual Studio 2008. Developers can take advantage of the standard Microsoft Visual Studio 2008 Intellisense mechanism on CAA workspaces. Code generation wizards are provided in the standard Microsoft Visual Studio 2008 “New …” menu. Object properties are accessible in the standard “Property” view.
Component Workspace Creation Wizard
ENOVIA Studio Development Suite provides automatic generation of the file tree and declaratives set for the framework and modules component. Different types of frameworks and modules can be generated according to the options set in their respective wizards such as education framework, shared library or module.
V6 Component Creation Wizard
Developers can perform automatic code generation for interfaces and their implementations. An interface is the description of an abstract behavior that is not linked to any specific object.
An interface implementation is the concrete implementation of this behavior for a specific object. The wizards generate all the object modeler macros required for both interfaces and interface implementations. Interface implementation skeletons are generated from the interface list imported by the project by means of a dynamic code analysis.
Source Navigator
The source navigator enriches the standard features of Microsoft Visual Studio 2008 by providing back and forth access to code components without having the whole class and derivate objects in the current project.
API Documentation Access
Developers can directly access installed V6 Application Programming Interface (API) reference documentation with a simple mouse click on any text string in the source code. Tool documentation for all of the capabilities added to Microsoft Visual Studio 2008 is provided by pressing the F1 function key.
Commands Creation Wizard
The Command Creation Wizard provides automatic generation of command class skeletons.
Workbench and Command Creation Wizard
The workbench builder application capability provides a simple way to integrate customer applications into V6 user interfaces using menu and toolbar commands.
3DS Object Browser
The 3DS Object Browser shows the list of code interfaces implemented by each type of object loaded in memory during a V6 authoring client session. It also shows all the object types implementing a given public code interface. Both views help a user understand the provided API.
3DS Workspace Explorer
The 3DS Workspace Explorer provides a view of the actual tree structure of the V6 workspace. It reflects the architectural decomposition of the edited application’s frameworks, modules, and data folders.

Unit Test Definition

Supports Test and Quality Control Tasks
ENOVIA® Studio Development Suite facilitates test and quality control tasks critical to the efficient development of quality software. It is perfectly adapted for testing V6 C++ applications. Capabilities include a debug/non-debug option, variable setting for custom operations and generation of results as ASCII text or as structured xml for better integration to company processes.

User Interface Presentation Designer

Abstract Code Authoring Process
Developers are provided with intuitive editors (including interactive graphical designers) for implementing dialog boxes based on the C++ dialog framework, and mostly without using native C++ code. This provides a quick means to validate development conformance at early stages by interactively simulating (executing) the user interface for real layout rendering without compilation.
Based on a Domain Specific Language
Introduces a Domain Specific Language and a new file extension (.DSGen) used for storing the developer’s specifications the developer.
Resource Handling:
The Presentation Designer uses standard resource handling so resources can be exported and used at runtime. The developer can check that the developed dialog boxes will have a valid behavior in any language, using the simulator in the Virtual NLS mode.

Application Builder

Leverage DS Tools
Developers are provided with a consistent and integrated environment in which to compile, link, and build a V6 application, using the same methods and tools that DS uses to create its V6 products.
Multiple Workspace Compilation, Link and Run Time Creation
Native compilers are hidden to simplify a developer’s tasks. ENOVIA Studio Development Suite handles multiple workspace compilation, link and run time creation to provide the most efficient way to manage dependencies between separate workspaces. It detects modifications in source code, and displays and tracks these modifications through the entire build time view, along with other prerequisite workspaces. This provides significant build performance improvement by allowing the user to build only what has been modified.
Access to C, C++ and Java compilers
C, C++, and Java programming languages can be used in program development.
TIE Compiler
TIEs transparently link code interfaces with code implementation interfaces in the V6 architecture. The TIE Compiler is fully integrated through the build process’s automatic code generation to ensure multiple derivations do not exist.
EXPRESS Compiler
An EXPRESS Compiler ensures compatibility with the STEP programming standard.
IDL Compiler
The IDL Compiler offers an easy way to provide the necessary "typelibs" for automation. These "typelibs" can then be used with appropriate scripting to allow the coding interface to be viewed using Microsoft Visual Basic Access (VBA) on Windows. Specific setting of the IDL compiler enables users to select which method will be viewed by Intellisense forward typing when operating within VBA.

C++ Source checker

Automatic check of C++ Coding rules
ENOVIA Studio Development Suite integrates source checking capabilities to improve the quality of customizations. Operating at the source stage in the application development cycle, early checking against C++ coding rules ensures better stability and reduces defects. Debugging time is reduced drastically and the quality of the code is improved. Developers are provided with a number of rules that help reduce memory related bugs, call back mechanism usage, exception handling and C++ programming rules. These sensitive checks ensure better control of application quality and globally decrease the number of bugs related to memory corruption. Another aspect when checking sources is the ability to analyze discrepancies in the usage of C++ null pointers. This rule check ensures better control on the number of core dumps occurring during the execution of the application.
Memory Leak Debugging for Object Modeler
Another set of C++ rules is provided to permit easy and fast detection of memory leaks within the tested code. Since debugging memory leaks can be very time consuming, this automatic detection addresses a major need for both large and small application development projects.
C++ Source Parser
ENOVIA Studio Development Suite ensures that source code is checked against general C++ coding rules as well as V6 architecture specific rules using a parser as an upfront compiler. The parser generates the source code syntax tree and creates the symbol table. Multiple source code and framework checking can be handled across different workspaces, taking into account potential external prerequisite frameworks. C++ code can be parsed from the workspace to be analyzed and a pattern-matching list of frameworks inside this workspace is provided. Developers can also start the parsing providing only a pattern-matching list of source code to be analyzed. Recursive macro expansion is also supported by the parser.
Customizable Reports
ENOVIA Studio Development Suite provides an HTML analysis report which allows a deep analysis from framework to faulty C++ source lines through hyperlinks. Error detection is highlighted at all levels to ensure an easy and reliable analysis of the checked code for fast corrections. Error reporting can be tailored to company needs by filtering out unwanted error types. Reports can be generated in text mode and support integration within the Microsoft Visual Studio output windows.