IAR Information Center for Visual State

Full release notes


Release Notes for IAR Visual State 11.1.2 - long edition

Release date: 2022-04-12

Read about the latest features, new device support, and program corrections in the release notes.

The short release notes covers just this version.

Highlights

Version 11.1.2 2022-04-12

  • Maintenance release
    This release contains corrections and fixes.
  • Update for license handling
    Missing documents added and newest versions added

Version 11.1.1 2022-03-25

  • New user interface
    This release contains a new user interface that unifies editing and all other tools into the same application.
  • Windows and Linux Support
    The product is available for both Microsoft Windows and Linux
  • Updated user documentation

Version 10.1.5 2020-08-28

  • Maintenance release
    This release contains corrections and fixes.
  • Update for the license
    The Designer, Navigator, and Validator now support Retry to retry getting a license if the check fails.
    [VS-2690]

Version 10.1.4 2020-02-06

  • Maintenance release
    This release contains smaller corrections and fixes.
  • Update to Documenter
    The transitions out from initial, shallow history, and deep history states are now listed as part of the region these states are in.
    [VS-2641]
  • Update to Documenter
    The Documenter uses PNG files for images now rather than EMF files.
    [VS-2639]
  • Update to CCoder and HCoder
    The Classic Coder, and the Hierarchic Coder now has an extra option so the chosen variant name can be automatically appended to the chosen output paths.
    [VS-2642]

Version 10.1.3 2020-01-06

  • Maintenance release
    This release contains smaller corrections and fixes. Includes the fixes in release 9.1.7 and 9.2.5.
  • Update to expressions
    Support for being able to pass arrays as pointers to action functions when generating code. e.g. 'Action1(VS_VOIDPTR arg)' can now be called with the address of an array by this expression 'Action1(intArray[0])' in the Designer, if intArray is an array of integers. The generated code will contain 'Action1(intArray)'.

Version 10.1.2 2019-06-07

  • Maintenance release
    This release contain smaller corrections and fixes. Includes the fixes in release 9.1.6 and 9.2.4.
  • Update to Diff
    Support for hiding non-functional differences when comparing by choosing View > Hide Non-functional Changes.

Version 10.1.1 2019-03-14

  • Classic Coder
    Support for generating Java and C# output.
  • Updated user documentation

Version 9.2.4 2019-04-29

  • Maintenance release
    This release contain smaller corrections and fixes - most issues were fixed also in 9.1.6.

Version 9.2.3 2019-03-01

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.2.2 2019-01-14

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.2.1 2018-12-08

  • Updated user documentation
  • Support for requirements
    The Designer now has support for importing requirements from the standard ReqIF format, and the Designer can mark items as fulfilling selectable requirements.
  • Support for enumerators
    The Designer now has support for creating enumerations containing enumerators, and use of the enumerators in the models.
  • Removed the obsolete SCC integration
    The old obsolete Source Code Control integration using the outdated technology has been removed. Instead, use any source code control system you like.

Version 9.1.9 2020-04-06

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.1.8 2020-03-05

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.1.7 2019-06-20

  • Maintenance release
    This release contain smaller corrections and fixes.
  • Update to HCoder
    Support for specifying types to use for the VS_*** types in HCoder options.

Version 9.1.6 2019-04-26

  • Maintenance release
    This release contain smaller corrections and fixes.
  • Update to Coder
    Support for using macros for Visual State constants. If C++ output is selected with Maximum MISRA C/C++ enabled, you can define 'VS_CONSTANTS_AS_MACROS' to your compiler command line when compiling the generated C++ source files to have the Visual State constants as macros.
  • Update to Coder
    Support for bypassing the user of C++ 11 constexpr for C++ output. You can define 'VS_BYPASS_CONSTEXPR' to your compiler command line when compiling the generated C++ source files to bypass the use of C++ 11 constexpr.

Version 9.1.5 2019-03-01

  • Maintenance release
    This release contain smaller corrections and fixes.
  • Update to Coder and HCoder
    Support for a new function VSDeductEx. The function returns SES_FOUND if any action function was called, or if any state changed for the incoming event.
    • Example of use:
    • VSResult cc = VSDeductEx(event);
    • if (cc == SES_FOUND)
    • {
    • /* some state was changed, or some action expression was called*/
    • }
    • else if (cc == SES_OKAY)
    • {
    • /* handled, no error */
    • }
    • else
    • {
    • /* error - do something to report the error and stop */
    • }

Version 9.1.4 2019-01-14

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.1.3 2018-11-29

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.1.2 2018-09-03

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 9.1.1 2018-05-25

  • Diff functionality added
    New functionality that can assist in doing a comparison has been added. This feature helps to show the differences between different editions of Visual State files, by means of showing differences in the design.
  • Updates for better multi user support
    The file format has been changed to be better for diff and merge tools. The changes means that changes to the model are more local now than in previous versions. Many changes in the model now only causes a local change in the files saved on the disk.
  • Support for transition element files
    Transition element files allows you to organize the transition elements in files. Each file may then be included where you need it.
  • Support for images in notes
    A note in the design may now have an image attached as well as text.
  • Reactions are better shown in Edit State dialog box to handle many items in a better way
    Each transition and reaction are now shown with the text in one line and without expanding the tree of items.
  • Support for constraints on internal, entry, and exit reactions
    Internal, entry, and exit reactions can now have a constraint set where they are shown in the Edit State dialog box in the Designer.
  • Support for copying of internal, entry, and exit reactions
    Internal, entry, and exit reactions can now be copied from one state, and pasted into another. Use the local context menu by right clicking on a state.
  • Improved C-SPYLink
    CSPY-Link can now also be used with the HCoder.
  • Updated user documentation

Version 8.2.1 2018-01-25

  • Support for local transitions
    Ability to design models using local transitions which for some models simplify the designs.
  • Support for choice states as default state
    Support for letting a choice state be the target of the default transition to simplify initialization based on e.g. guard conditions that rely on external values.
  • New function added for the Coder
    Ability to get the current state tree for a VS system by the function VSGetCurrentStateTree.
  • Updated user documentation

Version 8.1.1 2017-03-10

  • Support for variants
    Ability to model and build different variants from the same Visual State model to more easily handle different design variations for features depending on things like geographical region, feature differentiation etc.
  • Hierarchical Coder
    Hierarchical Coder (HCoder) added. The Hierarchical Coder can improve the code size and speed efficiency for some models by better utilizing the hierarchical information in the models. The HCoder does not replace the current classic code generator, but is a complement.
  • Improved MISRA C/C++ compliance
    The MISRA C:2012 compliance of the generated code has been improved.
  • 64 bit applications
    The Visual State applications are now 64-bit applications. This will increase the Verificators ability to handle larger models.
  • Updated user documentation

Version 7.5.1 2015-06-11

  • Context sensitive help
    Context sensitive help in the product is available. Press F1 to get information about the window that you are currently in.
  • Improved MISRA C/C++ compliance
    The generated output files from the Coder have been improved.
    • Unsigned constants now correctly use the 'U' suffix.
    • Include guards in the generated files no longer use reserved identifiers.
    • Conditions in if and for statements are Boolean.
    • The ++ operator is not mixed with other operators in expressions.
    • No assignments are performed in subexpressions.
    • Typedef names are not reused.
    • The old style support for getting the signature at runtime using macros can now be replaced with using VSGetSignature.
    • A new option, 'Maximum MISRA compliance', has been added in the project part. If this option is set, a number of things change:
      • The support for the old style use of macros to get the signature will be removed. Use VSGetSignature instead.
      • The macros VS_TRUE and VS_FALSE will not be generated.
      • The symbolic transition element names will be generated as part of the class, if C++ output is selected.
      • The 'VS_VOID' type will not be used. It will simply be 'void'.
      • The SEM Types will be generated as typedefs.
      • The VS Types will be generated as typedefs.
      • If C++ has been selected in addition, some more things change:
        • The SEM Types will be generated as typedefs in the generated C++ class.
        • These functions will no longer be in the generated class: getNofActionExpressions(), getNofActionFunctions(), getNofEventGroups(), getNofExternalVariables(), getNofGuardExpressions(), getNofInternalVariables(), and getNofSignals().
        • static_cast will be used rather than old style C cast.
        • A project class with a header and a source file will always be generated.
        • An enumeration type named VSResult, containing all the SES_*** members, will be placed inside the project header file.
        • All relevant functions will return a VSResult member.
        • The project files can optionally have a namespace specific for the two project files.
        • The number of files for C++ output is reduced to {project name}.cpp and .h, and {system name}.cpp and .h
        • The constants in the visualSTATE models will be generated as 'const' variables rather than macros.
  • Easier to switch between the different Coder APIs
    The Coder can now generate a VSDeduct function.
    • The Coder option 'Enable VSDeduct' has been added on the API Functions page. If you select this option you can call VSDeduct in both table-based and readable code and the former SEM_Deduct/SMP_Deduct function will be renamed, and it will automatically call SEM/SMP_GetOutput and SEM/SMP_NextState(Chg). This option is automatically set for new projects, but not for existing projects.
  • Easier to switch between the different Coder APIs
    The Coder can now generate VSElementName and VSElementExpl functions.
    • On the API Functions page of the Coder Options dialog box, you can now enable VSElementName and VSElementExpl. This lets you call the same (debug) function in both table-based and readable code and the former SEM_NameAbs/SMP_NameAbs will be renamed. These options are automatically set for new projects, but not for existing projects.
  • Easier to switch between the different Coder APIs
    The Coder can now generate VSInitAll function.
    • The Coder option 'Enable VSInitAll' has been added on the API Functions page. If you select this option you can call VSInitAll in both table-based and readable code and the former SEM_InitAll/SMP_InitAll function will be renamed. This option is automatically set for new projects, but not for existing projects.
  • New support for getting the signature
    The Coder can now generate a VSGetSignature function.
    • The Coder option 'Enable VSGetSignature' has been added on the API Functions page. If you select this option, a function {system name}VSGetSignature will be generated for the affected systems. Using this option for any system will remove the former support for getting access to the signature by means of macros. This option is not set automatically for new projects.
  • Reduce compilation time
    The Coder now only generates files on the disk if it detects that the contents need to be changed. Otherwise, the file is not updated. You might need to manually change the Coder option for generating GUID guards by changing -generateguidguards1 to -generateguidguards0, and to change the Coder option for generating time and version in the files from -generatetimeandversion1 to -generatetimeandversion0 in the .vtg file.
  • Updated user documentation
    The visualSTATE User Guide has been updated.

Version 7.4.2 2015-06-04

  • Maintenance release
    This release contain smaller corrections and fixes.

Version 7.4.1 2014-12-17

  • Documentation
    A new user guide for visualSTATE has been created. Each part in the guide covers a specific topic. In each part the information is divided into concepts, tasks, and reference information. The user guide is available as a pdf and the contents are also available from the Help menu of the Navigator.
  • Folder structure of elements
    Transition elements (like actions and events) can now be sorted in folder structures.
  • Corrected else/triggerless transitions
    A memory problem could occur when several states used triggerless transitions. The semantics have been slightly altered to handle the given event before any triggerless transition. The AVSystem example has also been modified to display both an else transition as well as a choice state.
  • Redo/Undo functionality
    The Designer now supports Redo as well as Undo. The most recent event will be displayed when resting the mouse pointer over the Redo or Undo button in the standard toolbar.
  • Improved Altia integration
    Connections to, and edit of events and actions connections, for Altia models are handled via the Validator. Connections can be made to both external connectors from the Altia model, and to animations.

Version 7.3.1 2014-06-12

  • Introduction of choice states and else transitions
    UML choice states and else transitions are now supported.
  • Introduction of triggerless transitions
    A triggerless transition is a transition that does not require a trigger. It was introduced in UML 2.4.1 superstructure. The triggerless transition can be an alternative to signals.
  • Coder/API improvements
    Time stamp and version in Coder output files are now optional. C++ generated output files now support user specified namespaces for systems.
  • Smarter routing for transition lines when drawing
    Option to use smart routing for transition lines when drawing. The drawing tool will automatically try to take an optimal route without crossing other states.
  • Updated user documentation

Version 7.2.1 2013-12-18

  • Updated user documentation
  • New features
    • The validator now allows action function return values to be specified as a sequence of values to be returned on each invocation of the function.
    • The validator can now be driven by event sequence files created off-line using a simple syntax. Files can also specify action function return value sequences and assign values to model variables.
    • A search field is now available in the various Compose dialog boxes to locate elements. This makes the specification of events, states, actions etc, easier.
    • A find command has been added to the context-sensitive menu for transitions. Using this command you can in your design directly locate elements specified on the transition. This makes it easier to see where a variable, sync state, action or similar is used elsewhere in the model.
    • Timer action functions will now automatically be complemented by a stop function that stop the corresponding running timer in the Validator.

Version 7.1.1 2013-03-27

  • Submachine states and sub state machines
    Enables the creation and easy reuse of state machine patterns across a model and between models. Existing design parts can be converted to re-usable state machines and such state machines can then be instantiated where needed.
  • StateChartModel API
    The StateChartModel API is a public packaging of the internal API used for all state chart model manipulations inside the visualSTATE tools. Usage of the API is only limited by imagination; it was created with the intention to enable programmatic off-line manipulation like adding, removing and renaming all kinds of design elements from a design model. The API can for example be used to check naming conventions or other design constraints, custom code generators, special-purpose design tools, conversion of state machine specifications written in other languages, etc.
  • Stereotypes
    Lightweight functionality to create named re-usable state templates for initial size, colors, font sizes, entry and exit actions etc.
  • XMI import and export
    State machine parts of a full UML design can now be imported from XMI. In the same way, a visualSTATE model can be exported to XMI for further processing by other UML tools.
  • ControlCenter
    A utility that enables remote control of a running Validator or a running Designer. Originally developed for integration between visualSTATE and Fujitsu CGI Studio, ControlCenter accepts text-based commands over TCP/IP to open a specific design in the Validator or the Designer, to send events to control a simulation in the Validator etc. Use it for external scripting of a simulation, or to communicate system state from a running target as a complement to C-SPYLink and Reallink. Read more about ControlCenter in the User Guide.
  • Extended C header file import functionality
    The functionality to import constant and action function definitions from a C header file has been extended and simplified.
    • The #pragma directives are not needed anymore and action function declaration signatures does not have to explicitly use the VS_xyz types - the basic C types are recognized.
    • A special syntax allows importing of event and signal names from header files. Specify events using #event name optionally followed by an event argument specification (type name) . Signals can be specified in a similar way using #signal . Both can optionally be follwed by a GUID if you already have allocated one for the element. Since this is non-standard C syntax, the whole block of events and signals should be guarded by an #ifdef directive so that they are never read by the C compiler. The new functionality will enable fast offline creation of large sets of events and signals.
  • Design Verification
    The Compositional mode of formal verification has been renamed to Full Compositional and extended to incorporate major new functionality.
    • The Full Compositional mode is now similar to the traditional Full Forward mode of verification in terms of what it can verify. This means that guard and assignment expressions are now included in the verification .
    • An important difference between the compositional backward verification and the traditional full forward verification is that compositional verification checks one rule at a time. The updated compositional mode now displays the rule that is currently being checked and gives you the choice to interactively skip checking a specific rule if the checking takes too long. A universal timeout in seconds can also be specified.
    The full compositional mode is a complement to full forward mode that has proved to be very efficient on certain types of highly complex models, because the verification algorithm exploits design locality in a way that is not possible in forward mode. Furthermore, information from the verification process can be used to pinpoint especially complex parts of a design, to guide traditional testing efforts or design changes to reduce complexity.
  • Viewer.exe
    A standalone viewer is now part of the product package. You find it in the bin directory. The viewer executable file can be moved elsewhere on your drive or to another computer and is not dependent on installing anything on the computer where it is located. The first time the viewer is started it will ask to become the default viewer for visualSTATE designs.

Version 6.4.1 2011-03-11

  • Information Center
    All information about IAR visualSTATE collected in the easy-to-use Information Center - Including examples, tutorials and user guides.
  • Support for easy diff and merge of design model versions
    It is now easy to create diffs between multiple versions of the same model. The differences are then easy to merge into one or more model versions. IAR visualSTATE now employs an XML-based file format. The new file format overcomes the versioning problems of the legacy file format and enables efficient development in a one-model-several developers setting.
  • New Examples
    New examples, including a CD player model and accompanying implementation files that can play audio CDs on your PC. New examples for different MCU- and target environments.

Version 6.3.1 2009-11-27

  • Coder can extract extended keywords from Action function header file
    It is now possible to include a header file with action function prototypes in the Coder. If there is an extended keyword associated with the function prototypes, either as a keyword or as #pragma type_attribute= , it will be used during code generation. Coder option -keywordheaderfile controls the header file on a per system basis. Refer to the User Guide page 105 for a description about the syntax of this file.

    Example:

    #pragma VS_ACTION_BEGIN

    #pragma type_attribute=__arm
    VS_VOID Action2(VS_INT param1, VS_EVENT_TYPE param2);

    __thumb VS_VOID Timer1(VS_UINT event, VS_UINT ticks);

    #pragma VS_END

    Also added Coder option -wrapperfunctionkeyword that can take an extended keyword that will be used for all generated wrapper functions for guards and action calls.
  • Coder can include user defined contents
    Added Coder option -userfileinclusion which points to a file relative to the project file. The contents of this file is included in all generated source files immediately after the visualSTATE comment header.
  • Coder can use C99 or manual type system
    Added possibility to specify your own type system in the Coder. In addition to the existing VS_-types, C99 based type system can be used as well as full manual control.

Version 6.2.1 2008-12-10

  • Optionally exclude regions
    It is now possible to mark regions and states in a design for exclusion from further processing. In the Designer, any number of regions or states on any hierarchy level can be marked for exclusion. A state or region can be marked for exclusion by right-clicking in the region or state and selecting Exclude . All states and/or regions contained inside an excluded state or regions are also excluded. The following summarizes the behavior:
    • All transitions that have a source state or region that is excluded will be ignored.
    • All transitions that have a target state or region that is excluded will be ignored.
    • All transitions that have a positive state condition depending on an excluded state will be ignored.
    • All transitions that have a negative state condition depending on an excluded state will simply have that negative state condition removed.
    • All transitions that have both main target and main source below the top-level exclusion will be ignored.
    • All other transitions will be handled as if the state or region is not part of the model.
    Note that an explicitly excluded state below another state/region that is marked for exclusion will keep the excluded status even if the state above is once again included.

    The code generator can be configured by a user option to either honor the exclusion marks and not generate code for marked states and regions, or ignore the exclusion marks and include all regions and states in the generated code. Code generation option to control exclusion/inclusion: -include_excluded[0|1] . Default argument 0 to not include regions and states marked for exclusion. Specifying an argument of 1 will include all states and regions in code generation independent of exclusion marks in the design model.

    The Validator can be configured by the user to either honor the exclusion marks and not include marked states and regions in the functional simulation, or ignore the exclusion marks and include all regions and states in the simulation.
    When loading a model with excluded regions, the Validator will put up a dialog to ask whether excluded items should be excluded, or actually included anyway.

    The verificator can be configured by a user option to either honor the exclusion marks and not verify marked states and regions, or ignore the exclusion marks and include all regions and states in verification.
    Option to control exclusion/inclusion of regions for verification: -f . Default behavior is to not include regions and states marked for exclusion. Specifying -f will include all states and regions in code generation independent of exclusion marks in the design model.

  • Verification can now handle all kinds of uses of integegral types
    Models to be verified can make arbitrary use of (arrays of) integral types. All prior restrictions in this area have been removed:

    • Array expressions can now be verified
      Arrays behave like collections of variables, hence care should be taken not to use large arrays inadvertedly.
    • Guard expressions and action expressions now follow the same integral type mixing rules as the C language
      This means that variables of different integral types in expressions can be mixed freely. One effect of this is that variables that previously needed to have a larger type than necessary can now be sized to reflect the actual intended range.
    • Action functions with parameters, that return an integral type, can now be verified
      Integral return values from non-void action functions are treated similarly to how external variables are handled. Is is especially important to note that the verification process must assume that the return value can be any possible value in the return type's range, so keeping the return type size as small as possible is important.
  • Comprehensive optimizations to bring down runtime and memory requirements in expression verification
    This feature includes that expressions are evaluated by considering only the maximum number of bits required to determine the value and error state of each subexpression. This can have a huge positive impact on both memory consumption and runtime of verification.
  • New options to control use of range and domain information
    There is now a set of options to control how range and domain information for integral expressions are handled.

    • Control variable ranges in assignments
      This option makes the Verificator assign a default value whenever it determines that an assignment violates the type of the variable or the value range specified explicitly by the user in Designer. Depending on the model, using this option might speed up verification.
    • Domain errors
      This option turns on checks on various kinds of expression evaluation errors. These checks comprise division by zero, array subscript out-of-range, overflow, underflow, assigned value out-of-range, and shift errors.
    • Set 16 as size in bits of types VS_(U)INT
      This option controls the bit size for implicitly sized int variables and expressions in verification. The default is to use a VS_(U)INT size of 32 bits. Use this option if your target compiler treats int as a 16-bit entity. Note that explicitly sized types like VS_(U)INT16 already have the correct bit size.
    Note that for an internal variable it is possible to explicitly specify a value range that differs from the type range. This user supplied range can then be checked by by the verification process by specifying the options above.
  • Much more succinct dead ends reporting
    The greedy reporting of both local and state dead ends led to overly long lists of states, making it difficult to pin down where any detected dead end actually occurred. In 6.2.1 every dead end is reported only within specific, possibly generic contexts, making pinning them down easy.
  • Events with arguments can now be members of event groups
    The value of such an event parameter cannot be accessed on a transition triggering on the event group of which the event is a member.
  • Importing from external header files
    Constants can now be updated when importing from external files.
  • MISRA C:2004 updates
    The generated code in both the readable code format and the table-based format has been brought more in line with the MISRA C:2004 guidelines and the guidelines published by MIRA on MISRA C:2004 in the context of automatic code generation. These changes have most impact on the readable code format.
    Please note that in some circumstances the generation of non-conforming code fragments is under user control, depending either on specific model constructs or specific options settings.
  • Option to split Readable Code output
    Readable code generation can now split the VSDeduct() function in smaller helper functions using a new option in a new system level option tab for Readable Code. This is useful if the generated deduct function is too large, or makes the C compiler optimizer too slow.
  • Option to omit contradiction tests
    Specifies whether to omit all contradiction tests for the generated transition logic. This option should be used with care and can be most safely used for a system that has been tested or verified to not contain any contradictions. It will save execution time and reduce code size for the readable code format.
    The gain for table-based code generation is small.
  • Option to control type of VS_BOOL
    You can now control the type for VS_BOOL using the -vsbooltype option. The default type for existing projects is unsigned char (as it was before), but new projects will get int as default, unless you change it. This was done to make it easier to be more MISRA C compliant and to allow for different types, as small targets usually prefer a small type, while a 32-bit RISC tends to produce better code using plain int s and reduce the number of conversions between different sized types.
  • Multiple Basic API and C-SPYLink
    Using multiple visualSTATE projects with C-SPYLink enabled in IAR Embedded Workbench build integration caused linker errors due to some duplicated functions. To solve this, an option "Suppress C-SPYLink common files" has been added to the Coder under the Configuration tab. Use this to suppress output of common C-SPYLink files for all but one of your visualSTATE projects.
  • Check for product updates
    There is now a Check for Product Updates... menu item on the Help menu in the Navigator.

Important information

Version 9.2.1 2018-12-08

  • File format
    This release saves files in a new file format. The file format has minor additions so a file saved with this version cannot be opened in previous versions.
  • StateMachine API updated
    The StateMachine API has been updated to support new functions, and a few bug fixes. You should use the version shipped with this release, if you need to load files from this release. See changes for the StateMachine API .
  • Supported Operating Systems
    This release is supported on Windows 7, Windows 8, Windows 8.1, and Windows 10. It may also work with older or newer Operating Systems.

Version 9.1.1 2018-05-25

  • File format
    This release saves files in a new file format. The file format has minor additions so a file saved with this version cannot be opened in previous versions.
  • Supported Operating Systems
    This release is supported on Windows 7, Windows 8, Windows 8.1, and Windows 10. It may also work with older or newer Operating Systems.

Version 8.2.1 2018-01-25

  • File format
    This release saves files in a new file format. The file format has minor additions so a file saved with this version cannot be opened in previous versions.
  • Supported Operating Systems
    This release is supported on Windows 7, Windows 8, Windows 8.1, and Windows 10. It may also work with older or newer Operating Systems.

Version 8.1.1 2017-03-10

  • Network licenses
    For network licenses, this version of IAR Visual State requires IAR License Server Tools version 2.15.4 or later, for more information see technical note TN21842 . The latest IAR License Server Tools are backwards compatible with IAR Visual State versions 7.2 and up.
  • Coder changes that break backward compatibility
    • The functions SEM_Deduct and SMP_Deduct are no longer generated. Use the new VSDeduct function instead.
    • The functions SEM_GetOutput and SMP_GetOutput should not be called from user code. Use the new VSDeduct function instead.
    • The functions SEM_NextState(Chg) and SMP_NextState(Chg) should not be called from user code. Use the new VSDeduct function instead.
    • The macro SEM_Action is no longer generated. Use the new VSDeduct function instead.
    • The macros SMP_TableAction and SMP_Action are no longer generated. Use the new VSDeduct function instead.
    • The Coder now always generate two files for the project and two files pr system.
    • A number of options that were used for specifying file names have been removed:
      • 'Action expression header file' (-A).
      • 'External variable source file' (-extvarc).
      • 'External variable header file' (-extvarh).
      • 'Action function header file' (-F).
      • 'Constants header file' (-G).
      • 'Event header file' (-geventh).
      • 'External variable source file' (-gextvarc).
      • 'External variable header file' (-gextvarh).
      • 'System data source file' (-K).
      • 'System data header file' (-L).
      • 'Constamt header file' (-M).
    • 'Generate guid guards' (-generateguidguards) option has been removed.
    • 'Action expression name' (-N) option has been removed.
    • 'System struct name' (-struct) option has been removed.
  • Support for action force states removed
    • The support for action force states on the action side of transitions have been removed.
    • All models that have action force states will have the action force states removed when the models are loaded.
    • The load code will modify the model in memory, so the model gets special comments inserted.
    • These comments will be added to transitions that had force states. One comment for each force state action.
    • The Designer will display the messages that have been added to the models when the model is loaded.
    • The models should be changed so each action force state is replaced with a transition that goes from some source state to one of the previous action force states as the destination state.
    • All applications will display messages when models containing action force states are loaded to aid you in remembering to change the models.
    • Because the action function force states are removed, the models behave differently at run-time so it is important that you change the models.
    • When you have replaced an action force state with an ordinary transition, you should delete the comment in the Designer on the transition to avoid that the message is still displayed.

Version 7.5.1 2015-06-11

  • Deprecated functionality in the Coder
    • Some functions and macros have been marked as deprecated. Support for these will be removed in a later version, but they are still available in this version. They are:
    • The functions SEM_Deduct and SMP_Deduct are deprecated. Use the new VSDeduct function instead.
    • The functions SEM_GetOutput and SMP_GetOutput are deprecated. Use the new VSDeduct function instead.
    • The functions SEM_NextState(Chg) and SMP_NextState(Chg) are deprecated. Use the new VSDeduct function instead.
    • The macros VS_TRUE and VS_FALSE are deprecated. The APIs do not use these macros anymore. If you need the values, you can add them as Constants in your design.
    • The function {system name}SEM_Name is deprecated. Use the new VSElementName function instead.
    • The function {system name}SEM_Expl is deprecated. Use the new VSElementExpl function instead.
    • The function SMP_Name is deprecated. Use the new function {system name}VSElementName instead.
    • The function SMP_Expl is deprecated. Use the new function {system name}VSElementExpl instead.
    • Getting texts for action functions by means of the functions VSElementName and VSElementExpl is deprecated.
    • The generated macro VS_NOF_ACTION_FUNCTIONS is deprecated.
    • Using VS_VOID in user written code has been marked as deprecated. Use 'void' instead.
    • Using SEM_InitAll is deprecated. Use the new VSInitAll function instead.
    • Using SMP_InitAll is deprecated. Use the new VSInitAll function instead.
    • Using SEM_InitInternalVariables is deprecated. Use the new VSInitAll function instead.
    • Using SEM_InitExternalVariables is deprecated. Use the new VSInitAll function instead.
    • Using SEM_InitInstances is deprecated. Use the new VSInitAll function instead.
    • Using SEM_InitSignalQueue is deprecated. Use the new VSInitAll function instead.
    • A number of options that generate special files are deprecated. These files will at some point no longer be generated separately:
      • 'Event header file' (-geventh) is deprecated.
      • 'External variable header file' (-gextvarh) is deprecated.
      • 'External variable source file' (-gextvarc) is deprecated.
      • 'Constants header file' (-G) is deprecated.
      • 'System header file' (-H) is deprecated.
      • 'System source file' (-S) is deprecated.
      • 'System data header file' (-L) is deprecated.
      • 'System data source file' (-K) is deprecated.
      • 'Action expression header file' (-A) is deprecated.
      • 'Action function header file' (-F) is deprecated.
      • 'External variable header file' (-extvarh) is deprecated.
      • 'External variable source file' (-extvarc) is deprecated.
      • 'Constamt header file' (-M) is deprecated.
  • Coder changes that break backward compatibility
    • The Uniform API is now generated by the Coder. Change the files in your compiler project.
    • For the Uniform API, new Coder options have been added as the way to control which Uniform API functions that should be in the project.
    • The SMP_GET_INPUT_ALL and SMP_NEXT_STATE_CHG macros have no effect and should not be used anymore when compiling Uniform API files.

Version 7.4.1 2014-12-17

  • API breaking changes
    StateChartModel API has been renamed to StateMachine API. If you use the StateMachine API, the code that accesses the API needs to be changed. All functions, structs, and enumerations use different names. You can use a compability setting, but you will still need to compile the code that accesses the API to use the new version of the API. More information can be found in the visualSTATE StateMachine API guide.
  • Coder breaking changes
    • The Coder option Enable SEM_GetOutputAll has been removed.
    • The SEM_GetOutputAll and SMP_GetOutputAll functions are no longer supported because they can be unsafe to call in some cases. Instead of calling these functions you should call SEM_GetOutput repeatedly as shown in the documentation.
    • The SEM-compatible functions are no longer supported in the Uniform API. You should use the SMP functions even if you only have one system when generating code for the Uniform API.
    • For the Uniform API, the macro SEM_NEXT_STATE_CHG should be replaced with SMP_NEXT_STATE_CHG on the command line to your compiler to enable the SMP_NextStateChg function.
    • For the Uniform API, the macro SEM_GET_INPUT_ALL should be replaced with SMP_GET_INPUT_ALL on the command line to your compiler to enable the SMP_GetInputAll function.
    • For the Uniform API, the return code SES_FILE_ERR has been renamed to SES_FORMAT_ERR, and SES_NOT_LOADED has been renamed to SES_NULL_PTR.
    • For the Uniform API, the Coder no longer generates the macro SEM_DEDUCT_WITH_VA_LIST to be 0 or 1.
    • For the Uniform API, the macro SEM_DEDUCT_FUNC is no longer generated to be 0 or 1 by the Coder.
    • For the Uniform API, the deduct function is now always System SMP_Deduct.
    • For the Uniform API, the macro VS_GDEF is no longer defined and then undefined in the global definitions file.
    • For the Uniform API, the macro SystemName _SE_RESET is no longer defined in the global definitions file.
  • Windows requirements
    Windows Vista or later is required.
  • Name changes
    • Topstate is now called Top level state machine .
    • Sub state machine is now called state machine template .
    • Basic and Expert API are now called Adaptive and Uniform API, respectively.

Version 7.3.3 2014-12-11

  • The integration to Altia has been changed
    • You now set up the connections to Altia in the Validator.
    • Load the relevant project in the Validator.
    • Choose Altia->Connect Model in the Validator and select the Altia model to connect to.
    • The Validator will write a status in the Validator Output window, on the Altia tab
    • Now you can edit the event and action connections by choosing Altia->Connect Elements inside the Validator.
    • There are two tabs: Event connections, and Action connections, referring to what they are related to in the Validator.
    • The way to work with the connections here is similar to how you work in e.g. the Compose Transition window in the Designer. I.e. there is a toolbar to the left over the list of connections. With the tools on the toolbar you can add new connections and animations, delete connections and animations, move connections and animations up and down.
    • New connections will get default contents. (You probably want to edit the default contents.)
    • On a connection, you can edit some of the various parts by clicking to edit in the list. This is how you set up most of the names in the connections. The events and action functions are displayed to the right in another list, and there you can choose to use them in the selected connection to the left, by double clicking on them to the right, or press Enter on the selected to the right. For this to work, the root of a connection must be selected to the left.
    • In order to know what Altia name to use in a connection you must find the name from the Altia model. You can make connections to both external connectors from the Altia model, and to animations.
    • A selection of various connection possibilities can be seen by opening up the CDPlayer example that is shipped with visualSTATE. Load it in the Validator, connect to Altia, and then choose Edit Connections in the Validator.

Version 7.2.1 2013-12-18

  • New license management system
    IAR visualSTATE now uses a new license management system. For new licenses you should read the Quick Reference on how to activate your license. For updates from earlier versions you should read the download information for visualSTATE 7.2.1 provided on My Pages.
  • Coder changes
    • The Coder option 'Generate for Expert DLL' has been removed.
    • The expertr9.dll is no longer shipped with the release.
  • Documentation
    The documentation is updated to include all new features from previous versions.

Version 7.1.1 2013-03-27

  • Documentation of new features
    The new features in version 7.1 are only documented in Infocenter. Look under User Guides .
  • New file format
    The file format is updated to support submachine states and sub state machines. Conversion is done automatically when the project is opened. Models files are not backwards compatible.

Version 6.4.1 2011-03-11

  • Design models are now stored in an XML-based format
    Conversion to the new file format is automatically done when a project is opened. There is also the ProjectConverter.exe tool available in the bin directory for manual conversion of projects or as part of a scripted conversion of several projects. Run ProjectConverter.exe to get usage information.
  • Do Reactions are no longer supported
    Support for Do reactions have been removed. Do reactions in existing models are converted to semantically equivalent off-page regions in the state containing the do reactions.
  • New license registration procedure
    The product installation wizard now launches a web registration page where you can complete the registration step to receive your electronic license. Most of the web page fields will be automatically filled in with information gathered during installation. If you want to perform the installation at a later stage you can follow the guidelines in the document Installation Note Electronic License found in the documentation directory or use the Register command on the Navigator Help menu.

Version 6.2.1 2008-12-10

  • Events with arguments can now be members of event groups
    The value of such an event parameter cannot be accessed on a transition triggering on the event group of which the event is a member.
  • Embedded Workbench build integration
    If you take advantage of the build integration by adding .vsp files to your projects (IAR Embedded Workbench with an IDE version of 5.1 or higher is needed), remember to delete the previously generated files from the Embedded Workbench project as they will now be part of the output from the .vsp file.
  • Embedded Workbench build integration require IDE version 5.x
    In case you are using an IAR Embedded Workbench with IDE version of 4.x, the C-SPYLink debugger integration will work, but build integration is not supported.

Version 6.1.1 2008-01-31

  • For human-readable code, the API has changed slightly
    The prefix for API functions has been changed to SystemName VS FunctionName from SystemName SEM_ Functioname . Furthermore, the functions SEM_Deduct(), SEM_GetOutput(), SEM_Action() and SEM_NextState() have been merged into one function, SystemName VSDeduct() with the same parameter list as SEM_Deduct() .
    The set of visualSTATE-generated include files is also changed: Typically, the only file you need to include is the SystemName SEMLibB.h .
    For an example of the differences between the table-based code generation and the human-readable code generation, see the LPC213xKickStart project located in the Examples/SampleBoards folder of your visualSTATE installation. This example has a preprocessor symbol READABLE that determines if the application code uses the table API or the readable code API. Please note that to actually run this example on hardware you need a LPC213x KickStart board from IAR Systems and a copy of IAR Embedded Workbench for ARM version 5.11 or higher.
  • IAR Embedded Workbench build engine
    The IAR Embedded Workbench build engine can show strange build behaviors in certain situations when visualSTATE project files ( *.vsp ) are used in IAR Embedded Workbench.
    The cause of these problems are that the Embedded Workbench build engine gets the knowledge about which files are generated (dependency information) from the Coder as a side effect when it runs the Coder. This dependency information is cached in a file in the project directory. If the dependency information for a visualSTATE project is different compared to the previous build, build errors can occur. Doing a new build will solve it. The situations when this happens are:
    • When first adding a visualSTATE project.
    • After doing a Project>Clean (but not Project>Rebuild All), as this causes dependency information to be deleted.
    • If Coder options are changed in a way so that there will be different output files. Examples are changing generated file names or enabling C-SPYLink (which adds new output files).
    Normal editing of source files and visualSTATE models or changing options will not cause problems as described above.

Version 5.4.0 2007-02-01

  • Breaking changes to Basic API with impact on C++ code generation
    • When generating code for the Basic API with C++ output enabled, the Coder will now generate all action functions as pure virtual members of the system classes.
      You will need to subclass the visualSTATE system classes and implement the pure virtual methods in subclasses.
      If the project contains any shared action functions, a project base class will be generated too. You will need to subclass the project class and implement the pure virtual methods in a subclass to the project class. The system classes will automatically try to get a pointer to the project class and for each system class the shared action functions will have a default implementation that calls <project name> *Get<project name> and then calls the methods by means of that pointer to the project.
      If you generate C++ output from the Coder you will need to make the appropriate changes to your source files.
    • EVENT_TYPE , STATE_TYPE and ACTION_TYPE are part of the generated C++ class as enumerations now.
      If you generate C++ output from the Coder you will need to make the appropriate changes to your source files.
    • The macros STATE_UNDEFINED, EVENT_UNDEFINED, EVENT_GROUP_UNDEFINED, EVENT_TERMINATION_ID, and ACTION_EXPRESSION_TERMINATION_ID are no longer macros in C++ output. They are now static const members of the system classes.
      The names have also been changed to: StateUndefined, EventUndefined, EventGroupUndefined, EventTerminationId, and ActionExpressionRerminationId .
      If you generate C++ output from the Coder you will need to make the appropriate changes to your source files.
  • Some changes that might break existing code have been made to the Basic API code generation
    • The Coder-generated macro VS_SIGNAL_QUEUE_SIZE is no longer available in a header file.
    • The Coder-generated macros STATE_SEM_*** are no longer available in a header file.
      As stated in the explanation next to them in older files, they were private to the API.
    • The obsoleoftente INPUTTYPE, STATETYPE , and OUTPUTTYPE are no longer available for users in a header file.
      Use EVENT_TYPE, STATE_TYPE , and ACTION_TYPE instead.
    • The Coder option noactionfpt is no longer supported. The title in Coder options was 'Skips generation of action expression collection'.
    • SEM_USE_GUARD_TYPE_CAST can no longer be set as compiler preprocessor #define in order to insert a type cast in all guard expression functions to avoid warnings from the compiler and remove violations of MISRA rule number 83.
      Instead a new Coder option can control this.
      Use the option Use guard type cast under Coder options on the system level. The default is to insert a type cast to match the function return type and the guard expression type.
      The guard expression is always an integer with the value 0 or 1 since it is a comparison or logical expression, but the function return type might be a smaller type. Since the guard expression has a range known by the compiler to be 0..1, the implicit cast from integer to a smaller integral type is always safe. So if your compiler inserts superfluous code for the explicitly inserted cast, you can safely disable the option.
    • The SEM_FN_ACTION_HEADER and SEM_IN_ACTION macros are no longer defined in SEMBDef.h files.
      If you relied on these macros you will have to update your code.

Version 5.3.1 2006-10-02

  • Coder breaking changes
    • A change has been made to the Basic API and Expert API code generation. The Coder will now only generate gext.c and gext.h shown in Figure 5 on page 95 in the API Guide if there are any project shared external variables.
    • When generating code for Basic these files will also be generated now in order to fix d-1309 as mentioned below. This is a breaking change if you have any project shared external variables in your Basic model. In that case you will need to include those two files in your compiler project.

Version 5.3.0 2006-06-01

  • Multi-byte character support
    visualSTATE now accepts multi-byte character sequences for explanations and aliases. Which multi-byte code page that is actually in use is determined by the operating system's user settings.

    • In order to get multi-byte characters to display properly you first need to set up your OS to handle the proper language and input script settings. This is done in Regional and Language Options in the Control Panel .
      You also have to configure visualSTATE to use fonts that can display the current multi-byte code page as defined by the operating system. This can be done in Tools>Customize... , then select Font in the tree. In the Font dialog you may need to change the Script setting to the proper locale in order to display characters properly.
      Note: The font that is used for a certain element on the screen is determined by which font index you have assigned to that class of elements in the Customize dialog. Different font indexes can be assigned to different model elements. States can have a different index than Notes, for example.

    • Moving a design between operating systems running different multi-byte code pages will result in wrong characters being displayed.
    The Documenter can now fully handle multi-byte characters, thus enabling the use of non-ASCII characters. The interpretation of which multi-byte character code page is in use depends on your OS.
  • Documenter unicode output
    Generated HTML output now uses UTF-8. This was made to allow for meaningful output when a model contains multi-byte characters. Generated RTF files now contain unicode character codes if needed.
  • Other Documenter changes
    The generated documents now display alias names from the model.
  • Coder breaking changes
    • A major change has been made to the Basic API. The Coder now generates all Basic API files for the model.
      This means that you should no longer include files from the installed API folder for Basic API projects. Previous Coder options are converted automatically to match the new set of options for the Coder. New options are available to set a prefix before the SEMLib name for the generated files, which means that the Basic API can cater for multiple systems in the same project, without using the Expert API.
    • The C++ code generation is much more C++ like now. Most 'C' type macros are parts of the generated C++ class when appropriate.

Upgrade information

Version 6.2.1 2008-12-10

  • Excluded regions in earlier versions
    Note that the design information about any regions or states marked for exclusion will be lost if the model is saved in an earlier version of visualSTATE. See the 'New features' section below.

Version 5.4.0 2007-02-01

  • Improvements in the Coder
    The Coder has a new boolean option 'useautovariables'. When this option is selected some variables that used to be in the SEMDATA structure are moved into the SEM functions as auto variables. The benefits of this is increased speed and lower memory use. The drawback is a small increase in the stack use.
    The option will be default set when code generating with the new Coder.
    The option can be unselected on the 'Code' tab for each system in Coder options in the Navigator.

Version 5.3.0 2006-06-01

  • Breaking changes in the new Coder
    Some options are no longer supported. Those options will automatically be removed when the options are read from the visualSTATE options file (the .vtg file). When the options are saved after making a change in the Navigator the new settings will be stored in the .vtg file.
    If you call the Coder.exe from the command line to generate code you will need to consider this list and make changes to the command lines yourself.
    Options that are no longer supported:
    • '-lower[{0|1}]'. Generated lowercase action function names.
      This option is now ignored. Action function names will be generated with the same case as they are defined with in the visualSTATE model.
    • '-api_version3'. This could be used to generate API like in version 3.
      Will be changed to version 4 now.
    • '-style argument '. This could be used to decide the naming style for SEM functions.
      The naming style will always be 'new' now. This means that SEM functions will be called e.g. SEM_GetOutput rather than sem_get_output.
    • The file 'VSTypes.h' is no longer generated and it is never needed anymore. The contents is now inside SEMTypes.h.
      This should not cause any problems as you should not have included VSTypes.h directly.
  • How to migrate to the auto-generation of API-files
    The API files are generated for each visualSTATE system in the folder you have specified in the visualSTATE Coder options.
    If you use the visualSTATE Basic API you will need to make some small modifications to your compiler project in some cases.
    If you include the API files directly from the installed API folder you will need to change that.
    If you have copied any API files to your compiler project location and placed the files in a different folder than the generated SEM files you will need to change that.
    The API files should instead be included or copied to your compiler project from the coder output directory.

Known problems

Documentation
  • C-SPYLink Start/Stop Graphical Animation is not documented for the HCoder.
    [VS-2597]

Documenter
  • Alias names are not used for states that are imported from another Topstate (but declared in the current one).
    [VS-484, d-1249]

HCoder
  • C-SPYLink Start/Stop Graphical Animation is not documented for the HCoder.
    [VS-2597]

  • HCoder may cause the Navigator to crash if state synchronizations are used to states inside another top-level statemachine.
    [VS-2735]

Verificator
  • The Verificator is sometimes too restrictive when it reports read and assigned variables in the same step. Legal read and assignment sequences to the same variable in one micro-step are sometimes reported as an error.
    [VS-473, d-1222]

  • An undesired warning about an unactivated transition from a history state to its default state might be issued if the transition cannot be used. This occurs when there is always a known state before the history is used, for example if it is activated at reset.
    [VS-541, d-1412]

Program corrections

Version 11.1.2 2022-04-12

    License
    • The installer for Windows now contains the correct files for handling a node-locked license.
      [VS-2771]

Version 11.1.1 2022-03-25

    C-SPY plug-in
    • All systems are now shown for selection of *Graphical Animation* when running with multiple systems in the project for HCoder generated code.
      [VS-2749]

    • C-SPY Link now supports reading the current states from generated HCoder output with multiple systems.
      [VS-2750]

    • C-SPYLink now shows data for all systems in multi-system projects, and not just for the first system.
      [VS-2751]

    HCoder
    • The HCoder now generates compilable code in all cases when the {{DeductEx}} function is enabled.
      [VS-2728]

    StateMachineAPI
    • When using the StateMachine API to get the features for a variant, the order of the features is now stable for each run.
      [VS-2711]

Version 10.1.5 2020-08-28

    Coder
    • To generate code that can be compiled, integer value literals 0 and 1 in Boolean assignments or comparisons in Java and C# are replaced during code generation with the true and false literals.
      [VS-2656]

    Designer
    • Enumerator values can now be edited.
      [VS-2692]

    HCoder
    • The HCoder option *Completion transition optimization* now works correctly also when set to *Optimize for size*. The generated code now numbers the completion transitions in a continuous range that precedes any trigger-less transition.
      [VS-2686]

    License
    • The License Guide can now be opened from within the License Manager.
      [VS-2695]

Version 10.1.4 2020-02-06

    Navigator
    • The IAR Visual State Compare Tool now includes Requirements tied to an object when comparing two files.
      [VS-2640]

Version 10.1.3 2020-01-06

    Designer
    • The formal argument type for ticks for a timer action is now shown as being the same as the type loaded from the file.
      [VS-2589]

    • The context menu command *Convert to submachine state* now works also when there are transitions involved that rely on transition elements from element files.
      [VS-2632]

    HCoder
    • Completion codes for the HCoder have been corrected in code examples in the Visual State User Guide, on pages 476 and 488.
      [VS-2595]

    Validator
    • The Validator now records external variable assignments in sequence files.
      [VS-2629]

Version 10.1.2 2019-06-07

    Coder
    • If events used {{void*}} (the Visual State data type {{VS_VOIDPTR}}) parameters, the generated C# code became invalid. To solve this, variable argument lists are now handled differently for the function {{VSDeduct}}. Instead of taking a {{string[]}} argument where the parameters of different types were stored as strings, the function now takes a {{params object[]}} argument. Note that this is a *breaking change* of the API.
      [VS-2559]

    • If events used {{void*}} (the Visual State data type {{VS_VOIDPTR}}) parameters, the generated Java code became invalid. To solve this, variable argument lists are now handled differently for the function {{VSDeduct}}. Instead of taking a {{string[]}} argument where the parameters of different types were stored as strings, the function now takes an {{Object...}} argument. Note that this is a *breaking change* of the API.
      [VS-2560]

Version 10.1.1 2019-03-14

    Coder
    • Error messages for trigger-less transitions between connector states are now correctly reporting actual errors.
      [VS-2554]

    Designer
    • The Designer no longer reports that external state synchronizations are missing, when they are not missing.
      [VS-2551]

    • Error messages for trigger-less transitions between connector states are now correctly reporting actual errors.
      [VS-2554]

    HCoder
    • An issue with validation errors in the HCoder has been solved. The issue involved models with junction states in template machines, and signals or variables being declared only in the template.
      [VS-2552]

    Validator
    • Error messages for trigger-less transitions between connector states are now correctly reporting actual errors.
      [VS-2554]

    Verificator
    • Error messages for trigger-less transitions between connector states are now correctly reporting actual errors.
      [VS-2554]

Version 9.2.1 2018-12-08

    Documentation
    • Page 674 in the User Guide UVS-11 has been updated to show the correct image.
      [VS-2469]

    RealLink
    • RealLink now always works after running Setup without needing to restart the PC.
      [VS-569]

    Validator
    • RealLink now always works after running Setup without needing to restart the PC.
      [VS-569]

Version 9.1.9 2020-04-06

    HCoder
    • The EnterState and LeaveState methods are now pure virtual methods for C++ output, in those cases where this is possible.
      [VS-2657]

Version 9.1.8 2020-03-05

    HCoder
    • The HCoder option *State name inclusion* now works correctly. In addition to explanations, it also generates the state names and API functions for retrieving them.
      [VS-2587]

Version 9.1.7 2019-06-20

    HCoder
    • The HCoder no longer generates multiple identical declarations in the header files when a model contains multiple declarations of the same action function. Now only one declaration is output.
      [VS-2571]

Version 9.1.6 2019-04-26

    Coder
    • The use of C++11 constexpr can now be bypassed by defining 'VS_BYPASS_CONSTEXPR' when the generated source files are compiled.
      [VS-2562]

    • An error in how automatic entry and exit functions are handled in code generation has been corrected.
      [VS-2563]

Version 9.1.5 2019-03-01

    Coder
    • The Coder no longer generates function prototypes using the {{extern}} keyword.
      [VS-2543]

    • No spurious error is automatically generated for a state A with a single child state B if state A is below a deep history state.
      [VS-2547]

    • Generating code for large models is much faster now.
      [VS-2548]

    Designer
    • The Designer now loads large models with many files much faster.
      [VS-2541]

    HCoder
    • The Hierarchical Coder now generates correct code for constants of {{VS_FLOAT}} and {{VS_DOUBLE}} types.
      [VS-2545]

    State chart model
    • No spurious error is automatically generated for a state A with a single child state B if state A is below a deep history state.
      [VS-2547]

    • When a submachine state is loaded in the Designer, any variants and features associated with it are now also loaded.
      [VS-2549]

    Validator
    • No spurious error is automatically generated for a state A with a single child state B if state A is below a deep history state.
      [VS-2547]

Version 9.1.4 2019-01-14

    Coder
    • The Coder now generates correct code for the function {{VSGetCurrentStateTree}}.
      [VS-2512]

    Designer
    • The new positions of variants that are moved up or down in the Edit Variants dialog box are now saved when the dialog box is closed.
      [VS-2502]

    • The consistency checker in the Designer now analyzes projects correctly, that use state machine templates with bindings together with variants.
      [VS-2504]

    • Sending the command 'createProjectAndStateMachine' to the Visual State Control Center no longer leads to an error message in the Designer.
      [VS-2505]

    • When saving, the Designer no longer changes the guid (Global Unique Identifier) for transition elements that have the same name.
      [VS-2519]

Version 9.1.3 2018-11-29

    Coder
    • An issue where the HCoder caused code to be generated with duplicate typedefs of VS_UINT32_VAARG and VS_INT32_VAARG has been solved.
      [VS-2470]

    • The HCoder can now generate code for models with internal reactions in a top-level state machine.
      [VS-2481]

    Designer
    • A problem with the IAR Visual State Designer has been solved, where a model could not be loaded if a text-only note had been added or resized.
      [VS-2464]

    • Route points and transition texts are now positioned correctly for all top-level state machine regions when models created with previous versions of Visual State are opened in this product version.
      [VS-2468]

    • The Project Browser now updates correctly when an element file is deleted.
      [VS-2478]

    • A sequence of Edit, Undo, Redo, Undo commands that does not result in any changes now correctly leaves the files marked as not being changed.
      [VS-2480]

    • An issue with empty guid values in transition element files, that caused incorrect results in the IAR Visual State Compare Tool, has been corrected.
      [VS-2487]

    HCoder
    • The command line option --l now works correctly in both Coders.
      [VS-2483]

    Navigator
    • An issue that caused the IAR Visual State Compare Tool to become unstable if the the Control Center was closed has been corrected.
      [VS-2485]

    State chart model
    • An element file that contains definitions of transition elements can now be included in more than one model file in the same system without causing a "Multiple definitions" error.
      [VS-2475]

    • The StateMachine API now supports reusing an existing element file by means of the function VSMElementFileAddExisting.
      [VS-2477]

    Validator
    • The RealLink plugins are now listed in the Validator *RealLink Properties* dialog box.
      [VS-2476]

Version 9.1.2 2018-09-03

    C-SPY plug-in
    • A Visual State C-SPY Link plugin compatible with IAR Embedded Workbench for Arm 8.3 is now part of the installation.
      [VS-2457]

    Coder
    • It is now possible to compile code generated by the Classic Coder for the generated VSGetCurrentStateTree API function for readable output.
      [VS-2454]

    Documenter
    • The Documentation option *File inclusion criteria* is now used correctly when the Documenter creates a Project report.
      [VS-2431]

    Navigator
    • A compare tool issue with incorrectly reporting difference of matching expressions has been solved.
      [VS-2459]

    • An issue with the IAR Visual State Compare Tool has been solved. The issue concerned missing information about changes in added or deleted container objects, like states, regions, or element files.
      [VS-2460]

    Verificator
    • The Verificator now handles transitions with negative synchronizations, that contain assignments or guards, correctly
      [VS-2444]

Version 9.1.1 2018-05-25

    Coder
    • The Coder now produces correct code also when Visual State data types have been specified manually.
      [VS-2429]

    Documentation
    • The IAR Visual State User Guide has been updated to describe the options {{-autoentryfunction}} and {{-autoexitfunction}} also for the Classic Coder.
      [VS-2404]

Version 8.2.2 2018-05-31

    Designer
    • Printing margins are now calculated to be valid. Any models that have too wide printing margins will be corrected when they load.
      [VS-2415]

    • Applications now correctly store registry information under the entry 'IAR Systems/IAR Visual State 8.2'.
      [VS-2416]

    Navigator
    • Applications now correctly store registry information under the entry 'IAR Systems/IAR Visual State 8.2'.
      [VS-2416]

    Validator
    • Applications now correctly store registry information under the entry 'IAR Systems/IAR Visual State 8.2'.
      [VS-2416]

    Verificator
    • The Verificator option -y now works correctly on all models.
      [VS-2417]

Version 8.2.1 2018-01-25

    Coder
    • An issue with the Hierarchical Coder that could cause a crash when generating code for projects with multiple systems has been resolved.
      [VS-2365]

    • The Coder no longer generates an incorrect forward declaration of the project class for C++ output when a project namespace is used.
      [VS-2374]

    • The generated code can now be compiled also when a project namespace has been set to produce C++ output.
      [VS-2375]

    • An issue with parsing expressions that start with '(' and end with ')', when these are not a pair, has been solved.
      [VS-2386]

    • An issue in the Classic Coder with adding automatic entry or exit functions has been solved. These can now be added separately without causing problems when the generated code is compiled.
      [VS-2399]

    Designer
    • It is now possible to search in the Designer for transition elements that start with an underscore (_).
      [VS-2364]

    Installation
    • An issue where the IAR Embedded Workbench plugin file was not correctly installed has been corrected.
      [VS-2385]

    Navigator
    • The Navigator now remembers which Coder you last used between sessions.
      [VS-2376]

    Validator
    • The Validator can now load breakpoints stored in the workspace.
      [VS-2378]

Version 8.1.2 2017-10-06

    Coder
    • The Hierarchical Coder now generates code correctly for submachine states that use an entry point.
      [VS-2334]

    • A problem with a missing declaration of functionResult in VSDeduct (HCoder) has been corrected.
      [VS-2335]

    • The Coder no longer generates invalid C++ static_cast statements.
      [VS-2341]

    • The release notes have been improved to make it clearer that the number of generated files from the Coder has been changed.
      [VS-2347]

    • Now Coder-generated files compile when RealLink and Maximum MISRA Coder options have both been enabled.
      [VS-2356]

    Designer
    • The Designer can now Undo adding a new transition without entering an endless loop of messages.
      [VS-2309]

    • It is now possible to select trigger-less on a transition out of a connector state.
      [VS-2328]

    • Exporting to XMI from the Designer now supports choice states.
      [VS-2340]

    • It is now possible to use an internal variable as an argument to an actual action function in the Designer.
      [VS-2342]

    • Transitions out from join states can now be marked as trigger-less.
      [VS-2344]

    • Connection point reference states are now moved properly around the submachine state when using the arrow keys.
      [VS-2346]

    Validator
    • RealLink works now.
      [VS-2308]

    • The Validator now handles variants correctly also when there are transition elements that are organized in folders.
      [VS-2323]

Version 7.5.2 2017-02-24

    Anonymizer
    • The Anonymizer now manages triggerless transitions and else transitions correctly.
      [VS-2134]

    Coder
    • C++ code for constants, generated with maximum MISRA compliance, is generated correctly now.
      [VS-2135]

    • The Coder now generates code much faster for certain models that previously took a very long time to generate code for.
      [VS-2280]

    Designer
    • The Designer no longer crashes when trying to convert a state to a submachine state.
      [VS-2183]

    • Invalid characters are no longer accepted when you edit text directly in a state machine diagram.
      [VS-2233]

    Navigator
    • The Project Converter converts declared variables correctly with initialization values.
      [VS-2239]

    Verificator
    • The Verificator can now handle action function calls in a guard in combination with an else transition from a choice or junction state.
      [VS-2272]

Version 7.4.2 2015-06-04

    C-SPY plug-in
    • C-SPYLink can now handle recording a sequence, closing the C-SPY Debugger, and opening it again.
      [VS-2279]

    Coder
    • Event group members are now correctly found within the same system.
      [VS-2078]

    • Coder-generated code now uses the correct C99 types when the Type styles Coder option has been set to C99.
      [VS-2117]

    Designer
    • The size of the regions inside a state are now adjusted correctly when a state is resized using the Same Size tool on the Size toolbar.
      [VS-2077]

    • The Project Browser window is now refreshed correctly when you have swapped regions in a diagram.
      [VS-2115]

    • The Compose Transition window now remembers its size and position when reopened.
      [VS-2118]

    Installation
    • If you have two installations of visualSTATE on a PC and remove one of them, the remaining installation now correctly interacts with RealLink.
      [VS-402, d-779]

    • Uninstalling visualSTATE now completely uninstalls all installed files from the target drive.
      [VS-1816]

    Navigator
    • Custom commands are now displayed with correct names in the Workspace Browser window.
      [VS-2051]

    • When a new workspace is created in the Navigator, the correct filename extension is added automatically to the filename.
      [VS-2052]

    State chart model
    • Event group members are now correctly found within the same system.
      [VS-2078]

    Validator
    • The Validator now treats VS_UINT and VS_UINT32 correctly in assignments.
      [VS-2055]

Version 7.4.1 2014-12-17

    Coder
    • The Coder can now generate code also when a model has many outgoing transitions from a choice state.
      [VS-1922]

    Designer
    • When a transition is changed into an Else transition, the conditions are no longer shown in the diagram afterwards.
      [VS-1973]

Version 7.3.3 2014-12-11

    Coder
    • Static instances can now be used with C++ output without causing a compilation error for the Coder-generated output files.
      [VS-1978]

    • The Coder now handles action function calls on else transitions correctly.
      [VS-2002]

    • Generating code for a state machine that uses trigger-less transitions, with the Split readable code option (-splitreadable1) set, no longer causes compilation errors.
      [VS-2023]

    • The Coder no longer generates code that causes a compilation error for the unknown symbol VS_UINT32_VAARG if the Coder option Types style (-typesstyle) is set to something else than visualSTATE (-typesstyle0).
      [VS-2025]

    • The Coder now successfully adds members of an event group that is defined in a state machine template to the group.
      [VS-2026]

    • Bindings that are no longer needed no longer prevent code generation in the Coder.
      [VS-2035]

    Designer
    • Bindings to a state are now deleted when the state is deleted.
      [VS-2032]

    • Deleting an external state using the Compose Transition dialog box now deletes the external state properly.
      [VS-2033]

    • Deleting an external state using the Compose Transition dialog box now deletes the related bindings as well.
      [VS-2034]

    State chart model
    • The Validator no longer crashes if you open the Events window with a multi-system project loaded.
      [VS-2016]

    • The Coder now successfully adds members of an event group that is defined in a state machine template to the group.
      [VS-2026]

    Validator
    • The Validator no longer crashes if you open the Events window with a multi-system project loaded.
      [VS-2016]

    • Bindings that are no longer needed no longer prevent code generation in the Coder.
      [VS-2035]

Version 7.3.2 2014-08-22

    C-SPY plug-in
    • Models that contain choice states can now be used with C-SPYLink.
      [VS-1895]

    Designer
    • Bindings in the submachine states that use a state machine are now deleted when you delete an element in a state machine template file.
      [VS-1806]

    • A topstate that refers to a state machine file now keeps the connection to the state machine after it is added to a system.
      [VS-1870]

    • The Designer no longer enters an endless loop when pasting in a diagram.
      [VS-1904]

    • The Designer can now edit arguments to action function calls.
      [VS-1905]

    • Adding existing files to a project no longer causes the Designer to crash.
      [VS-1906]

    • The action side of an else transition is now saved in the Designer.
      [VS-1943]

    Validator
    • Choice states are now shown with a choice state image.
      [VS-1897]

    • The Validator can now connect to Altia for all models.
      [VS-1903]

Version 7.3.1 2014-06-12

    Coder
    • If the model had more than 255 events and used event groups, a corrupt table could result when generating C++ code.
      [VS-1865]

    Designer
    • The tool to make regions the same size no longer crashes when used on a simple state.
      [VS-1834]

    • Transitions on the clipboard are now correctly pasted in diagrams.
      [VS-1877]

    • Transitions are now correctly copied also when they are below an off-page region.
      [VS-1878]

    • Performing an Undo command after adding a new system now deletes the new system both from the diagram and from the Project Browser window.
      [VS-1881]

Version 7.2.2 2014-04-10

    Control center
    • Floating point values can now be sent through the Control Center. They must be sent in using a decimal point (period character) as the decimal separator.
      [VS-1812]

    Designer
    • When cloning a state, the cloned state now ends at the indicated position.
      [VS-1800]

    • The required syntax for importing events and signals into the Designer from a header file has been changed to make it syntactically legal for a compiler. You should now use '#pragma event' and '#pragma signal' instead of '#event' and '#signal'.
      [VS-1807]

    • Regions inserted above or below a topstate region now behave correctly.
      [VS-1817]

Version 7.2.1 2013-12-18

    Anonymizer
    • The Anonymizer can now anonymize projects that contain empty Entry and Exit reactions.
      [VS-1684]

    Coder
    • Checking for conflicts in transitions is now performed correctly when generating readable code.
      [VS-1642]

    • Classes that the Coder generates for systems, with C++ code output, now have virtual destructors.
      [VS-1660]

    • The Coder no longer crashes when generating code for an empty system.
      [VS-1661]

    • The VSForceState function now works in cases where readable code originating from the Coder contains instances.
      [VS-1722]

    • The VSInquiry function now works in cases where readable code originating from the Coder contains instances.
      [VS-1723]

    • The VSStateAll function now works in cases where readable code originating from the Coder contains instances.
      [VS-1724]

    Designer
    • The corresponding file is now marked as changed when a new element is created in the Element Browser window.
      [VS-1633]

    • The Designer now correctly handles moving a connector state to another region.
      [VS-1640]

    • The Undo command now correctly restores all transitions to their original positions, when performed after changing a region to be OffPage.
      [VS-1641]

    • The Designer now handles adding a negative synchronization state to an internal reaction correctly.
      [VS-1643]

    • When you exit the Designer, added or changed stereotypes will always be saved as expected.
      [VS-1645]

    • The most recently active stereotype is now restored when the Designer is restarted.
      [VS-1646]

    • Changes to simple and composite state settings are now saved correctly between sessions.
      [VS-1656]

    • The Designer now shows the correct number of counted states for systems with more than one topstate.
      [VS-1664]

    • If an object is cloned and the current diagram region is set as the parent of the clone, the Designer no longer crashes.
      [VS-1669]

    • The Designer now keeps track of whether the stereotype file has been saved after changes to it.
      [VS-1702]

    Navigator
    • The Navigator now saves changes to options settings automatically when the dialog box is closed. If you are running the code generator outside the Navigator, you no longer have save all files manually.
      [VS-1200]

    RealLink
    • RealLink low-level transmission data can now be logged to a file.
      [VS-466, d-1191]

    State chart model
    • Binding action functions in nested state machines now works as expected.
      [VS-1631]

    Validator
    • RealLink low-level transmission data can now be logged to a file.
      [VS-466, d-1191]

    • Large unsigned values could result in an error message such as 'Failed to perform integral conversion for '2980566593'' or 'Domain error'.
      [VS-1740]

Version 7.1.2 2013-06-15

    Designer
    • You can now change focus to the first element in the Element Browser after you have switched to another system.
      [VS-430, d-1052]

    • The Designer now supports cloning vertexes.
      [VS-1375]

    • The Designer no longer allows circular references for state machines.
      [VS-1506]

    • Signals to be sent can now be deleted correctly from entry reactions.
      [VS-1514]

    • The Designer now displays the Print Preview correctly without crashing.
      [VS-1516]

    • The Designer now handles swapping two regions in a state correctly.
      [VS-1520]

    • Assignments can now be deleted from state reactions.
      [VS-1521]

    • A hint text <Expl> is now inserted by default when you start editing an empty region explanation. This improves visual feedback on what is going on.
      [VS-1526]

    • The Compose Submachine State window now correctly allows editing state reactions.
      [VS-1531]

    • Transition text areas are now displayed only for transitions that can have a trigger, conditions, or action parts.
      [VS-1540]

    • The transition line for a selected transition now stays highlighted while the transition text is selected.
      [VS-1541]

    • The grid is now displayed correctly also after scrolling.
      [VS-1542]

    • Route points now snap to the grid when they are moved.
      [VS-1543]

    • Transitions shown in diagrams are now updated to show the new signal name when a signal is renamed.
      [VS-1545]

    • The Designer now saves a new transition correctly when the source and the destination state are the same for a new transition.
      [VS-1547]

    • The Designer now shows parameters for declared events in the Parameters list of the Element Browser.
      [VS-1552]

    • visualSTATE projects now support loading all printer-specific paper formats.
      [VS-1563]

    • Copying the name of a state using the keyboard shortcut Ctrl+C now works correctly in the visualSTATE Designer.
      [VS-1564]

    • The visualSTATE Designer can now bind states for a submachine state to states in state machines that are bound to sibling submachine states.
      [VS-1565]

    Documenter
    • Region explanation texts are now correctly included in visualSTATE Project reports from the Documenter.
      [VS-1525]

    Navigator
    • All fields in the Navigator Properties windows can now be reached using the keyboard keys.
      [VS-401, d-508]

    • If a project contains read-only files, the Navigator now handles saving the project correctly.
      [VS-408, d-810]

    • Clicking on sidebar shortcuts in the Open File dialog box in the Navigator now works correctly.
      [VS-1509]

    • visualSTATE projects now support loading all printer-specific paper formats.
      [VS-1563]

    State chart model
    • The Coder, the Validator, and the Verificator now correctly handle models that contain entry and exit reactions in state machines that are used more than once in a system.
      [VS-1549]

    • The visualSTATE Designer can now bind states for a submachine state to states in state machines that are bound to sibling submachine states.
      [VS-1565]

    • Event parameters used as action function arguments are now handled correctly when binding events.
      [VS-1632]

    Validator
    • Dynamic analysis now updates the transition activation frequency correctly.
      [VS-1511]

    • The Validator no longer crashes if you load a project that does not contain a system.
      [VS-1568]

    Verificator
    • The Coder, the Validator, and the Verificator now correctly handle models that contain entry and exit reactions in state machines that are used more than once in a system.
      [VS-1549]

Version 7.1.1 2013-03-27

    Coder
    • To avoid that the C-SPY plug-in incorrectly thinks that the code contains C-SPYLink instrumentation code, C-SPYLink-specific files are now deleted (if present) when you compile with C-SPYLink disabled.
      [VS-1199]

    • The Coder can now handle all legal action function arguments.
      [VS-1436]

    Designer
    • If you launched the Designer from the visualSTATE Navigator and closed the Navigator while a note was being edited, the Designer would also close and any changes made to the note were lost. Now the Designer cannot be closed by the Navigator when it displays a dialog box.
      [VS-334]

    • The Project Browser now shows states correctly when a simple state is being dropped onto another simple state.
      [VS-1437]

    Navigator
    • When you save a workspace (or an options settings file) in the Navigator and one or more files is read-only, this problem is now reported and the Save operation is cancelled. You must either change the read-only condition or save the workspace or file under a different name, using Save As.
      [VS-438, d-1083]

    State chart model
    • The Coder can now handle all legal action function arguments.
      [VS-1436]

    Validator
    • The visualSTATE Validator now correctly saves a new workspace with no project added to it.
      [VS-1432]

    Verificator
    • The number of local dead ends is no longer reported as lower than it actually is when the system is running in compositional mode and one of the runtime initial states emits signals on Entry, and the signals are used for leaving the initial state.
      [VS-414, d-830]

    • Large constant hexadecimal values are no longer treated as signed integers in expressions.
      [VS-456, d-1145]

    • A problem that caused the verification to fail with a nonsense message: ' Requesting type of nonexisting ' has been corrected.
      [VS-476, d-1231]

    • An internal error no longer occurs in the Verificator if an expression contains a floating-point value with an 'f' suffix.
      [VS-543, d-1441]

    • The Verificator no longer incorrectly reports the source and target state of loops as dead ends.
      [VS-584]

    • The Verificator now supports assignment operators of the form OP= in action expressions, where OP can be one of +, -, *, /, %, <<, >>, &, |, and ^. These assignment operators are allowed to appear in action expressions that conform to the pattern VAR OP= EXPR at their outermost level. Such expressions are always treated as VAR = VAR OP EXPR.
      [VS-927]

    • This issue has been resolved as a side effect of removing 'Basic' from the displayed range of verification options.
      [VS-1301]

Version 6.4.4 2013-03-15

    Coder
    • The visualSTATE Coder now generates correct target types for VS_INT8, VS_UINT8, VS_INT16, VS_UINT16, VS_INT32, and VS_UINT32 types for compilers that conform to the C89 standard.
      [VS-1325]

    • A problem that caused a visualSTATE Coder rule data format error when generating readable code for large models has been corrected.
      [VS-1327]

    • Corrected a problem with using C99 types together with void* type. If the generated code also double-buffered such a variable, the generated output caused a compilation error.
      [VS-1380]

    • The visualSTATE Coder now correctly issues a message specifying the connector state that needs a buddy when it finds a connector state without a buddy.
      [VS-1383]

    Validator
    • The Validator no longer crashes when it sends the SE_RESET event to specific models.
      [VS-1351]

    Verificator
    • The Verificator does not necessarily report an error any longer when different slots of an array are assigned to the one and the same transition. Now the Verificator looks at the array subscripts during the static analysis phase, before exploring the state space of the model. If the analysis determines the subscripts to be different, the Verificator accepts the assignments; if the subscripts are different, the Verificator issues an error message flagging the assignments.
      [VS-1300]

Version 6.4.3 2012-01-05

    Navigator
    • First selecting and then deselecting an option in the Navigator Projects>Options dialog box no longer causes a crash.
      [VS-1252]

Version 6.4.2 2011-12-16

    Anonymizer
    • Regions are now given new names when the Anonymizer is run.
      [VS-1203]

    Coder
    • An error causing too many entry reactions on transitions with force states going to history states, has been corrected.
      [VS-378]

    • The Coder no longer reports an error if the Rule data format option on the Coder Options Code page is not set to Optimized when you generate readable code.
      [VS-1169]

    Designer
    • When a region is set to be off-page, inserted connector states are no longer placed outside the off-page diagram.
      [VS-396]

    • Previously, the Designer sometimes changed the sources and targets of transitions to and from junction states when copying transitions to and from junction states. This has been corrected.
      [VS-1147]

    • The Designer now remembers the positions of the dockable windows between sessions.
      [VS-1150]

    • A problem that meant that the Designer might crash when reloading a model has been corrected.
      [VS-1162]

    • The Designer no longer crashes if a model contains references to external states that have been renamed manually.
      [VS-1163]

    • The Find command in the Designer will now find final states.
      [VS-1164]

    • Immediately after a model was loaded in the Designer, previously it might look as if there were some undoable actions. This has been corrected.
      [VS-1172]

    • The display of transitions in the Designer can now be set up correctly.
      [VS-1181]

    • The Designer now saves interval backup files with the 'vst' extension.
      [VS-1204]

    • Working in the Navigator or the Designer with a project that consists of many .vsr files on an encrypted or compressed drive or folder could cause a high CPU load. This has been corrected.
      [VS-1207]

    File converter
    • Members of event groups are now properly converted to the new file format.
      [VS-1149]

    • The Coder, Validator, and Verificator no longer report an error for every declared variable in a project after converting the project from version 6.3.
      [VS-1154]

    • Notes that are converted from an older format are now properly converted in all cases.
      [VS-1170]

    • Converting a project that uses event arguments for action function calls now works correctly.
      [VS-1222]

    Installation
    • If you are using a software license (not a hardware dongle lock), uninstalling visualSTATE will no longer erase the licensing information, causing remaining installations to stop working.
      [VS-449]

    Navigator
    • Typing \\ in the Location field in the New Project wizard no longer causes the Navigator to crash.
      [VS-1139]

    • The Navigator option 'Open most recent Workspace at start up' now works as expected.
      [VS-1146]

    • The Navigator no longer crashes when the Designer has to save a great number of files.
      [VS-1205]

    • Working in the Navigator or the Designer with a project that consists of many .vsr files on an encrypted or compressed drive or folder could cause a high CPU load. This has been corrected.
      [VS-1207]

    RealLink
    • The name of the window that opens when you click Add in the RealLink Properties window is no longer incorrect.
      [VS-1231]

    Validator
    • An error causing too many entry reactions on transitions with force states going to history states, has been corrected.
      [VS-378]

    • The Validator crashed when loading a sequence file that contained an unknown signal name. This has been corrected.
      [VS-1151]

    • If the Validator fails to assign a value to a variable, the name of the variable is now displayed in the error message.
      [VS-1153]

    • The Validator now remembers the positions of the dockable windows between sessions.
      [VS-1160]

    • Breakpoints saved in a workspace file with a previous version of visualSTATE are now loaded.
      [VS-1184]

    • The Validator no longer crashes when trying to load an old workspace with a project that is not in the new file format.
      [VS-1186]

    • All sequence files saved with earlier versions are now correctly loaded in the Validator.
      [VS-1187]

    • The Validator now saves the correct signal for the signal queue as part of steps in sequence files.
      [VS-1198]

    • The name of the window that opens when you click Add in the RealLink Properties window is no longer incorrect.
      [VS-1231]

    • RealLink no longer fails for models that contain internal variables.
      [VS-1250]

Version 6.4.1 2011-03-11

    Coder
    • Previously, generated code behaved incorrectly if SEM_Init() was not called before any other API function.
      If you did not call SEM_Init() , almost all other calls to SEM functions returned SES_CONTRADICTION , but there was no information from the API on this situation.
      This has been corrected.
      [VS-514, d-1335]

    • A problem that might cause transitions with forced states to have missing exit and entry reactions has been corrected.
      [VS-1129]

    Designer
    • The visualSTATE Designer now warns you if you load a model that is already open in another Designer.
      [VS-965]

    EW build plug-in
    • A problem that caused the IAR Embedded Workbench build integration to fail for IAR Embedded Workbench for Renesas SH Microcomputer Family, version 2.10,. has been corrected.
      [VS-946]

    • A problem that caused the IAR Embedded Workbench build integration to fail for IAR Embedded Workbench for STMicroelectronics' STM8 Microcontroller Family, version 1.10, has been corrected.
      [VS-947]

    File converter
    • The command line application ConvertF1ToF2.exe no longer crashes when invoked.
      [VS-972]

    Installation
    • The FLEXnet End User Guide was missing from the installation. It has been added now.
      [VS-966]

    Navigator
    • Creating a new workspace in the Validator is now correctly reported in the Navigator.
      [VS-993]

    • A problem that corrupted output from any custom commands you added to workspaces in the visualSTATE Navigator has been corrected.
      [VS-997]

    • When you perform a Trace from a result in the Verificator result window, a problem that caused the Validator to open the created trace file automatically has been corrected.
      [VS-1082]

    Validator
    • Creating a new workspace in the Validator is now correctly reported in the Navigator.
      [VS-993]

    • The setting of an external variable while recording a sequence file is now saved in the sequence file.
      [VS-1024]

    Verificator
    • The Verificator now correctly reports all unreachable transitions when you use the 'drop-if-full' semantics for the signal queue.
      [VS-533, d-1388]

Version 6.3.2 2010-10-29

    Coder
    • Previously, if a system contained only one state in a topstate, internal reactions were incorrectly removed by the optimization process when generating readable code. This no longer occurs.
      [VS-917]

    • Previously, generated readable code for a system with no states did not compile. This has been corrected.
      [VS-919]

    • Readable code for reading internal variables was sometimes generated incorrectly when the number of instances was greater than one. This has been corrected.
      [VS-933]

    • When internal variables are being read during the splitting of readable code, the current instance number is now used.
      [VS-935]

    • If you are generating human-readable code using the 'Split readable code' option (-splitreadable), event group transitions are now considered only once also when the following event is not event group related.
      [VS-981]

    • Using C99 types together with RealLink, produced code that did not compile. This has been corrected.
      [VS-1009]

    • The Coder now correctly reports the problem when it cannot create a file, instead of reporting 'Unknown exception'.
      [VS-1022]

    • Generated guard expressions now correctly use the instance as index in the generated internal variables.
      [VS-1027]

    • A problem that caused the Navigator to crash when running the Coder for some models has been corrected.
      [VS-1055]

    Designer
    • Expressions in a topstate or system can no longer contain project variables that have not been declared.
      [VS-477, d-1234]

    • A problem making printing from the Print Preview window to fail has been corrected.
      [VS-546, d-1450]

    • A problem that caused the Paste command to fail, if a positive synchronization state was involved, has been corrected.
      [VS-798]

    • When a Note is edited on the screen, more than 1024 characters can now be added.
      [VS-921]

    Validator
    • Previously, Timer messages sometimes showed the wrong instance numbers.
      Now, if you simulate a model with more than one instance in the Validator, the Validator correctly shows which instance that an event from a timer action is sent to.
      [VS-463, d-1177]

    • If you load a workspace that contains an open sequence file window, the Validator will no longer crash when you close it again.
      [VS-891]

    • A problem caused the Validator to crash occasionally when it was closed while a Sequence File window was open. This problem has been corrected.
      [VS-980]

    • Static analysis should now report correct results when you search for variables.
      [VS-1023]

    • A problem where external states could not be found after some regions were excluded has been corrected.
      [VS-1028]

    Verificator
    • Postincrementing an array in an expression no longer causes an internal error in the Verificator.
      [VS-746]

    • The Verificator no longer incorrectly reports an 'Internal error' when an assignment expression contains a '+=' operator.
      [VS-937]

    • In some cases, when ambiguous assignments were reported, incorrect multiple assignments to variables could be reported. This no longer occurs.
      [VS-976]

    • A problem could cause the Verificator to exit with catching an SEH exception when trying to find a trace. This problem has been corrected.
      [VS-979]

Version 6.3.1 2009-11-27

    C-SPY plug-in
    • C-SPYLink no longer crashes if you terminate a sequence recording on a target with the resolution set to not capture states.
      [VS-833]

    • Recording a sequence without states in C-SPYLink no longer adds an empty state vector folder to the sequence.
      [VS-834]

    Coder
    • Action prototypes now go to the 'Action function header file', if it is specified.
      [VS-851]

    Designer
    • Changes to the order of Do reactions can now be undone with Undo.
      [VS-100, d-1449]

    • The correct number of states is now available when you select positive synchronization states for a transition.
      [VS-417, d-847]

    • Editing a state name using Ctrl+V works correctly now.
      [VS-421, d-933]

    • The Element Browser window is always brought to the front now when you double-click on an element in the search result (Find) window.
      [VS-426, d-967]

    • The + (plus) and - (minus) characters can now be used in the Compose Note dialog box.
      [VS-443, d-1106]

    • After you drag a transition destination/source loose and connect it to another point, the screen now updates without a refresh being needed.
      [VS-453, d-1143]

    • After you add a file to a system using the Add Files command, the Project Browser is now updated immediately.
      [VS-458, d-1157]

    • When you double-click on an item in the search result (Find) window, the correct result is displayed now even if the item name is used in more than one place.
      [VS-459, d-1158]

    • Empty lines entered in the Compose Note dialog box are now displayed correctly in the diagram note.
      [VS-535, d-1391]

    • If you change the order of arguments to events and actions, windows will now refresh automatically to reflect this change.
      [VS-636]

    • Breakpoints set while debugging using graphical animation are now placed in the correct system.
      [VS-656, d-1363]

    • The first line of text in a Note can no longer be obscured by the folded corner of the Note.
      [VS-657, d-1390]

    • Inserting a region to the left in a statechart diagram and then choosing Undo no longer disrupts route points on the transitions in the other sibling regions.
      [VS-673]

    • If you create an orthogonal transition and try to let it consist of a single line, the arrowhead now points in the correct direction.
      [VS-692, d-1002]

    • If the position of a state is changed using the Property window, the statechart diagram now refreshes automatically.
      [VS-693]

    • The Designer no longer crashes after you change a state name and then reload the model.
      [VS-731]

    • It is now possible to save a project to a network location that uses a UNC path.
      [VS-819]

    Documenter
    • Test sequence files are now included in the generated documentation without any messages that complain about the file format.
      [VS-321]

    • Multi-line explanations are now displayed correctly on multiple lines in the visualSTATE Documenter.
      [VS-404, d-786]

    • You can now run the Documenter on a model that contains an action function call with 0 used as the actual argument for the formal argument type VS_VOIDPTR. Previously, a problem made this impossible.
      [VS-806]

    • The Documenter no longer crashes if you include a sequence file containing steps that set variables manually.
      [VS-841]

    • Previously, the Documenter would not find files in subdirectories that were candidates for auto-inclusion, even if the option 'Auto inclusion searches in subdirectories' was selected. This problem has been corrected.
      [VS-894]

    Navigator
    • The Default button in the Verificator Options dialog box now works as intended.
      [VS-646]

    Validator
    • The Validator can now automatically reload an open test sequence file that is located in a directory different from the project file. Previously, this didn't work.
      [VS-598]

    • Breakpoints set while debugging using graphical animation are now placed in the correct system.
      [VS-656, d-1363]

    • The Validator no longer crashes when you click on a newly added breakpoint in Breakpoints window.
      [VS-680]

Version 6.2.4 2009-09-18

    C-SPY plug-in
    • Periodic capture can now be selected also for code that is not generated for live capture.
      [VS-697]

    • A problem that caused C-SPYLink to fail to give debug feedback has been corrected.
      [VS-773]

    Coder
    • C-SPYLink sampling buffers are now properly initialized when you use multiple instances.
      [VS-660]

    • The macro VS_NOF_EVENTGROUPS can no longer be used without having been defined.
      [VS-668]

    • In readable code generation with C-SPYLink instrumentation code, the generated code for using sampling buffers was incorrect if the model contained signals. This has been corrected.
      [VS-671]

    • You can now exclude any topstate from the design without causing the Coder, the Validator, or the Verificator to fail.
      [VS-747]

    • A problem that caused C-SPYLink to fail to give debug feedback has been corrected.
      [VS-773]

    Designer
    • No settings are incorrectly reset now when you upgrade to a newer version of visualSTATE.
      [VS-444, d-1110]

    • Converting visualSTATE version 4 projects no longer results in randomly excluded states and regions in the converted project.
      [VS-676]

    Validator
    • You can now exclude any topstate from the design without causing the Coder, the Validator, or the Verificator to fail.
      [VS-747]

    Verificator
    • You can now exclude any topstate from the design without causing the Coder, the Validator, or the Verificator to fail.
      [VS-747]

Version 6.2.3 2009-06-11

    C-SPY plug-in
    • When debugging, the graphical animation now always highlights ('blinks') only the last transition taken.
      [VS-298]

    Coder
    • Because it has no effect, the option -A (Action expression header filename) is now disabled when generating C++ code.
      [VS-98, d-1429]

    • When you compile SEM_GetInputAll in Microsoft Visual Studio 2005, an incorrect warning C4701 is no longer emitted.
      [VS-249]

    • A declaration for the function SignalDB is now visible to the compiler before any calls to the function SignalDB.
      [VS-274]

    • When you change a region to be off-page, the order of the executed transitions no longer changes.
      [VS-595]

    Designer
    • A variable whose name is changed in the Element Browser is now also renamed globally.
      [VS-152]

    • Undo now works correctly for route points that are moved implicitly.
      [VS-185]

    • When you edit an element that is part of a transition, the whole element name is now highlighted in the Compose Transition dialog box when it opens.
      [VS-200]

    • You get no warning message if you import a header file that contains elements already defined in the Designer but with new values in the header file.
      [VS-255, d-1210]

    • Explanations for elements (actions, events, signals, variables) in the Element Browser window are now saved correctly when you close the window.
      [VS-267]

    • More characters are now legal to use in expressions, for example the + sign.
      [VS-283]

    • The Designer no longer crashes if you close the Navigator with the Compose Note dialog box open.
      [VS-327]

    • Transitions are now always moved correctly when you drag them in a Designer window.
      [VS-331]

    • Moving states and transitions can sometimes lead to unexpected results.
      Select some transitions and states that belong together by first selecting the transitions and then the states. Then drag the states and transitions.
      The transitions are now moved approximately twice as far the states.
      If you undo the move you will end up with the states in another position than before the move.
      [VS-331, d-1092]

    • The Undo command now always restores route points to the correct places.
      [VS-333]

    • The Undo command might leave route points in unexpected positions.
      These steps cause the problem:
      - Create a composite state.
      - Create a number of states and transitions with route points within the composite state.
      - Add a region above. The design and route points will be moved down within the composite state.
      - Undo. The design will be moved back but the route points will not.
      [VS-333, d-1163]

    • visualSTATE constants can now be used as an index in arrays when you design a model.
      [VS-341]

    • visualSTATE constants cannot be used as index in arrays.
      [VS-341]

    • If you make grid settings, those settings are no longer lost when you restart the Designer.
      [VS-385]

    • Grid settings not loaded.
      [VS-385]

    • Default colors not saved and loaded properly.
      [VS-386]

    • Default colors are now saved and loaded properly.
      [VS-386]

    • The context menu command Goto Buddy is now always available when it should be for an automatically inserted connector state pair.
      [VS-397]

    • The Designer no longer crashes if you click OK in the Select Connector Buddy dialog box in some situations.
      [VS-398]

    • Ctrl+X and Ctrl+V now work as intended in the Compose Note dialog box.
      [VS-448, d-1126]

    • The Designer no longer crashes after reloading a large externally modified model.
      [VS-454]

    • Open diagrams are now updated correctly on the screen when you rename an element in the Element Browser window.
      [VS-600]

    Documenter
    • The Documenter can now handle expressions that contain floating-point values with an 'f' suffix.
      [VS-99, d-1440]

    • Documenter fails and reports file names with double drive letters.
      [VS-279]

    • File paths in failure messages from the Documenter are correct now.
      [VS-279]

    • A problem where the Documenter used an incorrect path for included verification report files and model test files has been corrected.
      [VS-296]

    • Documenter used incorrect path for included verification report files and model test files.
      [VS-296]

    • A problem where the Documenter sometimes put auxiliary picture files in the wrong directory, meaning they would not show up in the HTML document, has been corrected.
      [VS-297]

    Navigator
    • Previously, the Navigator could become unresponsive after running the Coder, Validator, or Verificator with a model that had a syntax error in an expression. This problem has been corrected.
      [VS-319]

    • The Navigator no longer crashes if you try to open a workspace file with zero size.
      [VS-551]

    • A problem where the ConvertF1ToF2 tool sometimes crashed has been corrected.
      [VS-597]

    RealLink
    • RealLink now works as intended when you use it for the first time.
      [VS-394]

    Validator
    • A problem where the Validator performed too many actions when force states were used has been corrected.
      [VS-92, d-925]

    • The Validator no longer crashes when trying to connect to Altia.
      [VS-226]

    • The messages in the Output window are more informative now when a test sequence file is saved.
      [VS-277]

    • The Validator no longer crashes if a firewall blocks the traffic to the Altia Editor.
      [VS-278]

    • If you set the event argument for an event, it will now be displayed in the Event window.
      [VS-281]

    • When debugging, the graphical animation now always highlights ('blinks') only the last transition taken.
      [VS-298]

    • The Validator no longer crashes if it is connected to RealLink when you close it.
      [VS-336]

    • If you run RealLink on a model that contains assignments, the Validator no longer crashes.
      [VS-337]

    • The Validator no longer crashes if you try to save an unnamed workspace.
      [VS-375]

    • The Validator no longer crashes if you choose RealLink>Properties with no real system connected.
      [VS-391]

    • RealLink now works as intended when you use it for the first time.
      [VS-394]

    Verificator
    • The Verificator no longer reports an error in verificationSystem::promote when verifying.
      [VS-287]

Version 6.2.2 2009-01-22

    Designer
    • States can now be aligned in diagrams without causing an infinite loop to be entered.
      [VS-207]

    • Enters infinite loop when aligning objects on diagrams.
      [VS-207]

    • A problem caused the Designer to crash (which caused the Navigator to crash as well) when choosing File>Print Preview in the Element Browser window. This problem has been corrected.
      [VS-210]

    • Crashes when opening Print Preview for the Element Browser window.
      [VS-210]

    • Crashes when copying loaded modules to clipboard in Help | About on Windows Vista.
      [VS-223]

    • Choosing Help>About Designer and clicking first More and then Copy to Clipboard could lead to a crash. This problem has been corrected.
      [VS-223]

    • visualSTATE no longer crashes when printing to a file using the default printer.
      [VS-225]

    • Crash when printing with the default printer to a file.
      [VS-225]

    • Pressing F1 for help in the Designer no longer results in a strange Simulation: step ignored error message.
      [VS-227]

    EW build plug-in
    • Build support was added for IAR Embedded Workbench for S08 and IAR Embedded Workbench for dsPIC.
      [VS-198]

    Installation
    • Help and help contents files that were missing from previous versions of visualSTATE have been added again.
      [VS-209]

    Validator
    • When saving a test sequence, the Validator no longer incorrectly complains that new sequence files are in an old format.
      [VS-208]

    • A test sequence file containing a system that is not part of the current workspace can now be loaded in the Validator without causing a crash.
      [VS-211]

    • The Validator no longer crashes after reporting an error message from Altia.
      [VS-212]

    • Earlier, a confusing message was sometimes displayed when you added an existing project to a newly created workspace, making it impossible to load the project. This problem no longer occurs.
      [VS-214]

    • A problem that could cause the Validator to crash when you closed it after having created new workspace and added a project to it has been corrected.
      [VS-215]

    • Dynamic analysis no longer enters an endless loop if you are still recording to the source test sequence file when you start the analysis.
      [VS-222]

Version 6.2.1 2008-12-10

    Coder
    • Running Coder from the command line did not work well unless the current directory was the same as the project directory.
      [d-1389]

    • Crash if generating table-based code with 'Binary if-else' constructs.
      [d-1420]

    • Potential compiler warning for VSInquiry function.
      [d-1426]

    • Readable code may behave incorrectly.
      In situations where a variable value is tested in a guard, and the trigger is an event group, and any of the events that is a member of the event group may assign to that variable in the same microstep, the readable code may behave incorrectly.
      [d-1427]

    • Documenter.exe behaved by default as the Coder.exe program unless some specific Documenter.exe option was given on the command line.
      [d-1428]

    • Incorrect code generation for advanced model
      Models that have composite states with only final states, and transitions going directly to the final state and leaving with an unconditioned termination transition do not generate any code for those transitions. Transitions going to final states must be into a sibling of the source state as of now. They will otherwise be reported as errors.
      [d-1431]

    • C-SPYLink breakpoints behave strangely when the number of triggers and the number of states differ in representation type size.
      C-SPYLink could issue a warning message in the log window indicating that some data was not recorded as expected on target.
      [d-1433]

    • Readable code generated for C-SPYLink with event parameter(s) does not work.
      [d-1435]

    • Coder can generate code with a warning when the CSpyLink sampling buffer has been enabled and the CSpyLink code may fail to work properly due to concatenation of values.
      [d-1436]

    • Coder generates incorrect code in SEM_Deduct in some cases for double-buffering array values.
      [d-1437]

    • Coder generates uncompilable code in some cases when accessing double-buffered arrays.
      [d-1438]

    • Coder could generate non-compilable code for readable code output in some cases by putting a variable declaration in the wrong place when dealing with event parameters in the presence of double-buffering.
      [d-1439]

    • Compilers with 16-bit int s could give signed overflow warnings on C-SPYLink instrumentation code using shifts.
      [d-1443]

    • Readable code now generates different names for event group tables. This is to make the code compliant with MISRA C:2004, rule 5.5.
      [d-1444]

    • A model that used signals but never fired a signal could not be compiled.
      [d-1454]

    Designer
    • Changing the data type of a constant can now be undone with Undo.
      [VS-65]

    • A problem that could lead to visualSTATE crashing when the New button was clicked in the Compose State window has been corrected.
      [VS-110, d-1453]

    • The file modification flag is now part of undo handling.
      [d-1253]

    • Re-position lost objects does not reposition any lost transition texts.
      [d-1304]

    • Re-position lost objects does not reposition any lost route points.
      [d-1398]

    • State entry explanations are lost when reloading.
      [d-1415]

    • A Find operation with 'Match whole words' does not match variables inside expressions.
      [d-1418]

    • If an event that is part of an event group gets an argument added, it would be silently dropped. Problem resolved by allowing events with parameters to be part of event groups.
      [d-1445]

    • Change of the type for a Constant cannot be undone with the Undo command.
      [d-1446]

    • Moving an event parameter down cannot be undone with the Undo command.
      [d-1447]

    • Moving an action parameter down cannot be undone with the Undo command.
      [d-1448]

    • Crashes when pressing New icon in Compose State window in some specific cases.
      [d-1453]

    • It is now possible to delete a malformed guard expression without erasing the actual expression text first.
      [d-1457]

    Navigator
    • The Options button for the Verificator was disabled after the model was changed in the Designer.
      [d-1456]

    • Adding a project using the wizard caused an undesired Project1.vsp instead of the specified project file.
      [d-1458]

    Validator
    • A problem that could cause breakpoints to fail has been corrected.
      [VS-91, d-1095]

    • Expressions with more than two subexpressions might be incorrectly evaluated.
      [d-1045]

    • Breakpoints do not always work.
      [d-1095]

    • The LPC213x example refers to a missing sequence file in the Validator.
      [d-1421]

    • Imprecise reporting of unloadable sequence file.
      [d-1424]

    • Validator may crash at Reload.
      [d-1434]

    • Window layout was not kept for the next session.
      [d-1455]

    Verificator
    • The Verificator is too restrictive on mixed domains.
      In an assignment the arguments to an action function are also considered when checking for mixed domains.
      Resolved by completely removing the restrictions for mixing domains in expressions.
      [d-1352]

Version 6.1.0 2008-01-17

    C-SPY plug-in
    • The target may in some rare cases miss an update of the breakpoints after the breakpoints have been modified.
      [d-1370]

    • Breakpoints with only state condition (no trigger) could cause a double breakpoint hit if the model contained event groups elements.
      [d-1373]

    • C-SPYLink could deadlock when a breakpoint was created, or when an visualSTATE tree node was manually expanded/folded.
      [d-1406]

    • An "Invalid Argument Exception" dialog was incorrectly displayed if dropping an element outside the visualSTATE breakpoint tree in the breakpoint window.
      [d-1409]

    • An on-target breakpoint set up with a post-deduct state condition incorrectly tested for previous-previous state instead of previous state, when there were more than one signal in the signal queue.
      [d-1410]

    Coder
    • The code generator generates uncompilable code in some cases for project using instances and not using the SystemName API prefix.
      [d-1407]

    • Using SEM_Action() on code generated with Action expression collection name set to something else than the default, causes a compilation error.
      [d-1416]

    Designer
    • The missing horizontal scroll bar in the File>Print All dialog box has been added.
      [d-1311]

    • Page margins can no longer be negative and will be normalized if they are negative when the project is loaded.
      [d-1330]

    • Double-clicking inside a note will now bring up its compose dialog box. Clicking inside a note and draging it will now move the note.
      [d-1393]

    • The Designer no longer crashes at exit if you use print preview.
      [d-1411]

    • Action functions with a void return value are now allowed when safe mode is enabled.
      [d-1413]

    Navigator
    • The New command might create project files in the wrong folder.
      This might also happen when using the workspace wizard.
      [d-1387]

    Validator
    • The Validator no longer crashes when you select Scan in the RealLink Properties window.
      [d-1417]

    Verificator
    • The Verificator reports a fatal error if the signal queue size has been set to zero and signals are sent when the drop signal on signal queue overflow has been set for the model.
      [d-1386]

Version 5.4.1 2007-08-30

    C-SPY plug-in
    • Disabling or removing all on target breakpoints for a system while target was executing could cause strange behavior. Such as not setting "Pending remove from target" annotation properly for a visualSTATE breakpoint and even crashing the Embedded Workbench in some cases.
      [d-1359]

    • Modifying the set of on target breakpoint and then immediately resetting the target before the breakpoints was updated on target, caused the C-SPYLink to think the breakpoints was on target while they were not. In reality this is unlikely to happen as you need to be extremely quick between modifying a breakpoint and pressing target reset in the C-SPY user interface.
      [d-1360]

    Coder
    • Unclear reporting of warning when generating names and explanations for action functions.
      [d-1371]

    • A line in SEM_Machine may generate a warning with some compilers.
      [d-1377]

    • The data type for the SMI table is not optimal.
      [d-1378]

    • Reports Error (CDR0003): Invalid argument to method: 'ModelWrapper::getHStateGANumber' when code generating for CSPY-Link with multiple topstates.
      [d-1379]

    • Coder may run out of memory.
      [d-1380]

    • Combination of event groups and guards can give incorrect code.
      [d-1381]

    • Coder crashes if the 'struct' argument is set to '' (empty string) in Coder options in the Navigator.
      [d-1382]

    • Coder crashes if the 'className' argument is set to '' (empty string) in Coder options in the Navigator.
      [d-1384]

    Designer
    • May be unable to load after designing a model with many states in the same region.
      [d-1329]

    • May be unable to save after deleting a region that contains final states and any transitions to any of them.
      [d-1339]

    • Designer may crash when reloading a model.
      [d-1372]

    • Some transitions do not blink as they should in Graphical Animation.
      [d-1385]

    Validator
    • Remove all breakpoints from Graphical Animation will now properly remove all breakpoints in the Validator.
      [d-1148]

    Verificator
    • The Verificator cannot perform a Trace if MSXML has not been installed.
      [d-1361]

Version 5.4.0 2007-02-01

    Coder
    • SEM_EXPLANATION_TYPE can no longer be defined as a too large data type.
      [d-1326]

    Designer
    • External Editor setup shows '...' rather than 'Browse...'
      [d-1321]

    • Crashes if adding a new assignment when having an action function selected in the left tree in Compose Transition.
      [d-1328]

    Navigator
    • Deleting the last Custom Command no longer causes undefined behavior.
      [d-1332]

    • The problem with an error message 'Failed to create empty document.' and a subsequent crash with an unhandled exception has been corrected.
      The error sometimes appeared after installing an official update for the operating system.
      [d-1351]

    • A strange message was shown sometimes when running the Verificator:
      'Verificator BDD Operation exception: BBB error' .
      This problem has been corrected
      [d-1357]

    Validator
    • Action parameters are not sent to Altia.
      [d-1358]

    Verificator
    • The Verificator ends with 'Fatal Error' if the node size is set too large.
      [d-1355]

    • The Verificator may silently kill the Navigator if the node size is set too large.
      [d-1356]

Version 5.3.1 2006-10-02

    Coder
    • Initial states with no transition are not always reported as an error.
      [d-1233]

    • Warning in line 151 when compiling AdvancedEventHandler.c sample code file with some compilers.
      [d-1301]

    • Multiple SEM_InitExternalVariables functions possible even when using API prefix.
      [d-1308]

    • Project-external variables can end up being defined multiple times in Basic with more systems.
      [d-1309]

    • Using API Prefix in combination with Instances will generate uncompilable code.
      [d-1314]

    • If using API prefix with no specified prefix some output file names will get (null) in their file names.
      [d-1320]

    Designer
    • Scrolling a diagram horizontally could cause the corresponding zoom view to show incorrect vertical size.
      [d-1264]

    • Changing Font in Tools->Customize cannot be seen when changing the other settings.
      [d-1271]

    • Current project erased after File->New even if the operation is cancelled.
      [d-1273]

    • Leaks memory when using Print Preview and Print.
      [d-1284]

    • Action View has '...' rather than 'Browse...'.
      [d-1292]

    • Action file editing with no external editor set gives strange message.
      [d-1293]

    • Events cannot be used as action function arguments in expressions.
      [d-1300]

    • Crashes after: File->Print All, Cancel, File->Close, Load another project, File->Print All and OK.
      [d-1306]

    • External Editor text in settings is cut off.
      [d-1322]

    Navigator
    • The entire Verificator progress text was in some cases not shown leading to texts that might be truncated and seem incorrect.
      [d-1194]

    • A generated trace could contain a trigger (event or signal) for a transition that was completely unused in the design, rather than the correct trigger.
      [d-1203]

    • Compositional verification mode from the Navigator could sometimes fail to do any verification.
      [d-1260]

    Verificator
    • In some cases a lot of text is reported when running the test for local dead ends in Compositional mode.
      [d-1136]

    • Warnings may be reported on a state called 'AdditionalState' that the user has not designed.
      This state has been added by visualSTATE and the user cannot remove it.
      [d-1150]

    • The entire Verificator progress text was in some cases not shown leading to texts that might be truncated and seem wrong.
      [d-1194]

Version 5.3.0 2006-06-01

    Coder
    • Warnings when compiling VSRLPS.c with some compilers.
      [d-1161]

    • Warnings when compiling RealLink.c with an IAR Embedded Workbench compiler.
      [d-1230]

    • Single state model would cause a runtime crash in the application when using Expert API.
      [d-1232]

    • Multiline explanations in the design incorrectly got an extra CR character as part of the line termination in generated output files. The final line termination sequence in those situations were CR-CR-LF instead of CR-LF.
      [d-1272]

    • Warnings when compiling SEMLibB.c with RealLink support with Microsoft Visual C++ compiler.
      [d-1278]

    • Warning when compiling RealLink.c with Microsoft Visual C++ compiler.
      [d-1279]

    • Warning when compiling SMPMain.c with RealLink support with Microsoft Visual C++ compiler.
      [d-1280]

    Designer
    • Using underscore as the first character of a name was not legal.
      [d-991]

    • The Designer could silently abort loading a Project if position information was missing in a .vsr file.
      [d-1075]

    • If the type of a Constant was changed in the Element Browser the type was not immediately updated in the list.
      [d-1079]

    • Right-clicking a transition and selecting Edit Event from the pop-up menu allows editing the trigger name in the diagram. Events had unwanted trailing parentheses that are not allowed as input in the edit field.
      The popup menu item Edit Event has now been renamed to Edit Trigger .
      [d-1111]

    • An alias that had been set for a Topstate was not loaded again.
      [d-1205]

    • An alias that had been set for a System was not loaded again.
      [d-1206]

    • Entering an alias for a System would cause an error message stating that undo logging would be stopped.
      [d-1207]

    • Default type filter for importing was wrong.
      [d-1214]

    • Initializer values for variables were not sanity checked at the time of entry and could cause a failure when saving the project.
      Now a dialog will point out bad values and also verify that internal variable initiailizers are inside the optional domain.
      [d-1241]

    • When displaying aliases in the project browser and in the diagram, trying to edit the alias (not the name) by clicking slowly twice on the alias brought up the name and not the alias for editing.
      [d-1254]

    • When creating an element with a name that was too long an error message reporting 'Element name to long!' was shown.
      [d-1262]

    • Performing an Undo after adding an action parameter value for the first time, failed to undo properly if the parameter was not a numeric value.
      [d-1266]

    Documenter
    • Types and parameters for an element were not displayed in the model interface and the element lists.
      [d-1112]

    • Explanations for Topstates are now shown in the output (provided that detailed level is set to high).
      [d-1146]

    • Explanations for elements are now part of the Documenter output (provided that detailed level is set to high).
      [d-1147]

    Navigator
    • The menu choice New should have read New... .
      [d-1221]

    • Syntax error reported when loading a file with many constants.
      [d-1267]

    • Syntax error reported when loading a file with a very large variable array.
      [d-1268]

    Validator
    • Some errors from Trace (really coming from the Verificator) were really cryptic, talking about BreakedDomainExc which makes little sense to most people. This has been improved so that they are easier to understand.
      [d-1189]

    • The Validator crashed if Trace Point Setup file name was not selected before finding a trace.
      [d-1212]

    • The Expand popup menu item in the breakpoint dialog was still enabled even though everything below the item clicked on were fully expanded.
      [d-1223]

    • The Validator did not compare variables and actions when a test sequence file was replayed.
      [d-1256]

    • The Validator crashed with unhandled exception when performing Find Trace on an input file that did not exist.
      [d-1274]

    Verificator
    • Stopping verification under the Navigator sometimes crashed and more often caused a "Fatal Error" message rather than "User break".
      [d-1269]

    • The Verificator might crash randomly when locating local dead ends in Compositional mode.
      [d-1270]

Version 5.2.3 2006-05-09

    Verificator
    • The verificator could very seldomly crash randomly when locating dead ends in Compositional mode.
      [d-1270]

Version 5.2.2 2006-03-31

    Designer
    • Syntax error was reported when loading large models that used to be loadable.
      This problem was reintroduced in release 5.2.2.
      [d-1188,d-1268]

    • Margins were handled incorrectly for user defined pages.
      [d-1197]

    • If margins were chosen that were smaller than the current printer supported, the margins were changed automatically without any message being shown.
      [d-1199]

    • If Custom Size was selected for paper setup and the orientation was changed, the default size of the Custom Size paper was chosen. The orientation was not considered.
      [d-1200]

    Verificator
    • Too many state dead ends reported in some cases.
      [d-1187]

    • Too many unactivated transitions reported in some cases.
      [d-1213]

    • Incorrect verification results reported in some cases.
      [d-1216]

    • Incorrect unactivated transition reported in some cases.
      [d-1246]

Version 5.2.1 2005-06-27

    Designer
    • The Validator could not launch Altia FacePlate 5.28.
      [d-1167]

    • Cloning transitions changed negative synchronization states to positive synchronization states.
      [d-1169]

    • The Validator crashed if you changed an external variable that was declared in the project and defined in a system.
      [d-1176]

    • Designer crashed when pasting states in some cases.
      [d-1181]

    • In some cases the error application error 314 at 25 was shown when transitions with a timer action were cloned.
      [d-1182]

    • Arguments to action functions were not always cloned when cloning transitions.
      [d-1183]

    • The Designer could crash in some cases when copying a system, pasting the system, and then Undo the operation.
      [d-1184]

    Navigator
    • Problem with USB dongle and verification of multiple systems. The systems following the first were verified in Demo mode.
      [d-1180]

    Verificator
    • When verifying in compositional mode and the first state after the initial state has an entry action that sends a signal, a local dead end is in some circumstances not reported.
      [d-830]

Version 5.2.0 2005-05-17

    Coder
    • Coder crashed when generating code for a specific design.
      [d-1063]

    • Guard expression code generated incorrectly in connection with junction states in some cases.
      [d-1117]

    Designer
    • If the header files from MakeApp contained 'U8' or similar types the functions in the header file would not be imported.
      [d-1170]

Getting started

Getting started

User guides

User guides

Example projects

Example projects

Resources

Resources

Tutorials

Tutorials

Support

Support

Release notes

Release notes

My pages

My pages