Release notes
2024.5.0
Key highlights
-
Expanded Diagram and Model Support: We’ve significantly expanded our support for various views, including the addition of representations for use cases, occurrences, and allocations. This enhancement provides more comprehensive tools to visualize and manage SysML v2 models. This includes the addition of diagrams for use cases, occurrences, and allocations.
-
Improved User Experience: We’ve improved how elements are displayed, particularly in terms of ports and compartments. These enhancements ensure a clearer and more intuitive user interface.
-
Increased Stability and Reliability: We’ve addressed several key bugs and stability issues including fixing problems with diagrams and import capabilities. These improvements help maintain the integrity and accuracy of semantic data.
-
First Export Capability: Our enhanced integration of SysIDE now supports better integration of the SysML v2 format. We’re now able to export projects in the standard textual format, facilitating easier data sharing and compatibility with other industry-standard tools. This promotes better data exchange and collaboration.
Breaking changes
-
The
requirement-view
diagram has been introduced by error in the last release. This diagram isn’t defined in the SysMLv2 specification. It has been deleted in this release.
Dependencies update
-
Switch to Sirius Web v2024.5.0
-
Switch to @ObeoNetwork/gantt-task-react 0.4.9
-
Add dependency to org.apache.commons.commons-text 1.10.0
Bug fixes
-
The "Add existing elements (recursive)" has been modified to work on
PartUsage
. -
From Interconnection view diagram, attributes compartment has been added in children
PartUsage
nodes.
![Attribute compartment from Interconnection view](../_images/release-notes-attribut-compartmen-interconnection-view.png)
-
No error is raised anymore when setting a valid new value (with primitive type) in the Details view.
-
The body feature of a
Comment
remove now the "/*" and "*/" characters while importing a model from Sysml textual format. -
All
Memberships
are now contained in their parent throughownedRelatedElement
instead ofownedRelationship
reference. -
Rename action from explorer is now renaming tree items as expected.
-
EnumerationDefinition
is now created with a default name.
![Enumeration definition node](../_images/release-notes-enumeration-definition.png)
-
"Add existing element (recursive)" action has been updated to create child nodes for nested and owned usages at the root of the diagram.
-
While importing some of the standard examples, there are no more exception mainly when some of examples are linked to non resolved elements.
-
Hide capabilities have been restored and improved in the palette. It’s now possible to hide a node but also all its content (recursive) or symply direct content (Shhow valued content action).
![Restore and Improve hide capabilities](../_images/release-notes-hide-capabilities.png)
-
Namespace.getImportedMemberships
method now prevents name collisions as stated in the specification (KerML 7.2.5.4 Imports). -
Non end Usages have been removed from AllocationDefinition ends compartment.
![Ends compartment from AllocationDefinition](../_images/release-notes-ends-compartment-AllocationDefinition.png)
-
Circular containment of nested parts including self containment are now forbidden.
![Avoid nested part cycle](../_images/release-notes-avoid-nestedPart-cycle.png)
-
Time performance has been improved when using
Become nested part
edge creation tool. -
state transition
andactions
compartments are now available onStateDefinition
andStateUsage
node.
![State transition compatment](../_images/release-notes-state-transition-cpt.png)
-
Inherited features in compartments don’t display itself anymore.
![Inherited features in compartments](../_images/release-notes-inherited-feature-cpt.png)
-
Add existing element (recursive)
behavior has been modified to be more robust and avoid potential exception, mainly the display of nested domain-based edge on State transition view diagram.
Improvements
-
Composite usages are now forbidden inside
PortDefinition
/PortUsage
. -
Composite usages are now forbidden inside
AttributeDefinition
/AttributeUsage
. -
Explicit usage of
node
to call SysIDE JavaScript file has been added. -
Membership
#visibility attribute has been added toCore
properties in the Details view.
![Membership visibility in Details view](../_images/release-notes-membership-visibility.png)
-
PortUsage
#direction attribute has been added toCore
properties in the Details view.
![Port direction in Details view](../_images/release-notes-port-direction.png)
-
Definition
/Usage
node are now collapsed by default in General view & Action Flow View diagrams. -
Definition
/Usage
nodes are expanded in all diagrams when a compartment item is created. -
All elements are now represented with their icon.
-
Label is now positioned from inside to outside for
Ports
(Border Nodes).
![Port label](../_images/release-notes-port-label.png)
-
General view diagrams can now be created on any
Namespace
element. -
Instead of revealing all compartments of a node when user creates a child in one compartment, only the compartment parent of the child to create is revealed. Other compartments visibility doesn’t change.
![Reveal compartment](../_images/release-notes-reveal-compartments.png)
-
It’s now possible to create Interconnection view diagrams on any
Usage
/Definition
element. -
A new compartment with a free-form layout inside the
ActionUsage
andActionDefinition
nodes is now available. Thanks to this compartment, user can separateAction
nodes and connect them by using edges.
![Action in compartment](../_images/release-notes-action-in-compartment.png)
-
Remove button is now available on containment edges.
![Remove containment edge](../_images/release-notes-delete-containment-edge.png)
-
"Add existing elements" tools have been added on
State
andStateDefinition
graphical elements.
![Add existing elements on state](../_images/release-notes-add-existing-element-on-state.png)
New features
-
Compartments of
RequirementDefinition
andRequirementUsage
have been redesigned to better fit the specification and examples.
![Requirements](../_images/release-notes-requirements.png)
-
"Become nested" edge creation tools has been added for
AttributeUsage
,ItemUsage
,PartUsage
andPortUsage
nodes.
![Become nested attribute edge tool](../_images/release-notes-become-nested-attribute.png)
-
Creation tools (mainly
AttributeUsage
,PartUsage
,PortUsage
ItemUsage
) have been addded inActionUsage
,ConstraintUsage
,InterfaceDefinition
,RequirementDefinition
andPortUsage
. -
UseCaseDefinition
andUseCaseUsage
elements are now handled in General view.
![Handle Usecase elements](../_images/release-notes-handle-usecase.png)
-
Composite edges between
Usage
and compartment content have been added to link nestedActions
with itsAction
, nestedConstraints
with itsConstraints
and nestedConstraints
with itsRequirement
.
![Nested composite edge](../_images/release-notes-nested-composite-edge.png)
-
OccurrenceDefinition
andOccurrenceUsage
elements are now handled in General view.
![Handle occurrence elements](../_images/release-notes-handle-occurence.png)
-
Reconnection tools have been added for composition edges.
-
AllocationDefinition
andAllocationUsage
elements are now handled in General view.
![Handle allocation elements](../_images/release-notes-handle-allocation.png)
-
A service that serializes a SysML element to its textual representation defined by the OMG Standard is now available and used in export capability.
-
ConjugatedPortDefinition
is now handled in diagrams,Explorer
and Details View. -
It’s now possible to create and manipulate Interface edges in Interconnection view diagram.
![Interface Usage](../_images/release-notes-interface-usage.png)
-
State Transition view diagrams are now available on
Package
elements. -
Inherited features are now taken into account in features compartments.
![Inherited feature](../_images/release-notes-inherited-feature.png)
-
AcceptAction
elements are now handled in General view diagram.
![Accept Action Usage](../_images/release-notes-accept-action.png)
-
PortUsage
in Interconnection View are now represented with rotative image. Whatever its border support, thePortUsage
node is always represented by an arrow pointing inside the parent node.
![Rotative image](../_images/release-notes-rotative-image.png)
-
It’s now possible to represent and handle
Succession
edges betweenActions
in General view diagram, from background diagram but also from action flow compartment.
![Succession](../_images/release-notes-succession-edge.png)
2024.3.0
Key highlights
-
Improved User Interactivity: New features such as direct editing allow users to change element details seamlessly, without data loss. This enhances the overall user experience by making it more intuitive and reducing the time required to make changes.
-
Expanded Library and Standard Support: All KerML and SysML v2 standard libraries are now included by default. This expands the tool’s capabilities and ensures compatibility with industry standards, making it easier to integrate and reference standard elements in projects.
-
Advanced Filtering: New filters have been added to the Explorer view, allowing users to hide specific elements and libraries, which simplifies the interface and focuses on relevant data.
-
Import Capabilities: Additionally, SysML v2 textual files can now be imported directly, enhancing data integration and compatibility with other tools.
-
Enhanced Diagram Development: We’ve restructured and streamlined our diagrams implementation, including the introduction of specific modules and tools for better cross-diagram functionality. This ensures that all graphical representations are more cohesive and easier to maintain.
Breaking changes
-
Node Descriptions Providers in General View has been modified with mainly rename of these providers to match with all
Definitions
andUsages
Node Descriptions. -
After switch to Sirius Web v2024.3.0,
GeneralViewRegistryConfigurer
has been renamed toGeneralViewDescriptionProvider
.SysMLv2ObjectService
has been renamed intoSysMLv2LabelService
as it now implementsILabelServiceDelegate
instead ofIObjectServiceDelegate
. -
Refactor diagrams code with creation of the diagram-common-view module to gather all cross diagram tools and there is now one name generator per diagram owning the diagram prefix used to prefix all descriptions for this diagram.
Dependencies update
-
commons-io 2.11.0
dependency has been explicitly added insyson-application-configuration
. -
Switch to Sirius Web v2024.3.0
Improvements
-
By activating direct Edit, User can now change the name/type/value/range of an element without any lost. The direct edit of labels in diagrams now handles partial edition.
![Direct edit](../_images/release-notes-direct-edit.png)
-
When user wants to create new elements under a selected element, only provides candidates that will make sense are proposed among new objects candidates in Explorer view menu. The creation of elements with their containing
Membership
is now done in one click.
![Create new Object](../_images/release-notes-new-object.png)
-
A recursive version of the
Add existing elements
tool is now available to display all the cluster of objects contained in a selected node.
![Add existing elements (recursive)](../_images/release-notes-add-existing-elements.png)
-
Package
node headers' width has been improved to better handle longer labels.
![Package header](../_images/release-notes-package-header.png)
-
It’s now impossible to have Package children overlapping the
Package
node body’s west border. -
All KerML and SysML standard libraries have been added in project definition. These libraries aren’t visible in the Explorer. Users can reference these libraries elements from the Details view or through the direct edit of elements in diagrams.
-
Tools names have been renamed by adding spaces between type words and removing "Usage" from tool names.
![Tools name](../_images/release-notes-tools-name.png)
-
User can now create elements inside list compartments via the containing node’s palette and the new element is created inside the correct compartment.
![Creation in compartment](../_images/release-notes-compartment-creation.png)
-
General View diagram palette has been reorganized. New tool sections have been added to group semantically node tools by creation concept.
![Tool sections](../_images/release-notes-gv-tool-bar.png)
-
In the Details view, standard libraries are now displayed in Reference Widget’s model browser dialog.
![Standard libraries in Reference Widget](../_images/release-notes-libraries-in-ref-widget.png)
-
getAllReachable()
util service used to retrieve the elements of a given type has been improved to reduce its time execution. -
FeatureTyping Edge creation tool has been added to set the type of a Usage.
![Feature typing tool](../_images/release-notes-feature-typing-tool.png)
-
Add kind property from RequirementConstraintMembership on Constraint core properties.
New features
-
A new filter
Hide Memberships
has been added in Explorer view toolbar to hide membership elements in the Explorer view. -
A new filter
Hide KerML Standard Libraries
has been added in Explorer view toolbar to hide KerML/SysML libraries in the Explorer view.
![Explorer filters](../_images/release-notes-filters.png)
-
Action Flow View
diagrams are now available on Package elements. -
Requirement view
diagrams are now available on Package elements. -
It’s now possible to import SysMLv2 textual files into SysON, through the existing document upload modal.
2024.1.0
Key highlights
-
Expanded Library Access: We now support a wider range of standard libraries.
-
User-Friendly Diagrams: We’ve introduced helpful background messages for empty diagrams, making it easier for users to understand and use the tool right from the start.
Breaking changes
-
All
findUsageByName
andfindDefinitionByName
method have been replaced by the newfindByNameAndType
inorg.eclipse.syson.services.UtilService
. -
Delete useless fork of
UploadDocumentEventHandler
andDocumentController
from Sirius Web.
Dependencies update
-
Switch to Sirius Web v2024.1.1
-
SysON SysMLv2 metamodel module now depends on
org.eclipse.emf.ecore.xmi
andjava-uuid-generator
. -
Switch to vite 4.5.2
New features
-
Display help background message on empty general-view diagram.
![Diagram help background](../_images/release-notes-help-background.png)
-
Add support for SysMLv2 standard libraries. Some KerML libraries have been added:
Base
,BooleanFunctions
,Clocks
,CollectionFunctions
,Collections
,ComplexFunctions
,ControlFunctions
,DataFunctions
,IntegerFunctions
,KerML
,Links
,NaturalFunctions
,NumericalFunctions
,RationalFunctions
,RealFunctions
,ScalarFunctions
,ScalarValues
,SequenceFunctions
,StringFunctions
,TrigFunctions
,VectorFunctions
,VectorValues
. Some of these libraries might have partial content. -
Add support for automatic imports.
2023.12.0
Key highlights
-
🏆 Initial release!
Dependencies update
SysON is based on:
New and improved
-
Key features: Basic SysML v2 views (General view, Interconnection view), see the Key features section.
-
Installation Instructions: Detailed installation guideline is provided in the project’s documentation, guiding users through the setup process.
-
Documentation: Comprehensive documentation is readily available, covering installation and usage of SysON.
-
Contributing Guidelines: Guidelines are outlined for contributing to the project, including submitting bug reports and feature requests.
-
Contact us: The project’s GitHub repository, issue tracker, and discussion serve as primary channels for communication and support.
We warmly invite users to explore SysON, experiment with its features, and provide valuable feedback to assist us in its continuous improvement.
Know issues
You can find a list of the known issues (with workaround where relevant) being investigated by our engineering team on the SysON Issue Tracker. A detailed list of all project changes is available at: https://github.com/eclipse-syson/syson/blob/main/CHANGELOG.adoc.