Repository navigation
fix(semantics,symbols): a then x; succession owns its two ends on the native walk — nameless ReferenceUsages through an EndFeatureMembership each, named by the happensBeforeLinks end they redefine, the target end reference-subsetting the member it reaches — as the RDF writer mints them and the pilot exports them - #2173
Open
devin-ai-integration[bot] wants to merge 3 commits into
Open
devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
…he native walk — nameless ReferenceUsages through an EndFeatureMembership each, named by the happensBeforeLinks end they redefine, the target end reference-subsetting the member it reaches — as the RDF writer mints them and the pilot exports them Co-Authored-By: Nicolas Rouquette <nicolas.f.rouquette@jpl.nasa.gov>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
…n-end-memberships Co-Authored-By: Nicolas Rouquette <nicolas.f.rouquette@jpl.nasa.gov> # Conflicts: # internal/doc/queryexec/elementids.go
…he succession writes for it — the source multiplicity on the source end, the crossing one on the target end — so it states [0..1] rather than the implied [1..1], as the conversion and the pilot do Co-Authored-By: Nicolas Rouquette <nicolas.f.rouquette@jpl.nasa.gov>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
A
then x;succession whose source is the member before it (or a positional source carrying a multiplicity) owns two end features in the conversion and in the pilot's export — namelessReferenceUsages through anEndFeatureMembershipeach — but the native walk owned none:SuccessionAsUsage::ownedRelationshipanswered the empty list where the RDF writer states two memberships, and the structure differential reportedrelatedFeature/sourceFeature/targetFeatureas unsupported for every such succession (QVTS SPARQL cross cellsownedRelationship×3 and the foursymbol unsupportedrows).The semantic model now mints the two ends lazily per succession (
SuccessionEndMembers, memoized in a side table; the AST is untouched), as the writer does (encodeSuccessionEdge):SymbolConnectorEndwithisEnd, metaclassReferenceUsage, listed first inOwnedMembershipsunder anEndFeatureMembership;Occurrences::happensBeforeLinksend it redefines (earlierOccurrence,laterOccurrence), through the same implied-end lookupImpliedEndNamealready used;ReferenceSubsettingto the member it reaches (acquire, the one after it, the library'sdone); the source end is minted empty, as the writer mints it;end0/end1(andend1'srs) on the query leg, in the export id table and in the structure differential's id mapping.then idle;after a bareentry;owns no ends, as the writer writes none. A target no element stands for (then terminate;) reads as unresolved rather than as an empty list.Two follow-ups named, not fixed here (writer-side): the pilot implies a
ReferenceSubsettingon the source end to the preceding member, which the writer leaves empty; and forthen done;inside a use case the writer referencesActions::Action::donewhile the model resolves thedonethe use case inherits — the structure differential now shows these asdifferentinstead ofsymbol-missing.Specification basis
SysML v2 textual notation (SysML.xtext
TargetSuccession): athensuccession's two implied ends; KerMLConnectorends asEndFeatureMembership-owned features. No compliance row moves.How it was verified
TestThenSuccessionOwnsItsEnds(semantics): twoEndFeatureMemberships,isEnd, effective names, target end reference, and the bare-entry;exception — fails ondevelop.Connector::relatedFeature/sourceFeature/targetFeaturesymbol-missing drops (examples 178 → 111, pilot corpora 1120 → 1011),Relationship::source/target,Element::ownedRelationship,Type::ownedEndFeature,Feature::ownedReferenceSubsettinggain matches; the residual growth indifferent/symbol-extrais the two writer-side follow-ups above plus the pre-existing anonymous-inherited-member andisConstantclasses on the new features.-checkreproduces; both corpus round trips,make docs-counts, snapshot test reproduce.go build ./...,go vet ./...,gofmt -l .empty,make test-short134 ok +cmd/sysml,tests/codegen,tests/exportpassing alone at 40m (cold-cache timeout).Checklist
make testandmake lintpass locallychanges/unreleased/<slug>.<section>.md, not as an edit toCHANGELOG.mdmake docs-countsrun if a gate count moved (compliance rows need nothing: the census is counted at docs build)F4,K5) in the body, docs, or changelogLink to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/18ad47adf36f44e9b6824a4472f9678d
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/18ad47adf36f44e9b6824a4472f9678d?variant=devin
Requested by: @NicolasRouquette
🔄 Devin is fixing 3 findings · Follow Devin's work