sysmlpy 0.66.0__tar.gz → 0.67.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.66.0 → sysmlpy-0.67.0}/PKG-INFO +1 -1
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/pyproject.toml +1 -1
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/__init__.py +1 -1
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr_visitor.py +50 -1
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/plantuml.py +203 -30
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/LICENSE +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/boxes_view.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/definition.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/evaluator.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/examples/attribute_values.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/examples/part_attributes.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/grammar/classes.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/interchange.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/lsp/__init__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/lsp/__main__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/lsp/protocol.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/lsp/server.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/lsp/stdio.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/semantic.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/spreadsheet.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/traceability.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/usage.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/validator.py +0 -0
|
@@ -33,7 +33,7 @@ __all__ = [
|
|
|
33
33
|
"render_state_transition_view_svg", "boxes_view",
|
|
34
34
|
]
|
|
35
35
|
__author__ = "Jon Fox"
|
|
36
|
-
__version__ = "0.
|
|
36
|
+
__version__ = "0.67.0"
|
|
37
37
|
|
|
38
38
|
from sysmlpy.usage import (
|
|
39
39
|
Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
|
|
@@ -6550,6 +6550,55 @@ def _make_requirement_usage_dict(ctx, prefix=None):
|
|
|
6550
6550
|
def _make_connection_usage_dict(ctx, prefix=None):
|
|
6551
6551
|
"""Create a ConnectionUsage dictionary."""
|
|
6552
6552
|
name, shortname = _get_usage_identification(ctx)
|
|
6553
|
+
|
|
6554
|
+
# Parse the connector part (``connect X to Y``) so endpoints survive
|
|
6555
|
+
# into the grammar object tree (v0.67.0 — fixes the "part": None stub)
|
|
6556
|
+
# connectionUsage: occurrenceUsagePrefix ( CONNECTION usageDeclaration?
|
|
6557
|
+
# valuePart? ( CONNECT connectorPart )? | CONNECT connectorPart ) usageBody
|
|
6558
|
+
# — the connectorPart sits directly on the connectionUsage ctx.
|
|
6559
|
+
conn_part_dict = None
|
|
6560
|
+
if ctx is not None:
|
|
6561
|
+
cp = None
|
|
6562
|
+
if hasattr(ctx, 'connectorPart') and ctx.connectorPart():
|
|
6563
|
+
cp = ctx.connectorPart()
|
|
6564
|
+
if isinstance(cp, list):
|
|
6565
|
+
cp = cp[0] if cp else None
|
|
6566
|
+
if cp:
|
|
6567
|
+
end_members = []
|
|
6568
|
+
if hasattr(cp, 'binaryConnectorPart') and cp.binaryConnectorPart():
|
|
6569
|
+
bcp = cp.binaryConnectorPart()
|
|
6570
|
+
if isinstance(bcp, list):
|
|
6571
|
+
bcp = bcp[0] if bcp else None
|
|
6572
|
+
if bcp and hasattr(bcp, 'connectorEndMember') and bcp.connectorEndMember():
|
|
6573
|
+
ems = bcp.connectorEndMember()
|
|
6574
|
+
if isinstance(ems, list):
|
|
6575
|
+
for em in ems:
|
|
6576
|
+
end = _visit_connector_end_member(em)
|
|
6577
|
+
if end:
|
|
6578
|
+
end_members.append(end)
|
|
6579
|
+
elif hasattr(cp, 'naryConnectorPart') and cp.naryConnectorPart():
|
|
6580
|
+
ncp = cp.naryConnectorPart()
|
|
6581
|
+
if isinstance(ncp, list):
|
|
6582
|
+
ncp = ncp[0] if ncp else None
|
|
6583
|
+
if ncp and hasattr(ncp, 'connectorEndMember') and ncp.connectorEndMember():
|
|
6584
|
+
ems = ncp.connectorEndMember()
|
|
6585
|
+
if isinstance(ems, list):
|
|
6586
|
+
for em in ems:
|
|
6587
|
+
end = _visit_connector_end_member(em)
|
|
6588
|
+
if end:
|
|
6589
|
+
end_members.append(end)
|
|
6590
|
+
if end_members:
|
|
6591
|
+
conn_part_dict = {
|
|
6592
|
+
"name": "ConnectorPart",
|
|
6593
|
+
"part": {
|
|
6594
|
+
"name": "BinaryConnectorPart",
|
|
6595
|
+
"ownedRelationship": end_members,
|
|
6596
|
+
},
|
|
6597
|
+
}
|
|
6598
|
+
else:
|
|
6599
|
+
conn_part_dict = None
|
|
6600
|
+
else:
|
|
6601
|
+
conn_part_dict = None
|
|
6553
6602
|
|
|
6554
6603
|
return {
|
|
6555
6604
|
"name": "PackageMember",
|
|
@@ -6575,7 +6624,7 @@ def _make_connection_usage_dict(ctx, prefix=None):
|
|
|
6575
6624
|
"specialization": None
|
|
6576
6625
|
}
|
|
6577
6626
|
},
|
|
6578
|
-
"part":
|
|
6627
|
+
"part": conn_part_dict,
|
|
6579
6628
|
"body": {
|
|
6580
6629
|
"name": "UsageBody",
|
|
6581
6630
|
"body": {
|
|
@@ -21,7 +21,10 @@ from sysmlpy.definition import Model, Package
|
|
|
21
21
|
|
|
22
22
|
# ============================================================
|
|
23
23
|
# Relationship Arrow Mappings
|
|
24
|
-
#
|
|
24
|
+
# Ground truth: the official org.omg.sysml.plantuml reference impl
|
|
25
|
+
# (SysML2PlantUMLStyle.StyleRelDefaultSwitch, B&W default style) and
|
|
26
|
+
# the OMG "Intro to the SysML v2 Language — Graphical Notation"
|
|
27
|
+
# figures (v0.67.0 — Goal 6 notation fidelity).
|
|
25
28
|
# ============================================================
|
|
26
29
|
|
|
27
30
|
ARROW_STYLES = {
|
|
@@ -30,28 +33,46 @@ ARROW_STYLES = {
|
|
|
30
33
|
"shared": "o--", # hollow diamond (isComposite=False)
|
|
31
34
|
"owning": "+--", # plus sign (owning membership)
|
|
32
35
|
"non_owning": "+..", # dotted plus (non-owning membership)
|
|
36
|
+
"variant": "+---", # variant membership (official: +---)
|
|
33
37
|
|
|
34
38
|
# Typing / Specialization
|
|
35
39
|
"typing": "--:|>", # colon + block arrow (feature typing)
|
|
36
40
|
"specialization": "--|>", # block arrow (general specialization)
|
|
37
|
-
"redefinition": "--||>", # double bar + block arrow
|
|
41
|
+
"redefinition": "--||>", # double bar + block arrow (distinct!)
|
|
38
42
|
|
|
39
43
|
# Connections
|
|
40
|
-
"binding": "-[thickness=
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
"binding": "-[thickness=5]-", # thick plain line: «bind»/=
|
|
45
|
+
# (both sides asserted equal)
|
|
46
|
+
"connector": "-[thickness=3]-", # thick plain line, no arrowhead
|
|
47
|
+
# (arrow only when it carries
|
|
48
|
+
# metadata — official convention)
|
|
49
|
+
"connector_directed": "-[thickness=3]->",
|
|
50
|
+
"flow": "-->", # solid thin arrow (item flow)
|
|
51
|
+
"succession": "-->", # solid thin arrow (succession)
|
|
52
|
+
"succession_flow": "..>", # dotted arrow (SuccessionFlowUsage)
|
|
53
|
+
"allocation": "-[thickness=5,dotted]->", # thick dotted arrow
|
|
45
54
|
|
|
46
55
|
# Dependencies
|
|
47
56
|
"dependency": "..>>", # dotted double-arrow
|
|
48
|
-
"satisfy": "-->", #
|
|
49
|
-
"verify": "-->", #
|
|
50
|
-
"derive": "
|
|
57
|
+
"satisfy": "-->", # solid arrow (SatisfyRequirementUsage)
|
|
58
|
+
"verify": "-->", # solid arrow
|
|
59
|
+
"derive": "..>", # dashed line, «derive»/#derive label
|
|
60
|
+
# (spec figure; official pilot omits it)
|
|
51
61
|
"refine": "..>>", # dotted double-arrow
|
|
62
|
+
"perform": "-->", # PerformActionUsage
|
|
63
|
+
"exhibit": "-->", # ExhibitStateUsage
|
|
64
|
+
"include_use_case": "-->", # IncludeUseCaseUsage
|
|
65
|
+
|
|
66
|
+
# Actions (asynchronous messages)
|
|
67
|
+
"send_action": "..>>", # send action: dotted double-arrow out
|
|
68
|
+
"accept_action": "<<..", # accept action: reversed (arrives here)
|
|
69
|
+
|
|
70
|
+
# Requirements extras
|
|
71
|
+
"objective": "-->>", # objective membership (req objectives)
|
|
52
72
|
|
|
53
73
|
# Comments / Annotations
|
|
54
74
|
"comment": "..", # dotted line, no arrowhead
|
|
75
|
+
"metadata": "..@", # metadata annotation
|
|
55
76
|
"import": "..>", # dotted arrow
|
|
56
77
|
}
|
|
57
78
|
|
|
@@ -1384,10 +1405,11 @@ def as_interconnection_diagram(model, focus=None, elements=None, style="bw",
|
|
|
1384
1405
|
"legend right",
|
|
1385
1406
|
" <b>Interconnection Legend</b>",
|
|
1386
1407
|
" Relationship: Notation",
|
|
1387
|
-
" Binding: -[thickness=
|
|
1388
|
-
"
|
|
1408
|
+
" Binding (==): -[thickness=5]-",
|
|
1409
|
+
" Connection: -[thickness=3]-",
|
|
1389
1410
|
" Flow Transfer: -->",
|
|
1390
|
-
"
|
|
1411
|
+
" Succession Flow: ..>",
|
|
1412
|
+
" Allocation: -[thickness=5,dotted]->",
|
|
1391
1413
|
" Feature Typing: --:|> ",
|
|
1392
1414
|
" Composite (owns): *--",
|
|
1393
1415
|
" | Specialization | --|> |",
|
|
@@ -1662,7 +1684,9 @@ def as_action_flow_view(model, focus=None, elements=None, style="bw", direction=
|
|
|
1662
1684
|
" <b>Action Flow Legend</b>",
|
|
1663
1685
|
" Relationship: Notation",
|
|
1664
1686
|
" Flow Transfer: -->",
|
|
1665
|
-
"
|
|
1687
|
+
" Succession Flow: ..>",
|
|
1688
|
+
" Binding (==): -[thickness=5]-",
|
|
1689
|
+
" Connection: -[thickness=3]-",
|
|
1666
1690
|
" Composite (owns): *--",
|
|
1667
1691
|
" Feature Typing: --:|> ",
|
|
1668
1692
|
"endlegend",
|
|
@@ -1805,6 +1829,79 @@ def _extract_flow_connections(model):
|
|
|
1805
1829
|
return connections
|
|
1806
1830
|
|
|
1807
1831
|
|
|
1832
|
+
def _extract_connection_endpoints(conn_element):
|
|
1833
|
+
"""Extract (from_names, to_names) from a ConnectionUsage's grammar.
|
|
1834
|
+
|
|
1835
|
+
Navigates ConnectionUsage → ConnectorPart → BinaryConnectorPart →
|
|
1836
|
+
ConnectorEndMember → ConnectorEnd → OwnedReferenceSubsetting to
|
|
1837
|
+
recover the endpoint reference name paths (v0.67.0).
|
|
1838
|
+
|
|
1839
|
+
Returns (from_names, to_names) as lists of name segments, or
|
|
1840
|
+
(None, None) when the grammar does not carry both ends.
|
|
1841
|
+
"""
|
|
1842
|
+
g = getattr(conn_element, 'grammar', None)
|
|
1843
|
+
if g is None:
|
|
1844
|
+
return None, None
|
|
1845
|
+
part = getattr(g, 'part', None)
|
|
1846
|
+
binpart = getattr(part, 'part', None) if part is not None else None
|
|
1847
|
+
if binpart is None or binpart.__class__.__name__ != 'BinaryConnectorPart':
|
|
1848
|
+
return None, None
|
|
1849
|
+
members = getattr(binpart, 'children', None) or []
|
|
1850
|
+
ends = []
|
|
1851
|
+
for member in members:
|
|
1852
|
+
names = None
|
|
1853
|
+
for end in (getattr(member, 'children', None) or []):
|
|
1854
|
+
for sub in (getattr(end, 'children', None) or []):
|
|
1855
|
+
if sub.__class__.__name__ == 'OwnedReferenceSubsetting':
|
|
1856
|
+
seg = []
|
|
1857
|
+
ref = getattr(sub, 'referencedFeature', None)
|
|
1858
|
+
if ref is not None and getattr(ref, 'names', None):
|
|
1859
|
+
seg.extend(ref.names)
|
|
1860
|
+
for chain in (getattr(sub, 'elements', None) or []):
|
|
1861
|
+
fc = getattr(chain, 'feature', None)
|
|
1862
|
+
for oc in (getattr(fc, 'children', None) or []):
|
|
1863
|
+
cf = getattr(oc, 'chainingFeature', None)
|
|
1864
|
+
if cf is not None and getattr(cf, 'names', None):
|
|
1865
|
+
seg.extend(cf.names)
|
|
1866
|
+
if seg:
|
|
1867
|
+
names = seg
|
|
1868
|
+
ends.append(names)
|
|
1869
|
+
if len(ends) >= 2 and ends[0] and ends[1]:
|
|
1870
|
+
return ends[0], ends[1]
|
|
1871
|
+
return None, None
|
|
1872
|
+
|
|
1873
|
+
|
|
1874
|
+
def _extract_connections(model):
|
|
1875
|
+
"""Scan the model for all connector usages (``connection`` elements).
|
|
1876
|
+
|
|
1877
|
+
Returns a list of ``(from_names, to_names, connection_name)``
|
|
1878
|
+
tuples. Connection edges render as a thick plain line
|
|
1879
|
+
(``-[thickness=3]-``) per the official notation (v0.67.0).
|
|
1880
|
+
"""
|
|
1881
|
+
connections = []
|
|
1882
|
+
visited = set()
|
|
1883
|
+
|
|
1884
|
+
def _scan(element):
|
|
1885
|
+
elem_id = id(element)
|
|
1886
|
+
if elem_id in visited:
|
|
1887
|
+
return
|
|
1888
|
+
visited.add(elem_id)
|
|
1889
|
+
|
|
1890
|
+
if getattr(element, 'sysml_type', '') == 'connection':
|
|
1891
|
+
from_names, to_names = _extract_connection_endpoints(element)
|
|
1892
|
+
if from_names and to_names:
|
|
1893
|
+
connections.append((from_names, to_names,
|
|
1894
|
+
getattr(element, 'name', None)))
|
|
1895
|
+
|
|
1896
|
+
for child in getattr(element, 'children', []) or []:
|
|
1897
|
+
_scan(child)
|
|
1898
|
+
|
|
1899
|
+
for child in getattr(model, 'children', []) or []:
|
|
1900
|
+
_scan(child)
|
|
1901
|
+
|
|
1902
|
+
return connections
|
|
1903
|
+
|
|
1904
|
+
|
|
1808
1905
|
def _find_state_in_children(element, state_name):
|
|
1809
1906
|
"""Find a child state element by name within a parent's children tree."""
|
|
1810
1907
|
if state_name is None:
|
|
@@ -2040,18 +2137,58 @@ def as_state_transition_view(model, focus=None, elements=None, style="bw",
|
|
|
2040
2137
|
terminal_states = []
|
|
2041
2138
|
focus_name = getattr(focus, 'name', None) if focus else None
|
|
2042
2139
|
|
|
2043
|
-
# Render state elements using PlantUML state keyword for proper state
|
|
2140
|
+
# Render state elements using PlantUML state keyword for proper state
|
|
2141
|
+
# diagram support; composite states nest their children via state blocks
|
|
2142
|
+
# (official stv notation — v0.67.0)
|
|
2143
|
+
type_by_alias = {}
|
|
2144
|
+
name_by_alias = {}
|
|
2044
2145
|
for alias, name, stereotype, elem, is_included in elements_list:
|
|
2045
|
-
|
|
2146
|
+
type_by_alias[alias] = getattr(elem, 'sysml_type', '')
|
|
2147
|
+
name_by_alias[alias] = name
|
|
2148
|
+
|
|
2149
|
+
# State containment hierarchy (composite edges between states)
|
|
2150
|
+
state_children = {}
|
|
2151
|
+
for src, arrow, dst, label, is_external in relationships:
|
|
2152
|
+
if (not is_external and arrow == ARROW_STYLES["composite"]
|
|
2153
|
+
and type_by_alias.get(src) == 'state'
|
|
2154
|
+
and type_by_alias.get(dst) == 'state'):
|
|
2155
|
+
state_children.setdefault(src, []).append(dst)
|
|
2156
|
+
|
|
2157
|
+
nested_child_aliases = {c for kids in state_children.values()
|
|
2158
|
+
for c in kids}
|
|
2159
|
+
emitted = set()
|
|
2160
|
+
|
|
2161
|
+
def _emit_state_block(alias, depth):
|
|
2162
|
+
"""Recursively emit a state and its nested child states."""
|
|
2163
|
+
emitted.add(alias)
|
|
2164
|
+
nonlocal first_state_alias
|
|
2165
|
+
name = name_by_alias.get(alias, alias)
|
|
2166
|
+
pad = " " * depth
|
|
2167
|
+
kids = state_children.get(alias, [])
|
|
2168
|
+
if kids:
|
|
2169
|
+
lines.append(f'{pad}state "{name}" as {alias} {{')
|
|
2170
|
+
for kid in kids:
|
|
2171
|
+
_emit_state_block(kid, depth + 1)
|
|
2172
|
+
lines.append(f'{pad}}}')
|
|
2173
|
+
else:
|
|
2174
|
+
lines.append(f'{pad}state "{name}" as {alias}')
|
|
2175
|
+
# Track terminal states for final marker
|
|
2176
|
+
if name in ('Stopped', 'Error', 'Final'):
|
|
2177
|
+
terminal_states.append(alias)
|
|
2178
|
+
# Skip the focus element itself (parent container); find first
|
|
2179
|
+
# child state for the initial marker
|
|
2180
|
+
if (first_state_alias is None
|
|
2181
|
+
and name not in ('Stopped', 'Error', 'Final')
|
|
2182
|
+
and name != focus_name):
|
|
2183
|
+
first_state_alias = alias
|
|
2184
|
+
|
|
2185
|
+
for alias, name, stereotype, elem, is_included in elements_list:
|
|
2186
|
+
sysml_type = type_by_alias[alias]
|
|
2046
2187
|
if sysml_type == 'state':
|
|
2188
|
+
if alias in emitted or alias in nested_child_aliases:
|
|
2189
|
+
continue
|
|
2047
2190
|
# Use state keyword for proper state diagram support (initial/final markers)
|
|
2048
|
-
|
|
2049
|
-
# Skip the focus element itself (parent container), find first child state
|
|
2050
|
-
if first_state_alias is None and name not in ('Stopped', 'Error', 'Final') and name != focus_name:
|
|
2051
|
-
first_state_alias = alias
|
|
2052
|
-
# Track terminal states for final marker
|
|
2053
|
-
if name in ('Stopped', 'Error', 'Final'):
|
|
2054
|
-
terminal_states.append(alias)
|
|
2191
|
+
_emit_state_block(alias, 0)
|
|
2055
2192
|
elif sysml_type in stv_types:
|
|
2056
2193
|
lines.append(f'rectangle "{name}" as {alias}')
|
|
2057
2194
|
else:
|
|
@@ -2064,8 +2201,11 @@ def as_state_transition_view(model, focus=None, elements=None, style="bw",
|
|
|
2064
2201
|
lines.append("[*] --> " + first_state_alias)
|
|
2065
2202
|
lines.append("")
|
|
2066
2203
|
|
|
2067
|
-
# Render containment relationships
|
|
2204
|
+
# Render non-containment relationships (state hierarchy is expressed by
|
|
2205
|
+
# nesting above, not by transition arrows — v0.67.0)
|
|
2068
2206
|
for src, arrow, dst, label, is_external in relationships:
|
|
2207
|
+
if arrow == ARROW_STYLES["composite"]:
|
|
2208
|
+
continue # containment shown as nested state blocks
|
|
2069
2209
|
if is_external and not show_external:
|
|
2070
2210
|
continue
|
|
2071
2211
|
if is_external:
|
|
@@ -2105,8 +2245,8 @@ def as_state_transition_view(model, focus=None, elements=None, style="bw",
|
|
|
2105
2245
|
lines.extend([
|
|
2106
2246
|
"legend right",
|
|
2107
2247
|
" <b>State Transition Legend</b>",
|
|
2108
|
-
" State Transition:
|
|
2109
|
-
"
|
|
2248
|
+
" State Transition: -->",
|
|
2249
|
+
" Composite states: nested state blocks",
|
|
2110
2250
|
"endlegend",
|
|
2111
2251
|
])
|
|
2112
2252
|
lines.append("")
|
|
@@ -2492,7 +2632,8 @@ def as_textual_notation(model, focus=None, style="bw", custom_style=None):
|
|
|
2492
2632
|
|
|
2493
2633
|
def as_general_view(model, focus=None, elements=None, style="bw", direction="TB",
|
|
2494
2634
|
include_legend=True, max_depth=None, show_external=False,
|
|
2495
|
-
custom_style=None, show_multiplicity=False
|
|
2635
|
+
custom_style=None, show_multiplicity=False,
|
|
2636
|
+
auto_include_connections=False):
|
|
2496
2637
|
"""Generate a General View (GV) diagram.
|
|
2497
2638
|
|
|
2498
2639
|
Corresponds to SysML v2 ``GeneralView`` (short name ``gv``).
|
|
@@ -2511,6 +2652,9 @@ def as_general_view(model, focus=None, elements=None, style="bw", direction="TB"
|
|
|
2511
2652
|
show_external: Show relationships to elements outside selection
|
|
2512
2653
|
custom_style: Optional PlantUML style lines to append
|
|
2513
2654
|
show_multiplicity: Append multiplicity like [4] to element labels
|
|
2655
|
+
auto_include_connections: Render connector edges (``-[thickness=3]-``
|
|
2656
|
+
thick plain lines, official notation) between parts whose both
|
|
2657
|
+
endpoints are already in the view (v0.67.0)
|
|
2514
2658
|
|
|
2515
2659
|
Returns:
|
|
2516
2660
|
str: PlantUML text
|
|
@@ -2754,6 +2898,30 @@ def as_general_view(model, focus=None, elements=None, style="bw", direction="TB"
|
|
|
2754
2898
|
|
|
2755
2899
|
lines.append("")
|
|
2756
2900
|
|
|
2901
|
+
# Render connector edges between parts already in the view
|
|
2902
|
+
# (official: thick plain line, no arrowhead — ConnectionUsage)
|
|
2903
|
+
if auto_include_connections:
|
|
2904
|
+
for from_names, to_names, conn_name in _extract_connections(model):
|
|
2905
|
+
from_elem = (_find_element_by_qualified_name(model, from_names)
|
|
2906
|
+
if from_names else None)
|
|
2907
|
+
to_elem = (_find_element_by_qualified_name(model, to_names)
|
|
2908
|
+
if to_names else None)
|
|
2909
|
+
# NOTE: grammar objects may be falsy (they define __len__ for
|
|
2910
|
+
# children) — membership checks must use "is not None" (v0.67.0)
|
|
2911
|
+
from_alias = (id_map.get(id(from_elem))
|
|
2912
|
+
if from_elem is not None else None)
|
|
2913
|
+
to_alias = (id_map.get(id(to_elem))
|
|
2914
|
+
if to_elem is not None else None)
|
|
2915
|
+
if from_alias and to_alias:
|
|
2916
|
+
if conn_name:
|
|
2917
|
+
lines.append(
|
|
2918
|
+
f'{from_alias} {ARROW_STYLES["connector"]} '
|
|
2919
|
+
f'{to_alias} : {conn_name}')
|
|
2920
|
+
else:
|
|
2921
|
+
lines.append(
|
|
2922
|
+
f'{from_alias} {ARROW_STYLES["connector"]} {to_alias}')
|
|
2923
|
+
lines.append("")
|
|
2924
|
+
|
|
2757
2925
|
if include_legend:
|
|
2758
2926
|
lines.extend([
|
|
2759
2927
|
"legend right",
|
|
@@ -2765,11 +2933,16 @@ def as_general_view(model, focus=None, elements=None, style="bw", direction="TB"
|
|
|
2765
2933
|
" Feature Typing: --:|> ",
|
|
2766
2934
|
" | Specialization | --|> |",
|
|
2767
2935
|
" | Redefinition | --||> |",
|
|
2768
|
-
" Binding: -[thickness=
|
|
2769
|
-
"
|
|
2936
|
+
" Binding (==): -[thickness=5]-",
|
|
2937
|
+
" Connection: -[thickness=3]-",
|
|
2770
2938
|
" Flow Transfer: -->",
|
|
2771
|
-
"
|
|
2939
|
+
" Succession Flow: ..>",
|
|
2940
|
+
" Allocation: -[thickness=5,dotted]->",
|
|
2772
2941
|
" Dependency: ..>>",
|
|
2942
|
+
" Send Action: ..>>",
|
|
2943
|
+
" Accept Action: <<..",
|
|
2944
|
+
" Variant: +---",
|
|
2945
|
+
" Metadata: ..@",
|
|
2773
2946
|
"endlegend",
|
|
2774
2947
|
])
|
|
2775
2948
|
lines.append("")
|
|
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.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp
RENAMED
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py
RENAMED
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.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.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.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.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.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.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.66.0 → sysmlpy-0.67.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.66.0 → sysmlpy-0.67.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|