Glossary of Features


The data dictionary is a repository of information. It integrates the various types of diagram documents, text specifications and code files into a cohesive project. Designers can work in the Dictionary window directly, but more commonly information in dictionary entries is changed when diagram objects are edited.

Entry Structure

Dictionary and requirement entries are grouped into logical chunks. Each class and its member entries form an entry group. Entries in a group can be expanded or collapsed. Likewise, requirement entries can be grouped together and then individual entries shown or hidden by expanding or collapsing the entry group. Entries can also be grouped by namespace, then shown or hidden.

Screen Model

Screen models are used to prototype the screens of a Desktop application, Mobile app or website. Draw a stack of screen linked with buttons and menu commands. Add dynamic behavior with scripting commands. Click the Browse tool to bring the interactive prototype to life.

Process Model

Process models show the flow of information through a system and the processes that transform that data. Individual processes can explode to lower level diagrams or text specifications. Process models are commonly used in structured analysis and design, information systems design and to a lesser extent in some object-oriented design methods. Process models are often referred to as data flow diagrams (DFDs).

Data Model

Data models show the content of data stored within an organization or process. That data is primarily represented as entities, relationships and attributes. Data models, also referred to as entity-relation diagrams (ERDs), are the cornerstone of most database design methods.

Class Model

Class models show the static structure of object classes in an object-oriented program. They illustrate classes with attributes and operations and their aggregation and inheritance relationships using popular notations like UML, OMT, Booch and Shlaer/Mellor.

State Model

State models illustrate the dynamic characterics of objects or systems. They can be represented with graphic diagrams or tables that include states, events and actions. State models are particularly important when modeling real-time systems that are event driven or have different modes of operation.

Structure Model

Structure models, also referred to as structure chart diagrams, show the functions and procedures in a procedural program and the calling relationships between them. Structure charts are typically leveled into multiple diagrams that can represent the most complex systems without unnecessary clutter. Designers can click between diagram levels or to the source code of a specific function or procedure.

Object Model

Object models show how the mechanisms in a object-oriented design work by passing messages or events between communicating objects. A design mechanism is a representative view of message passing between instantiated classes. One popular style of object model is the UML Sequence diagram that shows named objects with vertical lifelines connected by named horizontal messages.

Flow Chart

Flow Charts use named boxes and arrowed lines to show how an algorithm or process works.

PERT Chart

PERT Charts are used by a project manager to organize and schedule project activities.

Timing Diagrams

Timing diagrams show events and time horizontally. Objects with states are drawn along the left edge of the diagram. Each object has state lifelines drawn horizontally across the diagram.

Business Process Models

Business Process Models can be used to define, communicate, optimize and implement any business process.

Task Model

Task models use system and task diagrams to illustrate concurrent interactions in a multitasking system. System diagrams show a high level abstraction of a physical system using processors, devices and interfaces. Task diagrams show the details of functional groups of processing elements and operating system resources.

Use Cases & Traceability

The Requirements window holds an alphabetically list of named requirement statements or use case descriptions. It assists in rigorous requirement specification of a software system and provides traceability to the deliverables involved in the development process. It can be a very useful tool in the development of complex software by improving the productivity of the development and test effort and the quality of the software produced.

Requirements Management

Each requirement entry can be partitioned into a structured collection of fields. The Requirement Matrix presents this information in a spreadsheet-like interface using custom views and queries. The selected view determines which fields of the entry are displayed in each column of the matrix. The selected query displays each entry satisfying the query criteria as one row in the matrix.

Integrated Code Edit

The Code and Browse windows integrate source code with the various models in a development project. Diagram objects link directly to code files. Designers can navigate through graphic models and then instantly view or edit the associated code of a selected diagram object.

Integrated Specifications

The Specification windows integrates text specifications with the various models in a development project. Diagram objects link directly to a specific location within text specification files. Designers can navigate through graphic models and then instantly view or edit the associated specification of a selected diagram object.

Templates and Details Dialog

Text and detail templates are used to customize the tool to gather specific types of information during the modeling process. Multiple text templates can be created and then easily applied to dictionary entries, requirement entries, specification files or code files. By creating a detail template for specific dictionary entry types, custom fields can be added to detail dialogs for selected diagram objects.

Icon Manager

The Icon Manager is used to create a library of icons that can be used in graphic models.

Scaleable, Multi-level Diagrams

Each type of model document can store multiple diagrams. The Contents View shows the diagram titles and a list of its objects and makes it easy to select which diagram is currently displayed. The Diagram Manager allows individual diagrams to be created, deleted, printed and resized. Each diagram can be sized to multiple horizontal and vertical pages. Diagrams can be scaled for viewing, printing or editing.

Verification and Balancing Reports

Verification and balancing reports are available for each type of model. Verification reports reveal errors, inconsistencies or incomplete data. Balancing reports check the flow of information between diagram levels.

Text Import and Export

Each type of graphic model, the data dictionary and the requirements can be listed as a text file or imported from a text file. Other tools can provide or use the information in these text files.

XML Import and Export

XML has become the industry standard for data exchange. All diagram, dictionary and requirement documents can be listed or imported as XML files. The built-in XML parser is exposed through the scriptable HTML report generator to easily access and include any data from your project into a custom HTML report.

Integrated HTML Files

HTML files can be integrated with the various models in a development project. Designers can navigate through graphic models and then instantly view an associated HTML file in their favorite browser for a selected diagram object.

Integrated Test Files

Test files can be integrated with the various models in a development project. Designers can navigate through graphic models and then instantly view an associated Test file in the built-in text editor or in their favorite word processor for a selected diagram object. Test files can also be linked to requirement entries.

Code Generation

Code can be generated from graphic models and dictionary information gathered during the design process. C, Pascal, Basic or Fortran function frames can be produced from graphic structure charts. C++, C#, Objective-C, PHP, REALbasic, Java or Delphi class declarations and method stubs can be produced from class models. Ada package specifications and package body files with stubbed subprograms can be generated from a rich class modeling environment. Data models can generate SQL code for popular RDBMS products including Oracle, SQL Server, DB2, Sybase, Informix and InterBase.

Models from Code

Models can be generated from existing code by using WinTranslator (or MacTranslator) in conjunction with WinA&D (or MacA&D). Generate class models from C++, C#, Objective-C, Java, Delphi, PHP or Ada. Generate structure charts from procedural C, Pascal, Basic, Fortran or PHP. Generate data models from SQL.

UML for Ada

When the Ada language is selected in WinA&D, the UML notation is tailored to modeling, code generation and reengineering for Ada software. Advanced capabilities include defining and using types across packages and automatically creating and maintaining comment blocks in the generated code for packages and subprograms. Together, WinA&D and WinTranslator provide an advanced, round-trip modeling environment for Ada development.

Inheritance Graph

The Inheritance Graph can be automatically generated from dictionary information. It can concisely illustrate the inheritance structure of large projects with hundreds of object classes.

Configurable Tools Menu

Other tools or specific documents can be configured and launched from a menu command. Path icons can be placed in any graphic model to display a document created within another application.

Change Notes

A time-stamped change note that identifies the user is automatically created each time a document is saved. The user can view, clear or add comments to these notes.

Scriptable HTML Reports

An HTML report can be generated from the graphic diagrams, text specifications, requirements and dictionary information gathered during the modeling process. Dozens of standard reports are provided. The scriptable report generator allows complete flexibility and user customization of the report content or format.


Namespaces are a powerful and convenient design feature for separating name scope, mapping model elements to code folders and controlling editing access to code files integrated with the design. In database design projects, namespaces can be used to generate different SQL schemas. Namespaces are an optional design feature that smaller projects can ignore and growing project can later utilize.

Rich Data Model

Data models can be enhanced to include the information needed to fully model and generate SQL schema code for popular RDBMS products. Database designers can quickly create logical and physical data models. Rich data models can represent tables, views, constraints, assertions, triggers, indexes, procedures and other SQL elements. Different presentation options are available to show all attributes, specific attributes, primary and foreign keys, etc. in data model diagrams.


Diagram objects in any graphic model can have text notes associated with them. Text notes are conveniently available for a selected diagram object by clicking the Notes button. If multiple instances of an object appear in one or more documents the same Notes windows is displayed for viewing or editing. Since notes are stored in the dictionary entry for the diagram object, there is no separate document or link to maintain.

Document Templates

The Document Templates feature is a quick and easy way of standardizing default options for each type of document created within an organization. Your favorite defaults are automatically set whenever a new document is created.

Team Documents in Site License

Team Dictionary and Team Requirement documents are available in the Developer edition of MacA&D OS9 and WinA&D. Multiple users on a network can concurrently open and edit team documents.

System Models

Causal Loop Diagrams can model almost any system as variable nodes and causal lines that affect those variables.


A Causal Loop Diagram can be parameterized with data and equations, then simulated over a series of time increments.

Dynamic Charts

Dynamic charts present data from simulation results or generated reports in tables, charts and graphs. The chart consists of configuration data that determines the type and format of the chart and a link to the source data file. A chart updates when its data file changes.

Project Scrapbook

The scrapbook is a community resource that anyone on the project can concurrently view or edit. It contains notes or references to project artifacts created by any application.

Global Search

Fast text and wildcard string searches can be done across thousands of files and folders.

File Exchange

The File Exchange dialog is used to exchange files between MacA&D and WinA&D.