MG-SOFT Visual YANG Designer Professional Edition

Main features and Screen shots

MG-SOFT Visual YANG Designer lets you design, edit and validate YANG modules in a visual manner, without having to master the YANG syntax.

The following is a brief list of the main features in MG-SOFT Visual YANG Designer Professional Edition.

Project-based YANG data modeling
Visual YANG Designer features a project-based YANG authoring approach and an IDE-like user interface with comprehensive project and file management capabilities. The integrated New Project Wizard (screen shot) helps you create a new project in two simple steps - in the first step you provide the project name and its location/path; and in the second step you specify one or more source root directories where the YANG files will be kept and developed. This principle lets you easily include existing YANG modules into a YANG authoring project. Within a project, you can create new YANG modules and submodules as well as edit and revise existing ones (screen shot). The tool lets you have a number of YANG files open for editing at the same time and provides facilities for easily finding and creating cross-references between modules. The project settings, open files and modifications made to YANG files are saved automatically and preserved across application restarts. To write the changes to YANG files, simply use the Save or Save All command.
Designing YANG modules in a visual manner
The software lets you design YANG modules completely in a visual manner, where YANG statements are graphically represented as nodes in a hierarchical tree view. To design a YANG module, simply drag & drop relevant nodes (e.g., "container", "list", "leaf", "leaf-list", etc.) from the Components panel to the desired position in the module's tree structure (screen shot) and set their properties in the Node Properties view in right section of the main window (screen shot). Alternatively, you can build the YANG tree by selecting the desired nodes from the context menu (screen shot). To increase the readability of the YANG tree, two types of nodes with different icons are used; regular nodes representing YANG statements (e.g., "container", "leaf", "leaf-list", etc.) and the property nodes representing substatements (e.g., "type", "status", "config", etc.). The latter may be hidden or shown at any time.
Design and source mode of editing
In addition to the visual design mode of operation, the software features also an advanced source mode, which incorporates a full-blown YANG source code editor that includes syntax coloring and intelligent code completion feature. The source mode of editing boosts productivity for experienced YANG authors who prefer writing YANG code themselves with convenience of the built-in YANG authoring mechanisms, like auto-complete, Find Usages, Go to Definition, Find/Replace, etc. One can switch between the design and source editing mode on a per-file basis and continue editing the given YANG module in the selected mode (screen shot).
Full support for YANG version 1.1 (RFC 7950)
Visual YANG Designer fully supports YANG version 1.1 (RFC 7950), as well as the original YANG version 1.0 (RFC 6020). The software's GUI and the built-in YANG validation engine fully support all YANG 1.1 syntax and semantics, including the new statements ("action", "anydata"), new XPath functions, modified rules for "notifications", changed lexical rules and new submodule scoping rules, to name some of the more important changes in YANG 1.1. The software lets you author YANG modules either by using the initial version of the YANG language or by using the latest and recommended YANG version 1.1 that eliminates ambiguities and defects present in the original version (screen shot). In addition, the software lets you revise existing YANG version 1 modules and submodules and update them to YANG 1.1.
Complete YANG validation (YANG 1.1 and YANG 1)
MG-SOFT Visual YANG Designer incorporates a strict YANG validation engine that thoroughly checks whether all YANG modules and submodules in the project fully comply with the syntax and semantic rules defined in the YANG 1.1 specification (RFC 7950), or in YANG 1.0 specification (RFC 6020), depending on the version of YANG language used in the respective module. The application displays all detected inconsistencies in the "Validation Messages" tab of the Output panel and marks all nodes (statements) that do not comply with the relevant YANG specification with Error or Warning overlay icons, depending on the severity of the detected inconsistency (screen shot). MG-SOFT Visual YANG Designer goes beyond the 'standard' YANG validation offered by other products on the market and performs also complete validation of XPath expression syntax and semantics in YANG "must" and "when" statements (screen shot).

The software validates YANG modules automatically on-the-fly, meaning that it performs validation when you open the project (complete validation) and later whenever you modify any of the (sub)modules in it (incremental validation). Complete validation of all YANG files in the project can be invoked also manually on user's request. By double-clicking an error or warning message, the corresponding node is selected in the YANG tree (design mode) or the corresponding section in YANG code is displayed (source mode), so you can quickly eliminate the reported inconsistency All error and warning messages and their references to the respective section(s) in RFC 7950 or RFC 6020 are described in the bundled User Manual.

YANG validation from command line - Visual YANG Designer Command Line Edition (CMDLN)
The Command Line Edition of MG-SOFT Visual YANG Designer supports validating YANG and YIN modules from command line, e.g., Windows Shell or Linux Bash Shell (screen shot). This edition of the software can be invoked as a console application without GUI and may be used also on systems running the headless version of Java. It produces the same validation results (Error and Warning messages) as YANG Designer GUI; however, it prints results to the console standard output or a file. This enables integration of Visual YANG Designer Command Line Edition into automated testing and validation environments.
Working directly with YANG files
Visual YANG Designer now reads and writes YANG files directly (no export to YANG format is needed anymore). The software lets you organize the directories and YANG files within the project according to your preferences (create, copy, move, rename, delete, etc.) (screen shot). Besides, it constantly monitors the project source directories on disk for external changes (files added, deleted, moved, renamed, etc.) and automatically reflects the changes in the application. The latter, among others, enables a parallel use of file versioning tools like SVN or Git to facilitate collaboration and team work.
Exploring references between YANG statements (Find Usages, Go to Definition, Go to Target)
Visual YANG Designer lets you effectively explore references between YANG statements in all YANG files in the project. This is possible in Design and the Source mode of editing. For example, by selecting a "grouping" node in the YANG tree and choosing the "Find Usages" command (screen shot), one can quickly find all "uses" statements in all YANG files in the project that reference the given "grouping" (screen shot). The software offers such navigation whenever a reference exists (i.e., for "typedef", "grouping", "identity", "feature", and "extension" statements). The reverse functionality is also available, e.g., one can select a "uses" node and choose the "Go to Grouping" command to quickly locate the referenced "grouping" statement (screen shot), etc. Furthermore, the convenient "Go to Target" command lets you quickly jump to the targets of "augment" and "deviation" statements, targets of leafref "path" statements, etc (screen shot). The application also tracks the user editing and navigation history, so one can quickly go back to the last edited or the last browsed location, as required.
Displaying resolved YANG tree
Visual YANG Designer can display the 'resolved' or 'final' YANG tree from the modules in project. In the resolved tree the effects of expanded YANG statements are clearly visible, e.g., you can view the nodes inserted by the "augment" statements and expanded "uses" statements, as well as the modifications made to the YANG tree by the expanded "deviation" and "refine" statements, etc. This is useful because some errors are not apparent in the original statement tree, and become obvious only in the resolved tree presented by Visual YANG Designer (screen shot).
Comprehensive Node Properties view for absolute productivity
The Node Properties view available in the Design mode of operation features the search-as-you-type filter in combo boxes (e.g., type), so you can easily find and select the desired item and optionally edit it. Furthermore, the Node Properties panel contains all properties (substatements) with cardinality of one for the selected node, even if the properties have no set value. The latter properties appear as disabled GUI components (checkboxes, input lines, combo boxes, etc.) in the Node Properties view. One can quickly add or remove a property sub-node (substatement) by clicking or CTRL+clicking the respective property GUI component in the Node Properties view (screen shot).
Context sensitive Components panel
The Components tab contains YANG components/statements that can be added as nodes to the YANG tree with drag&drop technique. The Components tab features the context sensitive filter that automatically narrows down the list of valid nodes (components) that can be added as sub-nodes to the currently selected node in the YANG tree. For example, selecting a "leaf" node in the YANG Tree panel will show only leaf-specific sub-nodes in the Components panel (e.g., "type", "units", "default", "config", "description", etc.), which makes it easier to find and use the suitable node to design the proper module tree structure (screen shot).
Comprehensive "Find in Project" functionality
The software incorporates the Find in Project function that lets you search for a text string in multiple YANG files in the project (screen shot). This function can recursively search through all YANG files in the project or within one or more directory branches or within a group of YANG files. Using regular expression is also supported. Results are displayed in a separate tab (Search Results) in the main window. You can double-click any entry in the Search Results tab to open the relevant YANG file and locate the node (Design mode) or the line of code (Source mode) containing the given text string.
Export to YIN format
Visual YANG Designer produces modules in the native YANG format and lets you export (convert) them to XML-based YIN format (screen shot).
Dark and light theme
In addition to the classic (light theme), the application graphical user interface features also dark theme employing darker color tones. Dark theme offers a modern look and feel and may reduce eyestrain, especially in lower lit environments. One can switch between the dark and classic (light) mode at any time in the program preferences (screen shot 1), (screen shot 2).
Support for HiDPI displays
Visual YANG Designer GUI has been revised to properly support large font sizes in order to make the application text easily readable also on modern high pixel density displays (e.g., 4K/UHD), especially when used with Java 9 or later, which properly supports HiDPI. The latter means that with Java 9+ the application windows, graphics, and texts are scaled automatically according to the system settings, which makes the application perfectly usable also with modern HiDPI displays.
Runs on every Java(TM) enabled platform
MG-SOFT Visual YANG Designer Professional Edition has been designed and developed in Java and as such it runs on every OS that has installed Java runtime environment version 8.0 (a.k.a. JRE 1.8) or later, for example, on Windows, Linux, and macOS operating systems (screen shot).