Skip to content

Releases: Systems-Modeling/SysML-v2-Pilot-Implementation

2024-09 - SysML v2 Pilot Implementation

11 Oct 23:14
Compare
Choose a tag to compare

This is an incremental update to the 2024-08 release. It corresponds to Eclipse plugin version 0.45.0.

New Features

None.

Backward Incompatibilities

None.

Issue Resolutions

None.

Jupyter

None.

Visualization (PlantUML)

  1. Metadata. Metadata is now rendered in a compartments if it is owned by an element that is rendered with compartments.

    [PR #592]

Technical Updates

  1. Peformance. The performance of certain validation and transformation computations has been significantly improved by revising the computation of inherited memberships

    [PR #594]

Bug Fixes

  1. Index file encoding. Updates generation of the library index to always use UTF-8 encoding.

    [PR #593]

2024-08 - SysML v2 Pilot Implementation

06 Sep 02:47
017e0ba
Compare
Choose a tag to compare

This is an incremental update to the 2024-07 release. It corresponds to Eclipse plugin version 0.44.0.

New Features

None.

Backward Incompatibilities

  1. Import visibility. The deprecation warning for default-public import visibility has been removed in this release. All imports (other than view usage expose declarations) now have private visibility by default. Further, in the textual notation, it is now mandatory to declare the visibility explicitly, even for private.

    Warning. Parsing errors due to imports without visibility in top-level packages can result in unexpected corruption of the global namespace and cascading errors. For projects with a significant number of models having imports remaining without explicit visibility indicators, it is recommended to correct these before upgrading to this release.

    [PR #589]

Issue Resolutions

  1. KerML Metamodel. The resolution of the following issue is now fully implemented.

    [PR #589]

  2. SysML Metamodel. The resolution of the following issue is now fully implemented.

    • SYSML2_-207 Update language description and concrete syntax related to imports

    [PR #589]

Jupyter

  1. Performance. The Jupyter deployment has been updated to use the new library index to significantly improve the performance of processing cells that contain large SysML v2 models. (See also "Library Index" under Technical Updates, below.)

    [PR #587]

Visualization (PlantUML)

None.

Technical Updates

  1. Library Index.

    • Performance of name resolution has been significantly improved by using a pre-calculated index of names in the standard library models to avoid long searches in library namespaces for unresolvable names.
    • The library index can be generated by right-clicking on the sysml.library project in an Eclipse runtime instance and selecting Generate Library Index from the drop-down menu. The library models will first all be re-built before the index is generated.
    • The library index is stored in the repository in the sysml.library project, so it is not necessary to re-generate the index unless a change is made to one of the standard library models.

    [PR #589]

Bug Fixes

  1. Transition source. Allows a feature chain to used as the source of a transition. (It was already possible to use a feature chain as the target.)

    [PR #590]

2024-07 - SysML v2 Pilot Implementation

08 Aug 21:52
Compare
Choose a tag to compare

This is an incremental update to the 2024-05 release (there was no 2024-06 release). It corresponds to Eclipse plugin version 0.43.2.

New Features

None.

Backward Incompatibilities

  1. Import visibility.

    • All imports (other than view usage expose declarations) now have private visibility by default in the KerML and SysML v2 abstract syntax models. In the textual notation, it will be mandatory to declare the visibility explicitly, even for private. However, in order to allow a transitional period, import declarations without an explicit visibility indicator will continue to be default public, but will give a warning message: "Default public import is deprecated; make private if possible". Import declarations with this warning will result in syntax errors in the next release.
    • In addition, imports at the top-level in a model (that is, not nested in any other namespace, and, so, importing into the "root namespace") are now required to be private. (This prevents the "re-export" of names imported into a root namespace directly back into the global scope, which simplifies global name resolution.)
    • Expose declarations are kinds of imports. However, unlike regular imports, expose declarations are know required to have protected visibility. That is, elements exposed by the declaration are visible only within the exposing view usage and any specializations of that view usage. Since the visibility is always protected, a visibility indicator is no longer part of the syntax of an expose declaration.

    [PR #582]

  2. Action invocation. Previously, invoking a KerML behavior (as opposed to a function) or SysML v2 action definition (as opposed to a calculation definition) in an expression was specified as performing the behavior, but resulting in a null (empty) result value. This is now changed so such an invocation is treated as a "constructor expression" for the behavior or action, returning the behavior performance itself, which allows access to the values of any output parameters of the behavior or action. For example, in the following model, the value of a_out will be 3.

    action def A {
        in x;
        out y = x;
    }
    action a = A(x = 3);
    ref a_out = a.y;
    

    [PR #582]

  3. Analysis actions. The definition for AnalysisAction has been removed from the Systems Library model AnalysisCases. The subactions of an AnalysisCase can be any kind of action, so there was no need for a special kind of AnalysisAction.

    [PR #583]

Issue Resolutions

KerML

  1. KerML Metamodel. The KerML abstract and concrete syntax have been updated consistent with the resolutions of the following KerML FTF issues. Changes affecting user models are described under "Backward Incompatibilities" above.

    • KERML_-37 Add derived property for targetFeature
    • KERML_-67 Invocation of a non-functional behavior
    • KERML_-73 Disallow public imports at root level
    • KERML_-74 Make imports private by default

    The resolution of the following issue from KerML FTF2 Ballot 1 was already consistent with previous implementation:

    • KERML_-75 Restrict the functionality of recursive import

    [PR #582]

  2. KerML Model Libraries. Th reflective abstract syntax model KerML in the Kernel Semantic Library has been updated consistent with the resolution of the following KerML FTF issue. In addition, an explicit public keyword has been added to all public imports in the textual notation for all models in the Kernel Model Libraries, consistent with the resolution to issue KERML_-74.

    • KERML_-65 isOrdered and isUnique are missing from the reflective abstract syntax binding

    [PR #582]

SysML

  1. SysML Metamodel. The SysML abstract and concrete syntax have been updated consistent with the resolutions to the following SysML v2 FTF issues. Changes affecting user models are described under "Backward Incompatibilities" above.

    • SYSML2_-183 checkStateUsageExclusiveStateSpecialization and checkStateUsageSubstateSpecialization have problems
    • SYSML2_-187 There is no need for AnalysisAction [also affects the model library]
    • SYSML2_-207 Update language description and concrete syntax related to imports

    [PR #582] [PR #583]

  2. SysML Model Libraries. The models States, AnalysisActions and SysML in the Systems Model Library have been updated consistent with the resolutions to the following SysML v2 FTF issues. In addition, an explicit public keyword has been added to all public imports in the textual notation for all models in the Systems Model Library and Domain Model Libraries, consistent with the resolution to issue SYSML2_-207.

    • SYSML2_-184 StateAction::substates has an implied subsetting of exclusiveStates
    • SYSML2_-187 There is no need for AnalysisAction [also affects the abstract syntax]
    • SYSML2_-209 isOrdered and isUnique are missing from the reflective abstract mapping

    [PR #582] [PR #583]

Jupyter

None.

Visualization (PlantUML)

  1. Multiplicities in nodes. Rendering of multiplicities inside node symbols is now supported, in addition to rendering multiplicities on edges. Three new style options have been added:

    • NODEMULTIPLICITY – Show multiplicities in nodes. (This is the default for the TREE view.)
    • EDGEMULTIPLICITY – Show multiplicities on edges.
    • IMPLICITMULTIPLICITY – Show implicit multiplicities as well. (Even if multiplicity is not specified explicitly for a feature, the visualizer renders the default or inherited multiplicity.)

    [PR #584]

  2. Bug fixes. See below.

Technical Updates

None.

Bug Fixes

  1. Inherited features of non-standard libraries (PlantUML). Fixes a bug (introduced in PR #556) that caused inherited features of non-standard libraries to be wrongly hidden.

    [PR #573]

  2. Nested inherited features on a connection (PlantUML). Properly renders nested features referenced by connections.

    [PR #574]

  3. Inherited features (PlantUML). Fixes a bug (introduced in PR #561) that caused memberships of inherited features to be incorrectly rendered. Also corrects the rendering of subsettings of inherited features.

    [PR #577]

2024-05 - SysML v2 Pilot Implementation

18 Jun 20:37
fbb3f98
Compare
Choose a tag to compare

This is an incremental update to the 2024-04.1 release. It corresponds to Eclipse plugin version 0.42.0.

New Features

None.

Backward Incompatibilities

None.

Issue Resolutions

None.

Jupyter

None.

Visualization (PlantUML)

Bug fixes.

Technical Updates

  1. Parse post-processing. Handwritten code implementing various Xtext parsing workarounds has been moved out of the generated Impl classes into postProcess methods in the corresponding adapter classes.
    [PR #570]

  2. Jupyter kernel build. The Maven build configuration has been updated to remove the use of Gradle for building the Jupyter kernel.
    [PR #568]

Bug Fixes

  1. Actor and stakeholder properties. Corrects the derivation computation for actor and stakeholder properties.
    [PR #569]
  2. Flow connection rendering (PlantUML). Corrects the rendering of certain flow connections when an action model includes a start action.
    [PR #566]
  3. Succession rendering (PlantUML). Fixes the rendering of successions declared using the "shorthand" textual notation.
    [PR #567]

2024-04.1 - SysML v2 Pilot Implementation

09 May 22:22
6875155
Compare
Choose a tag to compare

This release is the same as the 2024-04 release, except for one additional bug fix. It corresponds to Eclipse plugin version 0.41.1.

The release notes for 2024-04 are repeated below for convenience, along with the additional bug fix at the end.

New Features

None.

Backward Incompatibilities

None.

Issue Resolutions

None.

Jupyter

  1. JupyterLab version. The JupyterLab deployment now installs JupyterLab 3.x (formerly 2.x) and Node.js 16.x (formerly 14.x on Windows and 15.x on Mac and Unix).
    [PR #564]

Visualization (PlantUML)

Bug fixes.

Technical Updates

  1. Eclipse version. The supported Eclipse version has been updated to 2024-03 and all projects are now compiled using Java 17. Earlier versions of Eclipse are no longer supported.
    [PR #563]

  2. Derived state computer. The implementation no longer uses the Xtext "derived state computer" mechanism. As a result, KerML and SysML files now open without significant delay in the Eclipse editor. (Note, however, that this change does not improve the performance of subsequent name resolution performed while editing a file, which is essentially the same as before.)
    [PR #562]

Bug Fixes

  1. Feature chain rendering (PlantUML). Corrects the rendering of chains of features that do not belong to the chaining feature.
    [PR #558]
  2. Visualization crash (PlantUML). Fixes a bug that could cause PlantUML visualization to crash.
    [PR #559]
  3. Variation definition rendering (PlantUML). Fixes the rendering of variation definitions.
    [PR #560]
  4. Redefinition rendering (PlantUML). Corrects the rendering of certain redefinitions.
    [PR #561]
  5. Instantiation exception. Fixes a bug that causes an exception when a view usage with an expose relationship is published (or rendered) in Jupyter.
    [PR #565]

2024-04 - SysML v2 Pilot Implementation

08 May 20:54
c08a305
Compare
Choose a tag to compare

This is an incremental update to the 2024-03 release. It corresponds to Eclipse plugin version 0.41.0.

New Features

None.

Backward Incompatibilities

None.

Issue Resolutions

None.

Jupyter

  1. JupyterLab version. The JupyterLab deployment now installs JupyterLab 3.x (formerly 2.x) and Node.js 16.x (formerly 14.x on Windows and 15.x on Mac and Unix).
    [PR #564]

Visualization (PlantUML)

Bug fixes.

Technical Updates

  1. Eclipse version. The supported Eclipse version has been updated to 2024-03 and all projects are now compiled using Java 17. Earlier versions of Eclipse are no longer supported.
    [PR #563]

  2. Derived state computer. The implementation no longer uses the Xtext "derived state computer" mechanism. As a result, KerML and SysML files now open without significant delay in the Eclipse editor. (Note, however, that this change does not improve the performance of subsequent name resolution performed while editing a file, which is essentially the same as before.)
    [PR #562]

Bug Fixes

  1. Feature chain rendering (PlantUML). Corrects the rendering of chains of features that do not belong to the chaining feature.
    [PR #558]
  2. Visualization crash (PlantUML). Fixes a bug that could cause PlantUML visualization to crash.
    [PR #559]
  3. Variation definition rendering (PlantUML). Fixes the rendering of variation definitions.
    [PR #560]
  4. Redefinition rendering (PlantUML). Corrects the rendering of certain redefinitions.
    [PR #561]

2024-03 - SysML v2 Pilot Implementation

14 Apr 22:40
56d19ff
Compare
Choose a tag to compare

This is an incremental update to the 2024-02 release. It corresponds to Eclipse plugin version 0.40.0.

New Features

None.

Backward Incompatibilities

None.

Issue Resolutions

None.

Jupyter

Bug fixes.

Visualization (PlantUML)

Bug fixes.

Technical Updates

  1. Metamodel operations. The implementation of all OCL operations from the metamodel specifications has been moved from in-line method code in metamodel Impl classes into separate delegate classes, using the Eclipse "invocation delegate" mechanism.
    [PR #554] [PR #555]

  2. Maven build. The Maven build was updated to resolve a problem introduced by a newly released version of a plugin used by the tycho-build extension.
    [PR #550 ]

Bug Fixes

  1. Standard library element rendering (PlantUML). Corrects the rendering of standard library elements in compartments when SHOWLIB and SHOWINHERITED styles are not used.
    [PR #548]
  2. Bindings with standard library metadata (Jupyter). Fixes a bug introduced in the 2024-02 release that caused bindings of enumeration features of metadata usages of metadata definitions from library models to spuriously cause warnings in the Jupyter environment (but not in Eclipse).
    [PR #551]
  3. Resolution of results, subjects and objectives. Fixes a bug that caused the incorrect resolution of names of result parameters, subject parameters and objectives that were physically inserted into the abstract syntax tree after parsing.
    [PR #552]
  4. Implicit subsetting of occurrenceUsages. Fixes the implementation of the implicit subsetting of occurrenceUsages that are suboccurrences.
    [PR #553]
  5. %viz command (PlantUML, Jupyter). Fixes a bug caused by the changes in PR #552 in which the %viz command in the Jupyter environment would sometimes throw a ConcurrentModificationException.
    [PR #557]

2024-02 - SysML v2 Pilot Implementation

07 Mar 19:17
Compare
Choose a tag to compare

This is an incremental update to the 2024-01 release. It corresponds to Eclipse plugin version 0.39.0.

New Features

KerML

  1. Comment locale. In the KerML abstract syntax, a Comment may have a locale specified, which includes "identification of the language of the body text and, optionally, the region and/or encoding", using the international standard notation. The textual notation has now been updated to allow the locale to be specified for a comment.

    locale"en_US" /* This is US English comment text. */

    [PR #540]

  2. Keywords on metadata. User-defined keywords are now allowed on metadata features. (Keywords were already allowed on metaclasses.)

    #keyword metadataM;

    [PR #540]

SysML

  1. Comment locale. The SysML textual notation has been updated to allow the locale for a comment to be specified, using the same syntax as given for KerML above.
    [PR #542]

  2. Perform action effective names. Previously, the effective name of a perform action usage was given solely by the name of its performed action (and similarly for exhibit state usages and include use case usages). If the perform action usage did not specify a performed action, and had no declared name, then it also had no effective name. This has now been changed so that a perform action usage without a performed action acts like a regular usage, so that, if it has a redefinition, that determines its effective name.

    abstract part def P {
        abstract perform action A;
     }
     abstract part def P1 :> P {
         abstract perform action redefines A; // Effective name is "A".
     }
     part def P2 :> P {
         perform B redefines A; // Effective name is "B".
     }
    

    [PR #542]

  3. Keywords on metadata and enumerations. User-defined keywords are now allowed on metadata definitions, metadata usages, enumeration definitions and enumerated values within enumeration definitions (keywords were already allowed on enumeration usages other than enumerated values).

    #keyword metadata defM;
    #keyword metadataM;
    #keyword1 enum defE {
        #keyword2 enume;
    }

    [PR #542]

Backward Incompatibilities

  1. Exponentiation. Previously the exponentiation operators (** and ^) where left-associative, similarly to the additive and multiplicative operators. That is, an expression such as 2 ^ 3 ^ 4 was parsed as (2 ^3) ^ 4. This has been changed so that the exponentiation operators are right-associative, which is the normal expectation for exponentiation. So, 2 ^ 3 ^ 4 now parses as 2 ^ (3 ^ 4).
    [PR #540]

Issue Resolutions

KerML

  1. KerML Metamodel. The KerML abstract and concrete syntax have been updated consistent with the resolutions to the following KerML FTF issues. Other than as listed above, these changes will not affect user models.

    • KERML-22 Name all associations in the KerML abstract syntax
    • KERML-82 checkConnectorTypeFeaturing is not correct
    • KERML-98 Comment Locale not in textual notation
    • KERML-165 Exponentiation should be right-associative
    • KERML-307 User-defined keywords are not allowed on metadata features

    [PR #540]

  2. KerML Model Libraries. Various models in the Kernel Model Libraries have been updated consistent with the resolutions to the following KerML FTF issues. In addition, the .meta.json and .project.json files in the model library directories have been updated to reflect the new normative KerML URI https://www.omg.org/spec/KerML/240201 and the versions have been updated to 1.0.0-beta2.

    • KERML-45 LinkObject is irreflexive
    • KERML-46 Intersection missing for some multiple specializations
    • KERML-120 FlowTransferBefore needs end feature declarations

    [PR #541]

SysML

  1. SysML Metamodel. The SysML abstract and concrete syntax has been updated consistent with the resolutions to the following SysML v2 FTF issues.

    • SYSML2-85 Effective name is not correct for a redefined perform action usage
    • SYSML2-553 checkRequirementUsageObjectiveRedefinition is incorrect
    • SYSML2-631 User-defined keywords are not allowed on metadata
    • SYSML2-637 User-defined keywords are not allowed on enumeration definitions [see note]
    • SYSML2-643 Comment locale not in textual notation
    • SYSML2-783 Parsing KerML Feature elements from SysML textual notation

    [PR #542]

  2. SysML Model Libraries. Various models in the Systems and Domain Model Libraries have been updated consistent with the resolutions to the following SysML v2 FTF issues. In addition, the .meta.json and .project.json files in the model library directories have been updated to reflect the new normative SysML URI https://www.omg.org/spec/SysML/240201 and the versions have been updated to 2.0.0-beta2. KerML library projects are now required to be version 1.0.0-beta2.

    • SYSML2-158 Example FrontAxle definition
    • SYSML2-634 VerificationCase::subVerificationCases is typed incorrectly

    [PR #543]

Jupyter

None.

Visualization (PlantUML)

  1. Connection ends in compartments. The text for connection ends shown in compartments has been improved to be less cluttered, showing the just names of the referenced features.
    [PR #537]

Technical Updates

  1. Metamodel files. The metamodel files listed below have been updated. The metamodel URIs have been updated with the new date stamp used for the Beta 2 submission to OMG:
    https://www.omg.org/spec/KerML/20240201
    https://www.omg.org/spec/SysML/20240201

    org.omg.sysml/model

    • SysML.uml
    • SysML_only.uml
    • KerML_only.uml
    • SysML_xmi.uml
    • SysML_only_xmi.uml
    • KerML_only_xmi.uml
    • SysML.ecore
    • kerml.ecore

    [PR #534]

  2. Schema files. The following JSON schema files have been updated for the new URIs.

    org.omg.sysml/json-schema

    • KerML.json
    • SysML.json

    [PR #534]

Bug Fixes

  1. Inherited reference rendering. Corrected references to graphical renderings of inherited elements in the SHOWINHERITED style.
    [PR #538]
  2. Lifeclass implicit specializations. Corrected the required implied specialization by a LifeClass of its containing individualDefinition.
    [PR #546]
  3. direction property serialization. Fixed the missing serialization to XMI of the direction property of parameters owned via ParameterMembership.
    [PR #547]
  4. elementId property serialization. Fixed the missing serialization to XMI of the elementId property of standard LibraryPackages.
    [PR #549]

2024-01 - SysML v2 Pilot Implementation

05 Feb 23:33
Compare
Choose a tag to compare

This is an incremental update to the 2023-11 release. It corresponds to Eclipse plugin version 0.38.0.

New Features

KerML

  1. Feature values on connectors. The KerML textual notation now supports declaring feature values on connectors that either have no declared ends or ends declared within their body.

    abstract connectorc1;
    abstract connectorc2 = c1; // Previously did not parse.
    connectorc3 = c1 { // Previously did not parse.
       end::> a;
       end::> b;
    }

    [PR #528]

  2. Model-level evaluable functions. Two additional model-level evaluable functions have been implemented.

    • Range construction operator '..'. An expression of the form e1...e2, in which e1 and e2 evaluate to integers, results in an ordered sequence of a range of sequential integers from the value of e1 to the value of e2, inclusive. For example, 1..3 evaluates to the sequence (1, 2, 3). If the value of e1 is greater than the value of e2, then the result is the empty sequence.
    • SequenceFunctions::excludes function. This function tests whether a value is excluded from a sequence. For example, excludes(1..3, 2) is false, while excludes(1..3, 0) is true. It is the inverse of the includes function, which was already implemented.

    [PR #526]

SysML

  1. Keywords on control nodes. In the SysML textual notation, user-defined keywords are now allowed on control nodes (i.e., merge, decision, join and fork nodes).

    #keyword forkfork1;

    [PR #531]

Backward Incompatibilities

  1. Type conjugation. The KerML textual notation no longer allows multiple conjugation parts on a type declaration (which was invalid anyway).
    [PR #528]

Issue Resolutions

KerML

  1. KerML Metamodel. The KerML abstract and concrete syntax have been updated consistent with the resolutions to the following KerML FTF issues. Other than as listed above, these changes will not affect user models.

    • KERML-7 isDirection, definition, semantics
    • KERML-21 Add property for Annotations owned by an AnnotatingElement
    • KERML-24 Connector declaration does not allow a feature value
    • KERML-61 PrimaryExpressionMember production should generate a ParameterMembership
    • KERML-75 Specify default direction for the ownedParameterMember of a ParameterMembership
    • KERML-90 The MetadataFeature::metaclass multiplicity is too restrictive
    • KERML-109 Textual Syntax allows multiple ConjugationParts on a Type
    • KERML-154 Directed features inherited from a conjugated type not handled properly
    • KERML-155 Expression::result has an incorrect subsetting
    • KERML-194 validateRedefinitionDirectionConformance does not account for conjugation
    • KERML-199 validateMultiplicityRangeBoundResultTypes constraint is too strong
    • KERML-204 Behavior portions must be classified by the same behavior they are portions of
    • KERML-232 Additional problems with deriveFeatureType
    • KERML-248 Error in Expression modelLevelEvaluable operation OCL

    [PR #528]

  2. KerML Model Libraries. Various models in the Kernel Model Libraries have been updated consistent with the resolutions to the following KerML FTF issues.

    • KERML-25 Reflective KerML abstract syntax model has inconsistencies
    • KERML-44 Spatial links can be occurrences
    • KERML-49 Some readonly features are intended to have changing values
    • KERML-158 InsideOf association end feature redefines cross feature
    • KERML-231 LinkObject disjointness is redundant

    [PR #529]

SysML

  1. SysML Metamodel. The SysML abstract and concrete syntax has been updated consistent with the resolutions to the following SysML v2 FTF issues. Other than as listed above, these changes will not affect user models.

    • SYSML2-430 Subsetting of subjectParameter properties is wrong
    • SYSML2-499 Assignments parsed without a target will fail validateAssignmentActionUsageArguments
    • SYSML2-616 User-defined keywords are not allowed on control nodes

    [PR #531]

  2. SysML Model Libraries. Various models in the Systems and Domain Model Libraries have been updated consistent with the resolutions to the following SysML v2 FTF issues.

    • SYSML2-80 Reflective SysML abstract syntax model has inconsistencies
    • SYSML2-182 Universal features can have many values (partially implemented in the 2023-11 release)
    • SYSML2-552 Errors in the TradeStudy domain model

    [PR #530]

Jupyter

None.

Visualization

None.

Technical Updates

  1. Metamodel files. The following metamodel files have been updated.

    org.omg.sysml/model

    • SysML.uml
    • SysML_only.uml
    • KerML_only.uml
    • SysML.ecore (includes both the KerML and SysML metamodels, as used in the implementation)
    • kerml.ecore (includes just the KerML metamodel, without implementation-specific custom annotations)

    (Note that the files SysML_only_xmi.uml and KerML_only_xmi.uml have not been updated.)

    org.omg.sysml.generation

    • SysML.uml

    [PR #527]

  2. Schema files. The following JSON schema files have been updated.

    org.omg.sysml/json-schema

    • KerML.json
    • SysML.json

    [PR #532]

Bug Fixes

  1. Implicit redefinitions. Adds required implicit redefinitions even if a type has (other) owned redefinitions.
    [PR #525]

2023-11 - SysML v2 Pilot Implementation

13 Dec 03:32
Compare
Choose a tag to compare

This is an incremental update to the 2023-10 release. It corresponds to Eclipse plugin version 0.37.0.

Language Features

  1. Requirement constraint usage bodies. Previously, assume and require declarations in a requirement were themselves syntactically treated like requirements, and, so, could have, e.g., nested subject, assume and require declarations. Howver, assume and require actually declare constraint usages, for which nested declarations specific to requirements are invalid. This has now been changed so that assume and require declarations can only have bodies consistent with regular constraint usages.
    [PR #511]

Note. Several issues related to language bug fixes, with resolutions recently approved by the KerML and SysML v2 FTFs, were already implemented in the 2023-10 release.

Model Libraries

  1. KerML. Various models in the Kernel Model Libraries have been updated consistent with the resolutions to the following KerML FTF issues. (Note that some issue resolutions recently approved by the FTF, related to the model libraries that, were already implement in the 2023-10 release.)

    • KERML-38 Binary association ends always unique
    • KERML-42 Occurrences can be data values
    • KERML-43 Performances can be objects, behaviors can be structures
    • KERML-56 Universal features can have many values
    • KERML-77 Problems with IfThenElsePerformance
    • KERML-88 BaseFunctions::',' has a bad parameter declaration
    • KERML-188 DataFunctions::Min and Max should not be capitalized
    • KERML-198 Wrong documentation format for class Occurrence in Semantic Library
    • KERML-227 Documentation of features in Transfers library model is wrong

    [PR #520]

  2. SysML. Various models in the Systems and Domain Model Libraries have been updated consistent with the resolutions to the following SysML v2 FTF issues. (Note that some issue resolutions recently approved by the FTF, related to the model libraries that, were already implement in the 2023-10 release.)

    • SYSML2-79 View::viewpointSatisfactions should subset viewpointChecks and checkedConstraints
    • SYSML2-83 Narrow down return types of SpatialItem::PositionOf and ::CurrentPositionOf
    • SYSML2-102 Semantic constraint for target of AssignmentActionUsage is missing
    • SYSML2-219 Action::decisionTransitions should subset Action::transitions
    • SYSML2-305 Message and flow connection ends should be occurrence usages [fully implemented]
    • SYSML2-490 Actions::acceptSubactions and sendSubactions should subset acceptActions and sendActions

    [PR #521]

    An additional change was also made consistent with the proposed resolution to the following issue, which has not yet been approved by the FTF.

    • SYSML2-182 Universal features can have many value

    [PR #522]

Backward Incompatibilities

  1. Requirement constraint usages. Certain erroneous declarations in the bodies of requirement constraint usages will now be reported as syntax errors rather than validation errors. But there is no effective change in functionality.

Jupyter

None.

Visualization

Bug fixes.

Technical Updates

  1. JupyterLab installer. Updated the node.js dependency to version 15.* in the Unix/MacOS install.sh script for Jupyter, so that it works with the osx-arm64 architecture (for which a 14.* binary is not available), while still remaining on Jupyter version 2.*.

Bug Fixes

  1. Implicit specialization. Fixed a bug that prevented the removal of some unnecessary implicit specializations.
    [PR #514]
  2. Concern usages. Corrected the improper implicit specialization of non-framed concern usages.
    [PR #514]
  3. Port usages. Corrected the implementation of isComposite for port usages.
    [PR #515]
  4. View rendering usages. Corrected the implicit redefinition of view rendering usages.
    [PR #517]
  5. Function operation expressions. Corrected the parsing of function operation expressions, so they parse as invocation expressions, but not operator expressions.
    [PR #518]
  6. Conjugated direction. Corrected the implementation of Type::directionOf for conjugation. Also updated the derivations of Type::input and Type::output.
    [PR #519]
  7. Alias membership visualization. Updated the PlantUML visualization so that unnamed alias memberships are not rendered.
    [PR #516]