Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions changes/unreleased/usage-is-reference-false.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- A composite usage answers `isReference = false` wherever the element form is read — `GetElementProperties`, `sysml -convert api-json` and the clients over them — instead of answering nothing: `Usage::isReference` is a required Boolean derived as `not isComposite` (SysML v2.1 Beta 2 §8.3.6.4 `deriveUsageIsReference`), and the element form now completes it on every usage the graph does not state it on, as the negation of the `isComposite` the same element states. A feature whose declaration states `isComposite` keeps that value under its metaclass's rule — a KerML `composite feature` is composite and not referential.
6 changes: 4 additions & 2 deletions docs/project/api-json-differential.md
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,8 @@ disagreement, which `-check` then shows as that row moving out of the column.
The scorecard headline, rendered from the baseline when the site builds.
<!-- doc-counts:end apijson-scorecard -->

Re-recorded on the `Usage::isReference` completion (a usage states `isReference` as `not isComposite`, SysML v2.1 Beta 2 §8.3.6.4 `deriveUsageIsReference`, a composite one as `false`; it was written only where the graph stated it): no element match moves, and only `isReference` rows do — 11659 values leave ours-missing, 11639 of them present-equal and 20 present-different, over the 47 usage metaclasses the pilot states it on, none of which is ours-missing any longer. The 20 are the elements whose `isComposite` already differs from the pilot's, negated: 7 `ActionUsage` (a loop's body action, ours composite) and 13 `Usage` (a usage a user keyword declares, ours referential), the same counts the `isComposite` rows carry. Seven rows appear, all pilot-missing — `Feature` 1240, `Succession` 26, `BindingConnector` 8, `Flow` 3, `Invariant`, `MetadataFeature` and `SuccessionFlow` 1 each: the KerML features this writer types as usages, on which the pilot's metaclass has no such property — the counts the `mayTimeVary` rows of the same metaclasses already carry (11770 → 11777 rows).

Re-recorded on the bare state-subaction change (a bare `entry;`, `do;` or `exit;` performs an anonymous empty `ActionUsage` its `StateSubactionMembership` owns, SysML.xtext EmptyActionUsage, where before the membership stood alone with no member): the 46 such memberships across the roots now state `memberElement`, `ownedMemberElement`, `ownedMemberFeature`, `ownedRelatedElement`, `relatedElement` and `target`, each row 46 ours-missing → present-different since the element matcher pairs no anonymous action of ours with the pilot's (elements ours-only +46, the same 46 the pilot states on its side; a matcher follow-up), `source` 46 → present-equal, and their states' `entryAction`/`doAction`/`exitAction` (`StateDefinition` 18, `StateUsage` 17, `ExhibitStateUsage` 11) ours-missing → present-different for the same reason while their `ownedFeatureMembership` (16/15/11) moves present-different → present-equal, the membership list now agreeing. Present-equal 2045864 → 2045952, ours-missing 308343 → 307883, present-different 143898 → 144270, pilot-missing 81606 → 81560.

||||||| f7f2022503
Expand Down Expand Up @@ -971,8 +973,8 @@ The (metaclass, property) rows ranked by the corpus elements on which the pilot
| `ParameterMembership` | `ownedMemberName` | not completed (as `ReturnParameterMembership::ownedMemberName`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.4.8); the pilot states the effective name of an unnamed parameter that redefines a named one by position |
| `ParameterMembership` | `memberName` | not completed (as `ownedMemberName`) | `Membership::memberName`, the owned member's name (KerML 8.3.2.4.3) |
| `Membership` | `membershipOwningNamespace` | not completed | `Membership::membershipOwningNamespace`, the owning Namespace of the Membership, which redefines `owningRelatedElement` (KerML 8.3.2.4.3) |
| `AttributeUsage` | `isReference` | not completed | `Usage::isReference = not isComposite` (SysML 8.3.6.4, deriveUsageIsReference); the pilot states it on every attribute usage |
| `ReferenceUsage` | `isReference` | not completed | `Usage::isReference = not isComposite` (SysML 8.3.6.4, deriveUsageIsReference); the pilot states it on every reference usage, the connector ends and positional parameters the effective-name change now matches among them |
| `AttributeUsage` | `isReference` | closed — the element form completes it on every usage | `Usage::isReference = not isComposite` (SysML 8.3.6.4, deriveUsageIsReference); the pilot states it on every attribute usage |
| `ReferenceUsage` | `isReference` | closed — the element form completes it on every usage | `Usage::isReference = not isComposite` (SysML 8.3.6.4, deriveUsageIsReference); the pilot states it on every reference usage, the connector ends and positional parameters the effective-name change now matches among them |
| `AttributeUsage` | `membership` | this record's step 5 (completed from the semantic inheritance table; the rows still ours-missing are the expression, result-feature and multiplicity elements whose implied bases structure mode does not reach, and the lists still different are itemised there) | `Namespace::membership = ownedMembership->union(importedMembership)`, for a Type with the inherited memberships (KerML 8.3.2.4.5, deriveNamespaceMembership; 8.3.3.1.10) |
| `AttributeUsage` | `member` | this record's step 5 (completed from the semantic inheritance table; the rows still ours-missing are the expression, result-feature and multiplicity elements whose implied bases structure mode does not reach, and the lists still different are itemised there) | `Namespace::member = membership.memberElement` (KerML 8.3.2.4.5, deriveNamespaceMember) |
| `AttributeUsage` | `inheritedMembership` | this record's step 5 (completed from the semantic inheritance table; the rows still ours-missing are the expression, result-feature and multiplicity elements whose implied bases structure mode does not reach, and the lists still different are itemised there) | `Type::inheritedMembership = inheritedMemberships(Set{}, Set{}, false)` (KerML 8.3.3.1.10, deriveTypeInheritedMembership) |
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading