Skip to content

Latest commit

 

History

History
187 lines (144 loc) · 5.18 KB

File metadata and controls

187 lines (144 loc) · 5.18 KB

2025.6.0 (work in progress)

Key highlights

Breaking changes

  • Editing the label of a TransitionUsage directly from the diagram is no longer supported. The label aggregates multiple complex elements, including:

    • Accepter

    • Payload

    • Receiver

    • Guard

    • Effect

The current editing infrastructure is not sufficiently robust to manage all of these components reliably. To prevent potential loss or corruption of data during editing, this functionality has been disabled. Future contributions are planned to introduce enhanced capabilities for editing these properties directly within the diagram.

Bug fixes

  • Fix an issue that made published libraries' dependencies always empty. Publishing a project with a dependency to a library now correctly produces a library with the same dependency.

New features

  • ViewUsage may now be displayed and created from the General View.

ViewUsage nodes
  • Diagram representations like General View are no longer directly available in the tree explorer. They are now managed through dedicated ViewUsage element. To open a diagram, you should now select the ViewUsage in the explorer.

Improvements

  • In General View diagram, ConnectionDefinition are now also represented as graphical elements:

Connection Definition graphical elements
  • New tool New Exhibit State with referenced State has been added to the palette of the Part Usage (inside the Behavior section). This tool allows to create a new Exhibit State element referencing an existing State Usage selected using a dedicated selection dialog.

  • Implement textual export of ForkNode such as:

action action1 {
    action a1;
    action a2;
    fork fork1;
    then a1;
    then a2;
    first start then fork1;
}
action action2 {
    action a1;
    action a2;
    fork fork1 {
        /* doc1 */
    }
    then a1;
    then a2;
    first start then fork1;
}
  • Implement textual export of JoinNode such as:

action action1 {
    action a1;
    action a2;
    fork fork1;
    then a1;
    then a2;
    join join1;
    first start then fork1;
    first a1 then join1;
    first a2 then join1;
    then done;
}
  • Implement textual export of MergeNode such as:

action action1 {
    action a1;
    action a2;
    fork fork1;
    then a1;
    then a2;
    merge merge1;
    first start then fork1;
    first a1 then merge1;
    first a2 then merge1;
}
  • Add ItemUsage as bordered nodes on ActionUsage and ActionDefinition in the General View diagram.

ItemUsage on ActionUsage and ActionUsage
  • Add FlowConnectionUsage from ItemUsage on General View Diagram.

FlowConnectionUsage on ItemUsages
  • Implement textual import/export of AcceptActionUsage such as in the following model:

action a1 {
    item def S1;
    item def S2;
    item def S3;
    port p1;
    port p2;
    port p3;
    action a1 accept s1 : S1 via p1;
    action a2 accept S2 via p2;
    accept S3 via p3;
}
  • Type new ViewUsage from Explorer view with General View ViewDefinition. When end-users click on New Object on a semantic element, and select a ViewUsage, then a ViewUsage typed by default with the General View ViewDefinition from the standard library will be created.

  • Implement textual export of TriggerInvocationExpression such as in the following TransitionUsage using as a trigger a TriggerInvocationExpression:

part part1 {
    private import ScalarValues::*;
    action b {
        attribute f : Boolean;
    }
    action a1 {
        accept when b.f; // <- AcceptActionUsage using a TriggerInvocationExpression : when b.f
    }
}
  • New tools have been introduced in Behavior section of State elements (Usage and Definition) to create state sub actions (Entry, Do, and Exit) referencing an existing ActionUsage. Existing tools New Entry Action, New Do Action and New Exit Action have been updated to be aligned with SysMLV2 specification.

  • In General View diagram, improve the label of TransitionUsage in order to be able to display the _accepter information. For example for :

item def TurnOn;
state def OnOff2 {
    private import SI::*;
    private import ScalarValues::*;
    port commPort;
    attribute x : Real;
    state off;
    state on;
    state idle;
    transition off_on
    	first off
    	accept TurnOn via commPort
    	then on;
    transition on_off
    	first on
    	accept after 5 [min]
    	then off;
    transition on_idle
    	first on
    	if x > 0.0
    	then idle;
}

The General View diagram will display TransitionUsage as:

TransitionUsage labels
  • Add a parameters compartment on ActionDefinition in the General View diagram, to display directed features.

Parameters compartment on ActionDefinition

Dependency update

Technical details

  • For technical details on this {product} release (including breaking changes) please refer to changelog.