sysmlpy 0.44.0__tar.gz → 0.46.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/PKG-INFO +7 -1
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/README.md +6 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/pyproject.toml +1 -1
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/__init__.py +2 -2
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr_visitor.py +155 -3
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/definition.py +11 -1
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/classes.py +22 -1
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/usage.py +67 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/LICENSE +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/boxes_view.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/examples/attribute_values.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/examples/part_attributes.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/plantuml.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/semantic.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/validator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sysmlpy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.46.0
|
|
4
4
|
Summary:
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Author: Jon R. Fox (mycr0ft)
|
|
@@ -104,6 +104,12 @@ Multiple installation methods are supported by sysmlpy, including:
|
|
|
104
104
|
|
|
105
105
|
Documentation can be found [here.](https://mycr0ft.github.io/sysmlpy/)
|
|
106
106
|
|
|
107
|
+
> **Scope reminder** — a green parse result means the file **parsed
|
|
108
|
+
> syntactically**. Names inside constraint bodies and other OCL-style
|
|
109
|
+
> expressions are not yet resolved by the semantic analyzer, so a
|
|
110
|
+
> document that names an undefined symbol inside an `assert constraint
|
|
111
|
+
> { ... }` will still parse cleanly. See [STATUS.md §Known Issues](STATUS.md#known-issues).
|
|
112
|
+
|
|
107
113
|
### Basic Usage
|
|
108
114
|
|
|
109
115
|
Build models programmatically using the public API:
|
|
@@ -79,6 +79,12 @@ Multiple installation methods are supported by sysmlpy, including:
|
|
|
79
79
|
|
|
80
80
|
Documentation can be found [here.](https://mycr0ft.github.io/sysmlpy/)
|
|
81
81
|
|
|
82
|
+
> **Scope reminder** — a green parse result means the file **parsed
|
|
83
|
+
> syntactically**. Names inside constraint bodies and other OCL-style
|
|
84
|
+
> expressions are not yet resolved by the semantic analyzer, so a
|
|
85
|
+
> document that names an undefined symbol inside an `assert constraint
|
|
86
|
+
> { ... }` will still parse cleanly. See [STATUS.md §Known Issues](STATUS.md#known-issues).
|
|
87
|
+
|
|
82
88
|
### Basic Usage
|
|
83
89
|
|
|
84
90
|
Build models programmatically using the public API:
|
|
@@ -25,14 +25,14 @@ __all__ = [
|
|
|
25
25
|
"render_state_transition_view_svg", "boxes_view",
|
|
26
26
|
]
|
|
27
27
|
__author__ = "Jon Fox"
|
|
28
|
-
__version__ = "0.
|
|
28
|
+
__version__ = "0.46.0"
|
|
29
29
|
|
|
30
30
|
from sysmlpy.usage import (
|
|
31
31
|
Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
|
|
32
32
|
State, Constraint, Connection, Flow, Calculation, Enumeration,
|
|
33
33
|
Allocation, Metadata, Rendering, Individual, FlowDef,
|
|
34
34
|
View, Viewpoint, Concern,
|
|
35
|
-
Case, AnalysisCase, VerificationCase,
|
|
35
|
+
Case, AnalysisCase, VerificationCase, Dependency,
|
|
36
36
|
)
|
|
37
37
|
|
|
38
38
|
from sysmlpy.definition import Model, Package
|
|
@@ -314,8 +314,15 @@ def _visit_metadata_feature_dict(ctx):
|
|
|
314
314
|
})
|
|
315
315
|
|
|
316
316
|
body = ""
|
|
317
|
-
if ctx.metadataBody()
|
|
318
|
-
|
|
317
|
+
if ctx.metadataBody():
|
|
318
|
+
if ctx.metadataBody().SEMI():
|
|
319
|
+
body = ";"
|
|
320
|
+
else:
|
|
321
|
+
# Braced body: preserve the raw text so the body content
|
|
322
|
+
# (field assignments, nested usage members, etc.) survives
|
|
323
|
+
# the round-trip. Without this, every `key = value;` inside
|
|
324
|
+
# a metadata application is silently dropped at visit time.
|
|
325
|
+
body = ctx.metadataBody().getText()
|
|
319
326
|
|
|
320
327
|
return {
|
|
321
328
|
"name": "MetadataFeature",
|
|
@@ -813,6 +820,18 @@ def _visit_definition_element_dict(def_elem_ctx, prefix=None):
|
|
|
813
820
|
if hasattr(def_elem_ctx, 'package') and def_elem_ctx.package():
|
|
814
821
|
ctx = def_elem_ctx.package()
|
|
815
822
|
return _make_nested_package_dict(ctx, prefix)
|
|
823
|
+
elif hasattr(def_elem_ctx, 'libraryPackage') and def_elem_ctx.libraryPackage():
|
|
824
|
+
# `standard library package Foo { ... }` shares the declaration/body
|
|
825
|
+
# structure of `package Foo { ... }`. Pass is_standard_library=True so
|
|
826
|
+
# the round-trip dict preserves the `standard library` keywords.
|
|
827
|
+
ctx = def_elem_ctx.libraryPackage()
|
|
828
|
+
return _make_nested_package_dict(ctx, prefix, is_standard_library=True)
|
|
829
|
+
elif hasattr(def_elem_ctx, 'dependency') and def_elem_ctx.dependency():
|
|
830
|
+
# Issue #4: dependency statements were silently dropped. The grammar
|
|
831
|
+
# class Dependency is fully implemented but no visitor dispatch
|
|
832
|
+
# constructed it.
|
|
833
|
+
ctx = def_elem_ctx.dependency()
|
|
834
|
+
return _make_dependency_dict(ctx, prefix)
|
|
816
835
|
elif hasattr(def_elem_ctx, 'itemDefinition') and def_elem_ctx.itemDefinition():
|
|
817
836
|
ctx = def_elem_ctx.itemDefinition()
|
|
818
837
|
return _make_item_definition_dict(ctx, prefix)
|
|
@@ -948,10 +967,14 @@ def _make_item_definition_dict(ctx, member_prefix=None):
|
|
|
948
967
|
}
|
|
949
968
|
|
|
950
969
|
|
|
951
|
-
def _make_nested_package_dict(ctx, prefix=None):
|
|
970
|
+
def _make_nested_package_dict(ctx, prefix=None, is_standard_library=False):
|
|
952
971
|
"""Create a Package dictionary for a nested package.
|
|
953
972
|
|
|
954
973
|
Similar to _visit_package_dict but returns a PackageMember wrapped result.
|
|
974
|
+
|
|
975
|
+
``is_standard_library`` is True when the source was a
|
|
976
|
+
``standard library package`` declaration; in that case the
|
|
977
|
+
``standard library`` keyword is preserved through the round-trip.
|
|
955
978
|
"""
|
|
956
979
|
pkg_name = None
|
|
957
980
|
pkg_shortname = None
|
|
@@ -981,6 +1004,7 @@ def _make_nested_package_dict(ctx, prefix=None):
|
|
|
981
1004
|
"ownedRelatedElement": {
|
|
982
1005
|
"name": "Package",
|
|
983
1006
|
"ownedRelationship": [],
|
|
1007
|
+
"isStandardLibrary": is_standard_library,
|
|
984
1008
|
"declaration": {
|
|
985
1009
|
"name": "PackageDeclaration",
|
|
986
1010
|
"identification": {
|
|
@@ -8099,6 +8123,134 @@ def _make_individual_usage_dict(ctx, prefix=None):
|
|
|
8099
8123
|
}
|
|
8100
8124
|
|
|
8101
8125
|
|
|
8126
|
+
def _make_dependency_dict(ctx, member_prefix=None):
|
|
8127
|
+
"""Create a Dependency dictionary.
|
|
8128
|
+
|
|
8129
|
+
Grammar (SysML v2):
|
|
8130
|
+
dependency
|
|
8131
|
+
: (prefixMetadataAnnotation)* DEPENDENCY (identification? FROM)?
|
|
8132
|
+
qualifiedName (COMMA qualifiedName)* TO qualifiedName
|
|
8133
|
+
(COMMA qualifiedName)* relationshipBody
|
|
8134
|
+
| (prefixMetadataAnnotation)* DEPENDENCY dependencyDeclaration
|
|
8135
|
+
relationshipBody
|
|
8136
|
+
;
|
|
8137
|
+
|
|
8138
|
+
Wrapped in PackageMember + DefinitionElement so the loader places it in
|
|
8139
|
+
the enclosing package / namespace body.
|
|
8140
|
+
"""
|
|
8141
|
+
if ctx is None:
|
|
8142
|
+
return None
|
|
8143
|
+
|
|
8144
|
+
identification = None
|
|
8145
|
+
clients = []
|
|
8146
|
+
suppliers = []
|
|
8147
|
+
body = {"name": "RelationshipBody", "ownedRelationship": []}
|
|
8148
|
+
|
|
8149
|
+
if hasattr(ctx, 'dependencyDeclaration') and ctx.dependencyDeclaration():
|
|
8150
|
+
# Alternative 2: dependencyDeclaration carries identification / FROM /
|
|
8151
|
+
# client-list / supplier-list / TO. relationshipBody is the next
|
|
8152
|
+
# sibling on the dependency context.
|
|
8153
|
+
dep_decl = ctx.dependencyDeclaration()
|
|
8154
|
+
if hasattr(dep_decl, 'identification') and dep_decl.identification():
|
|
8155
|
+
identification = _build_identification_dict(dep_decl.identification())
|
|
8156
|
+
qn_list = dep_decl.qualifiedName()
|
|
8157
|
+
if not isinstance(qn_list, list):
|
|
8158
|
+
qn_list = [qn_list] if qn_list is not None else []
|
|
8159
|
+
# Split on TO: first batch is clients, second batch is suppliers.
|
|
8160
|
+
to_token = dep_decl.TO()
|
|
8161
|
+
if to_token is not None:
|
|
8162
|
+
# ANTLR TerminalNodeImpl doesn't expose `.start` directly; use
|
|
8163
|
+
# `.symbol.start` (the underlying token's char position).
|
|
8164
|
+
to_start = to_token.symbol.start
|
|
8165
|
+
split_idx = len(qn_list)
|
|
8166
|
+
for i, qn in enumerate(qn_list):
|
|
8167
|
+
if qn.start.start > to_start:
|
|
8168
|
+
split_idx = i
|
|
8169
|
+
break
|
|
8170
|
+
clients = qn_list[:split_idx]
|
|
8171
|
+
suppliers = qn_list[split_idx:]
|
|
8172
|
+
else:
|
|
8173
|
+
clients = qn_list
|
|
8174
|
+
# relationshipBody sits on the parent dependency context
|
|
8175
|
+
if hasattr(ctx, 'relationshipBody') and ctx.relationshipBody():
|
|
8176
|
+
body = _visit_dependency_relationship_body_dict(ctx.relationshipBody())
|
|
8177
|
+
else:
|
|
8178
|
+
# Alternative 1: bare `dependency [ident]? [from]? qn , qn , ... to qn , qn , ... {body}`
|
|
8179
|
+
if hasattr(ctx, 'identification') and ctx.identification():
|
|
8180
|
+
identification = _build_identification_dict(ctx.identification())
|
|
8181
|
+
qn_list = ctx.qualifiedName()
|
|
8182
|
+
if not isinstance(qn_list, list):
|
|
8183
|
+
qn_list = [qn_list] if qn_list is not None else []
|
|
8184
|
+
to_token = ctx.TO()
|
|
8185
|
+
if to_token is not None:
|
|
8186
|
+
to_start = to_token.symbol.start
|
|
8187
|
+
split_idx = len(qn_list)
|
|
8188
|
+
for i, qn in enumerate(qn_list):
|
|
8189
|
+
if qn.start.start > to_start:
|
|
8190
|
+
split_idx = i
|
|
8191
|
+
break
|
|
8192
|
+
clients = qn_list[:split_idx]
|
|
8193
|
+
suppliers = qn_list[split_idx:]
|
|
8194
|
+
else:
|
|
8195
|
+
clients = qn_list
|
|
8196
|
+
if hasattr(ctx, 'relationshipBody') and ctx.relationshipBody():
|
|
8197
|
+
body = _visit_dependency_relationship_body_dict(ctx.relationshipBody())
|
|
8198
|
+
|
|
8199
|
+
return {
|
|
8200
|
+
"name": "PackageMember",
|
|
8201
|
+
"prefix": member_prefix,
|
|
8202
|
+
"ownedRelatedElement": {
|
|
8203
|
+
"name": "DefinitionElement",
|
|
8204
|
+
"ownedRelatedElement": {
|
|
8205
|
+
"name": "Dependency",
|
|
8206
|
+
"identification": identification,
|
|
8207
|
+
"clients": [
|
|
8208
|
+
{"name": "QualifiedName", "names": qn.getText().split("::")}
|
|
8209
|
+
for qn in clients if qn is not None
|
|
8210
|
+
],
|
|
8211
|
+
"suppliers": [
|
|
8212
|
+
{"name": "QualifiedName", "names": qn.getText().split("::")}
|
|
8213
|
+
for qn in suppliers if qn is not None
|
|
8214
|
+
],
|
|
8215
|
+
"body": body,
|
|
8216
|
+
}
|
|
8217
|
+
}
|
|
8218
|
+
}
|
|
8219
|
+
|
|
8220
|
+
|
|
8221
|
+
def _visit_dependency_relationship_body_dict(rb_ctx):
|
|
8222
|
+
"""Capture a dependency's relationshipBody.
|
|
8223
|
+
|
|
8224
|
+
Mirrors the aliasMember pattern: walk the body for any
|
|
8225
|
+
OwnedAnnotation / CommentSysML so doc comments survive the round-trip.
|
|
8226
|
+
For the `;` form (empty body), returns the empty shape.
|
|
8227
|
+
"""
|
|
8228
|
+
if rb_ctx is None:
|
|
8229
|
+
return {"name": "RelationshipBody", "ownedRelationship": []}
|
|
8230
|
+
owned = []
|
|
8231
|
+
for child in rb_ctx.children:
|
|
8232
|
+
if type(child).__name__ == 'RelationshipOwnedElementContext':
|
|
8233
|
+
for c2 in child.children:
|
|
8234
|
+
if type(c2).__name__ == 'OwnedAnnotationContext':
|
|
8235
|
+
for c3 in c2.children:
|
|
8236
|
+
if type(c3).__name__ == 'AnnotatingElementContext':
|
|
8237
|
+
owned.append({
|
|
8238
|
+
"name": "OwnedAnnotation",
|
|
8239
|
+
"ownedRelatedElement": [
|
|
8240
|
+
{
|
|
8241
|
+
"name": "AnnotatingElement",
|
|
8242
|
+
"ownedRelatedElement": {
|
|
8243
|
+
"name": "CommentSysML",
|
|
8244
|
+
"body": c3.getText(),
|
|
8245
|
+
"identification": None,
|
|
8246
|
+
"ownedRelationship": []
|
|
8247
|
+
}
|
|
8248
|
+
}
|
|
8249
|
+
]
|
|
8250
|
+
})
|
|
8251
|
+
return {"name": "RelationshipBody", "ownedRelationship": owned}
|
|
8252
|
+
|
|
8253
|
+
|
|
8102
8254
|
def _make_enumeration_definition_dict(ctx, member_prefix=None):
|
|
8103
8255
|
"""Create an EnumerationDefinition dictionary.
|
|
8104
8256
|
|
|
@@ -20,7 +20,7 @@ from sysmlpy.grammar.classes import (
|
|
|
20
20
|
)
|
|
21
21
|
from sysmlpy.grammar.classes import Package as PackageGrammar
|
|
22
22
|
|
|
23
|
-
from sysmlpy import Part, Item, Port, Requirement, UseCase, Attribute, Action, Case, AnalysisCase, VerificationCase, Interface, Message
|
|
23
|
+
from sysmlpy import Part, Item, Port, Requirement, UseCase, Attribute, Action, Case, AnalysisCase, VerificationCase, Interface, Message, Dependency
|
|
24
24
|
from sysmlpy.usage import (
|
|
25
25
|
State, Constraint, Connection, Flow, Calculation, Enumeration,
|
|
26
26
|
Allocation, Metadata, Rendering, Individual, FlowDef,
|
|
@@ -1299,6 +1299,16 @@ class Package(Searchable):
|
|
|
1299
1299
|
r.name = feat_decl.identification.declaredName
|
|
1300
1300
|
r.parent = self
|
|
1301
1301
|
self.children.append(r)
|
|
1302
|
+
elif inner_class == "Dependency":
|
|
1303
|
+
# Issue #4: dependency statements were silently dropped
|
|
1304
|
+
# because no visitor dispatch produced a Dependency dict and
|
|
1305
|
+
# Package.load_from_grammar had no branch for it.
|
|
1306
|
+
d = Dependency()
|
|
1307
|
+
d.grammar = inner_element
|
|
1308
|
+
if hasattr(inner_element, 'identification') and inner_element.identification:
|
|
1309
|
+
d.name = inner_element.identification.declaredName
|
|
1310
|
+
d.parent = self
|
|
1311
|
+
self.children.append(d)
|
|
1302
1312
|
else:
|
|
1303
1313
|
print(f"[Package.load_from_grammar] Unknown class: {inner_class} - skipping") # pragma: no cover
|
|
1304
1314
|
|
|
@@ -226,6 +226,17 @@ class DefinitionElement:
|
|
|
226
226
|
self.children.append(
|
|
227
227
|
InterfaceUsage(definition["ownedRelatedElement"])
|
|
228
228
|
)
|
|
229
|
+
elif de == "Dependency":
|
|
230
|
+
# Issue #4: dependency statements were silently dropped
|
|
231
|
+
# because no visitor dispatch produced a Dependency dict and
|
|
232
|
+
# no DefinitionElement branch constructed it.
|
|
233
|
+
self.children.append(Dependency(definition["ownedRelatedElement"]))
|
|
234
|
+
elif de == "LibraryPackage":
|
|
235
|
+
# `standard library package Foo { ... }` shares the same
|
|
236
|
+
# {identification, body} shape as `package Foo { ... }` plus
|
|
237
|
+
# an isStandardLibrary flag. Reuse Package; the flag is read
|
|
238
|
+
# from the dict in Package.__init__.
|
|
239
|
+
self.children.append(Package(definition["ownedRelatedElement"]))
|
|
229
240
|
else:
|
|
230
241
|
print(f"Unknown DefinitionElement type: {de}") # pragma: no cover
|
|
231
242
|
|
|
@@ -8634,6 +8645,7 @@ class MemberPrefix:
|
|
|
8634
8645
|
|
|
8635
8646
|
class Package:
|
|
8636
8647
|
def __init__(self, definition=None):
|
|
8648
|
+
self.is_standard_library = False
|
|
8637
8649
|
if definition is not None:
|
|
8638
8650
|
if valid_definition(definition, self.__class__.__name__):
|
|
8639
8651
|
# Elements inside of a package
|
|
@@ -8645,13 +8657,15 @@ class Package:
|
|
|
8645
8657
|
self.relationships.append(json.dumps(rel))
|
|
8646
8658
|
self.declaration = PackageDeclaration(definition["declaration"])
|
|
8647
8659
|
self.body = PackageBody(definition["body"])
|
|
8660
|
+
self.is_standard_library = bool(definition.get("isStandardLibrary", False))
|
|
8648
8661
|
else:
|
|
8649
8662
|
self.relationships = []
|
|
8650
8663
|
self.declaration = PackageDeclaration()
|
|
8651
8664
|
self.body = PackageBody()
|
|
8652
8665
|
|
|
8653
8666
|
def dump(self):
|
|
8654
|
-
|
|
8667
|
+
prefix = "standard library " if self.is_standard_library else ""
|
|
8668
|
+
return prefix + "".join([self.declaration.dump(), self.body.dump()])
|
|
8655
8669
|
|
|
8656
8670
|
def get_definition(self):
|
|
8657
8671
|
output = {"name": self.__class__.__name__, "ownedRelationship": []}
|
|
@@ -8659,6 +8673,7 @@ class Package:
|
|
|
8659
8673
|
output["ownedRelationship"] = rel.get_definition()
|
|
8660
8674
|
output["declaration"] = self.declaration.get_definition()
|
|
8661
8675
|
output["body"] = self.body.get_definition()
|
|
8676
|
+
output["isStandardLibrary"] = self.is_standard_library
|
|
8662
8677
|
|
|
8663
8678
|
return output
|
|
8664
8679
|
|
|
@@ -9774,6 +9789,12 @@ class Dependency:
|
|
|
9774
9789
|
output = [self.keyword]
|
|
9775
9790
|
if self.identification is not None:
|
|
9776
9791
|
output.append(self.identification.dump())
|
|
9792
|
+
# Issue #4: the ANTLR grammar ambiguity means an unnamed-form
|
|
9793
|
+
# `dependency name a to X;` is unparseable — `name` is taken as
|
|
9794
|
+
# the identification and `a` then has nowhere to go. To round-trip
|
|
9795
|
+
# safely we always emit `from` between the identification and the
|
|
9796
|
+
# client list.
|
|
9797
|
+
output.append("from")
|
|
9777
9798
|
output.append(", ".join([c.dump() for c in self.clients]))
|
|
9778
9799
|
output.append("to")
|
|
9779
9800
|
output.append(", ".join([s.dump() for s in self.suppliers]))
|
|
@@ -4285,3 +4285,70 @@ class DefaultReference(Usage):
|
|
|
4285
4285
|
# )
|
|
4286
4286
|
|
|
4287
4287
|
# return package
|
|
4288
|
+
|
|
4289
|
+
|
|
4290
|
+
class Dependency(Usage):
|
|
4291
|
+
"""SysML v2 Dependency usage.
|
|
4292
|
+
|
|
4293
|
+
Represents a UML-style dependency between model elements.
|
|
4294
|
+
Usage:
|
|
4295
|
+
Dependency() # dependency ;
|
|
4296
|
+
Dependency(name='D') # dependency D from x to y;
|
|
4297
|
+
"""
|
|
4298
|
+
sysml_type = 'dependency'
|
|
4299
|
+
|
|
4300
|
+
def __init__(self, name=None, clients=None, suppliers=None, shortname=None):
|
|
4301
|
+
Usage.__init__(self)
|
|
4302
|
+
self.grammar = None
|
|
4303
|
+
self.clients = clients or []
|
|
4304
|
+
self.suppliers = suppliers or []
|
|
4305
|
+
# Usage.__init__ assigns a UUID-based name; override to None when
|
|
4306
|
+
# the dependency is anonymous (the common case for
|
|
4307
|
+
# `dependency b to A;`).
|
|
4308
|
+
self.name = name
|
|
4309
|
+
if shortname is not None:
|
|
4310
|
+
self._set_name(shortname, short=True)
|
|
4311
|
+
|
|
4312
|
+
def dump(self):
|
|
4313
|
+
# Issue #4: dependencies are emitted from the grammar tree; this
|
|
4314
|
+
# method exists for compatibility with the Usage API.
|
|
4315
|
+
if self.grammar is not None and hasattr(self.grammar, 'dump'):
|
|
4316
|
+
return self.grammar.dump()
|
|
4317
|
+
return "dependency"
|
|
4318
|
+
|
|
4319
|
+
def _get_definition(self, child=None):
|
|
4320
|
+
"""Build a PackageMember-wrapped Dependency dict for the model tree.
|
|
4321
|
+
|
|
4322
|
+
The Dependency grammar class returns the bare inner shape
|
|
4323
|
+
(`{"name": "Dependency", "identification": ..., "clients": ...,
|
|
4324
|
+
"suppliers": ..., "body": ...}`). For inclusion in a package body
|
|
4325
|
+
we wrap it the same way other definitions are wrapped:
|
|
4326
|
+
`PackageMember -> DefinitionElement -> Dependency`.
|
|
4327
|
+
"""
|
|
4328
|
+
if self.grammar is not None and hasattr(self.grammar, 'get_definition'):
|
|
4329
|
+
grammar_def = self.grammar.get_definition()
|
|
4330
|
+
else:
|
|
4331
|
+
grammar_def = {
|
|
4332
|
+
"name": "Dependency",
|
|
4333
|
+
"identification": None,
|
|
4334
|
+
"clients": [],
|
|
4335
|
+
"suppliers": [],
|
|
4336
|
+
"body": None,
|
|
4337
|
+
}
|
|
4338
|
+
# Sync identification name
|
|
4339
|
+
if self.name is not None and grammar_def.get("identification"):
|
|
4340
|
+
grammar_def["identification"]["declaredName"] = self.name
|
|
4341
|
+
elif self.name is not None:
|
|
4342
|
+
grammar_def["identification"] = {
|
|
4343
|
+
"name": "Identification",
|
|
4344
|
+
"declaredName": self.name,
|
|
4345
|
+
"declaredShortName": None,
|
|
4346
|
+
}
|
|
4347
|
+
return {
|
|
4348
|
+
"name": "PackageMember",
|
|
4349
|
+
"prefix": None,
|
|
4350
|
+
"ownedRelatedElement": {
|
|
4351
|
+
"name": "DefinitionElement",
|
|
4352
|
+
"ownedRelatedElement": grammar_def,
|
|
4353
|
+
},
|
|
4354
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp
RENAMED
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py
RENAMED
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.44.0 → sysmlpy-0.46.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|