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
  • 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 through ownedRelatedElement instead of ownedRelationship reference.

  • Rename action from explorer is now renaming tree items as expected.

  • EnumerationDefinition is now created with a default name.

Enumeration definition node
  • "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
  • 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
  • Circular containment of nested parts including self containment are now forbidden.

Avoid nested part cycle
  • Time performance has been improved when using Become nested part edge creation tool.

  • state transition and actions compartments are now available on StateDefinition and StateUsage node.

State transition compatment
  • Inherited features in compartments don’t display itself anymore.

Inherited features in compartments
  • 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 to Core properties in the Details view.

Membership visibility in Details view
  • PortUsage#direction attribute has been added to Core properties in the Details view.

Port direction in Details view
  • 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
  • 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
  • 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 and ActionDefinition nodes is now available. Thanks to this compartment, user can separate Action nodes and connect them by using edges.

Action in compartment
  • Remove button is now available on containment edges.

Remove containment edge
  • "Add existing elements" tools have been added on State and StateDefinition graphical elements.

Add existing elements on state

New features

  • Compartments of RequirementDefinition and RequirementUsage have been redesigned to better fit the specification and examples.

Requirements
  • "Become nested" edge creation tools has been added for AttributeUsage, ItemUsage, PartUsage and PortUsage nodes.

Become nested attribute edge tool
  • Creation tools (mainly AttributeUsage, PartUsage, PortUsage ItemUsage) have been addded in ActionUsage, ConstraintUsage, InterfaceDefinition, RequirementDefinition and PortUsage.

  • UseCaseDefinition and UseCaseUsage elements are now handled in General view.

Handle Usecase elements
  • Composite edges between Usage and compartment content have been added to link nested Actions with its Action, nested Constraints with its Constraints and nested Constraints with its Requirement.

Nested composite edge
  • OccurrenceDefinition and OccurrenceUsage elements are now handled in General view.

Handle occurrence elements
  • Reconnection tools have been added for composition edges.

  • AllocationDefinition and AllocationUsage elements are now handled in General view.

Handle allocation elements
  • 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
  • State Transition view diagrams are now available on Package elements.

  • Inherited features are now taken into account in features compartments.

Inherited feature
  • AcceptAction elements are now handled in General view diagram.

Accept Action Usage
  • PortUsage in Interconnection View are now represented with rotative image. Whatever its border support, the PortUsage node is always represented by an arrow pointing inside the parent node.

Rotative image
  • It’s now possible to represent and handle Succession edges between Actions in General view diagram, from background diagram but also from action flow compartment.

Succession

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 and Usages Node Descriptions.

  • After switch to Sirius Web v2024.3.0, GeneralViewRegistryConfigurer has been renamed to GeneralViewDescriptionProvider. SysMLv2ObjectService has been renamed into SysMLv2LabelService as it now implements ILabelServiceDelegate instead of IObjectServiceDelegate.

  • 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 in syson-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
  • 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
  • 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)
  • Package node headers' width has been improved to better handle longer labels.

Package header
  • 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
  • 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
  • General View diagram palette has been reorganized. New tool sections have been added to group semantically node tools by creation concept.

Tool sections
  • In the Details view, standard libraries are now displayed in Reference Widget’s model browser dialog.

Standard libraries in Reference Widget
  • 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
  • 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
  • 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 and findDefinitionByName method have been replaced by the new findByNameAndType in org.eclipse.syson.services.UtilService.

  • Delete useless fork of UploadDocumentEventHandler and DocumentController from Sirius Web.

Dependencies update

  • Switch to Sirius Web v2024.1.1

  • SysON SysMLv2 metamodel module now depends on org.eclipse.emf.ecore.xmi and java-uuid-generator.

  • Switch to vite 4.5.2

New features

  • Display help background message on empty general-view diagram.

Diagram help background
  • 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!

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.