FSM Tool Changelog

FSM Tool 2.1.2

  • Fixed NullPointerException thrown when there is only one input defined in the input dictionary (#385133).

FSM Tool 2.1.0

  • All open source libraries have been updated to the latest available release.

FSM Tool

  • Fixed issues with multi-fsm-sbb.stg template related to outdated code. (FSMTOOL-37)

FSM Tool

  • Fixed issues with fsm-pojo.stg template related to outdated code. (FSMTOOL-36)

FSM Tool

  • Fixed a number of issues with the fsm.stg template related to outdated code. (PRX-291)

FSM Tool

  • This release is built on and requires JDK 11. It requires Rhino 3.0 or later releases.

FSM Tool

  • Added registerActionImplementationForNextExecute(ActionImplementation impl) method to generated FSMs. This method will automatically unregister an FSM’s ActionImplementation after execute() returns. This is intended for use in conjunction with stateful ActionImplementations where the retention of ActionImplementation state is not desired. (VOLTE-8690)

FSM Tool

  • Update to use ExtendedTracer from Rhino instead of the standard Tracer

FSM Tool

  • Added getSasFacility() to the Facilities interface. This also introduces a dependency on the rhino-extensions package. (VOLTE-5429)

FSM Tool

  • New default value in generated FSM for MAX_EXECUTION_CYCLES of 100

  • New methods to get and set max execution cycles on the FSM object at runtime

  • Extension to generate-fsm ant task to allow configuration of the initial value of MAX_EXECUTION_CYCLES when generating the FSM implementation class

FSM Tool

  • Added isInFinalState() and isInInitialState() to generated FSM implementation classes (DEV-148)

  • Fixed a bug in the InputRegister which meant that raising and retrieving an associated event in the same execution cycle returned null. (DEV-146)

  • Added isExecuting() method to expose the execution state of the FSM. (DEV-145)

FSM Tool

  • Added getClassLoader security permission to FSM tool library jar (DEV-142)

  • Fixed a bug which resulted in ActionSpecifications only being able to declare one sent input. They are now able to declare multiple sent inputs as long as they all belong to the same endpoint.

  • Changed string template for FSM code generation. There are now two new methods which allow looking up endpoints or inputs by name.

FSM Tool

  • Added support for comments in the FSM model (DEV-129)

  • Added a missing file separator in path construction between the output root directory and package path (eg: a/b/c/d instead of a/bc/d") (DEV-127)

  • Performance improvements to the InputRegisterImpl and generated FSM code.

  • Support for registering a CodecFactory for codecs implementing Codec for use with FSM input associated objects.

  • Use of FastSerialize as the default Codec implementation for FSM input associated objects.

  • Fixed a problem with StateMachineSbb that could generate code that fails at runtime (DEV-136)

FSM Tool

  • Changed the FSM execution to a deterministic model with scheduled and execution views of the input register

  • FSM DSL changes:

  • Renamed vfsm to fsm

  • Added endpoints and action specifications to the FSM DSL

  • Added ! (NOT) to conditional expressions in the FSM DSL. inputaction and transition conditions can now include ! unary operator

  • renamed output dictionary to action dictionary

  • renamed outputs to actions

  • action, state and input names now follow rules for Java identifiers

  • Support storage of objects against endspoints (aci, event context) and inputs (associated objects)

  • Introduced new action API which includes action methods with access to facilities and objects associated with endpoints and inputs

  • Add code generation templates and ant task for multiple FSM per SBB

  • Add code generation templates for POJO FSMs

  • Refactored code generation templates to improve structure, readability and reduce lines of code generated

  • Performance improvements for FSM encoded state in CMP

  • Improved logging and reporting of parser errors

  • Added per session tracing

  • New multi fsm per sbb example service

  • FSM check to prevent use of java keywords for actions, states, inputs, or endpoints.

FSM Tool

  • Updated build.xml to reference the correct OpenCloud XDoclet 2.0.1 jar files

  • Added missing META-INF directory to the helloworldextended example

FSM Tool 0.8.5 * Removed support for JAIN SLEE 1.0

  • Support for OpenCloud XDoclet 2.0.1. This version of the OpenCloud XDoclet adds support for JAIN SLEE 1.1 descriptors

  • Support for SBB reentrancy

  • Use of JAIN SLEE 1.1 tracers

  • Compatibility with Dev Portal BaseSbb (and any other base SBB which a developer may care to use)

  • Additional of a new receivedInput method signature for use with multiple incoming inputs

  • Improvements to the pkey handling in log messages

  • Addition of code generation template for POJOs

FSM Tool

  • First public release of the FSM Tool.