API JSON: `verify`, flow ends, message ends and a transition's `then` use other metaclasses than the grammar
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- go
- Domain
- api, backend-api-design
Research direction
Start with the sysml -convert api-json <file> entry point and reproduce the four examples with sysml -validate; compare each exported metaclass with the grammar references in the issue. Read rdf-mapping.md:1548 for the existing verify mapping, then verify that the API output matches the listed grammar constructs for verification, flow ends, message events and transition succession.
Written by the indexing model from the issue text.
Description
sysml -convert api-json <file> on develop (72081f8). Each file below validates cleanly in sysml -validate and in SysIDE 0.10.3.
| Source | Exported | Grammar (SysML-textual-bnf) |
|---|---|---|
verification def T { objective { verify r; } } |
FeatureMembership owning a SatisfyRequirementUsage (sysx:declaredKeyword "verify") |
RequirementVerificationMembership owning a RequirementUsage (:1551-1557) |
flow of Fuel from a.p.fuel to b.p.fuel; |
each end a ReferenceUsage with isEnd |
EndFeatureMembership owning a FlowEnd (:864-869) |
message m from a to b; |
each end a ReferenceUsage under an EndFeatureMembership |
ParameterMembership owning an EventOccurrenceUsage (:823-827) |
transition t first a then b; |
TransitionUsage with source/target set; it owns no Succession |
OwningMembership owning a Succession (TransitionSuccessionMember, :1340-1344) |
The examples, one file each:
package V {
requirement r;
verification def T { objective { verify r; } }
}
package F {
item def Fuel;
port def P { out item fuel : Fuel; }
part a { port p : P; }
part b { port p : ~P; }
flow of Fuel from a.p.fuel to b.p.fuel;
}
package M {
part a;
part b;
occurrence def Talk { message m from a to b; }
}
package T {
state def S {
state a;
state b;
transition t first a then b;
}
}
Why it matters for a consumer of the API form: a verify is read as a satisfaction, which a verification report must keep apart, and code that finds flow ends, message events or a transition's succession by metaclass finds none.
rdf-mapping.md:1548 calls verify a synonym of satisfy. In a requirement body the grammar gives it its own membership (:1551), so it isn't one there.
- Dominant language
- Go
- Stars
- 24
- Forks
- 5
- Avg merge
- 10h 11m
- Merged PRs (30d)
- 572
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Open-MBEE/OpenSysML
-
Maintainers usually reply within 1 day
-
Open-MBEE/OpenSysML#729 · 2 comments ·
Maintainers usually reply within 1 day
-
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Open-MBEE/OpenSysML#720 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
All issues in Open-MBEE/OpenSysML
Similar issues
-
[Docs] - Document minimum Terraform/OpenTofu version (>= 1.11) required by write-only argumentsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
MagaluCloud/terraform-provider-mgc#323 ·
Maintainers usually reply within 11 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rossoctl/context-guru#366 ·
Maintainers usually reply within 1 day
-
stage-fail
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
siyuan-note/bazaar#2293 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
piraeusdatastore/piraeus-operator#1070 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day