diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c12f8b1c1..25b057b69 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -29,6 +29,11 @@ jobs:
cache: maven
- name: Build with Maven
run: ./mvnw -B clean verify --file pom.xml
+ - name: Upload SysML Library .kpar files
+ uses: actions/upload-artifact@v5
+ with:
+ name: sysml-library-kpar
+ path: sysml.library/output/*.kpar
- name: Publish Test Report
uses: mikepenz/action-junit-report@v5
if: success() || failure() # always run even if the previous step fails
diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml
index 505288ea6..9a4d08ee5 100644
--- a/.github/workflows/maven-publish.yml
+++ b/.github/workflows/maven-publish.yml
@@ -31,3 +31,40 @@ jobs:
run: ./mvnw -B deploy -DskipTests=true
env:
GITHUB_TOKEN: ${{ github.token }} # GITHUB_TOKEN is the default env for the password
+ - name: Upload SysML Library .kpar files
+ uses: actions/upload-artifact@v5
+ with:
+ name: sysml-library-kpar
+ path: sysml.library/output/*.kpar
+
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ needs: [build]
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
+ permissions:
+ # Use to sign the release artifacts
+ id-token: write
+ # Used to upload release artifacts
+ contents: write
+ # Used to generate artifact attestation
+ attestations: write
+ steps:
+ - uses: actions/download-artifact@v6
+ with:
+ name: sysml-library-kpar
+ path: kpars
+ - name: Generate artifact attestation
+ uses: actions/attest-build-provenance@v3
+ with:
+ subject-path: 'kpars/*.kpar'
+ - name: Create a release
+ uses: softprops/action-gh-release@v2
+ with:
+ make_latest: true
+ files: |
+ kpars/*
+ overwrite_files: false
+ body:
+ append_body: true
+ name: ${{ github.event.inputs.tag_name || github.event.release.tag_name }} - SysML v2 Pilot Implementation
diff --git a/.gitignore b/.gitignore
index b4874ece2..fe9a83318 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,5 @@ dependency-reduced-pom.xml
# MacOS Finder
.DS_Store
+# Built libraries
+*.kpar
diff --git a/pom.xml b/pom.xml
index 4ddaa5ebc..96cf0cb2b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,7 @@
3.5.3
3.2.0
2.3.19
+ 0.0.6
4.0.0
@@ -293,6 +294,23 @@
+
+
+ com.sensmetry
+ sysand-maven-plugin
+ ${sysand-maven-plugin.version}
+
+
+
+ build-kpar
+
+
+
+
+ ${maven.multiModuleProjectDirectory}/sysml.library
+ ${maven.multiModuleProjectDirectory}/sysml.library/output
+
+
diff --git a/sysml.library/.workspace.json b/sysml.library/.workspace.json
new file mode 100644
index 000000000..7a6b915b2
--- /dev/null
+++ b/sysml.library/.workspace.json
@@ -0,0 +1,64 @@
+{
+ "projects": [
+ {
+ "path": "Domain Libraries/Analysis",
+ "iris": [
+ "urn:kpar:SysML-Analysis-Library"
+ ]
+ },
+ {
+ "path": "Domain Libraries/Cause and Effect",
+ "iris": [
+ "urn:kpar:SysML-Cause-and-Effect-Library"
+ ]
+ },
+ {
+ "path": "Domain Libraries/Geometry",
+ "iris": [
+ "urn:kpar:SysML-Geometry-Library"
+ ]
+ },
+ {
+ "path": "Domain Libraries/Metadata",
+ "iris": [
+ "urn:kpar:SysML-Metadata-Library"
+ ]
+ },
+ {
+ "path": "Domain Libraries/Quantities and Units",
+ "iris": [
+ "urn:kpar:SysML-Quantities-and-Units-Library"
+ ]
+ },
+ {
+ "path": "Domain Libraries/Requirement Derivation",
+ "iris": [
+ "urn:kpar:SysML-Requirement-Derivation-Library"
+ ]
+ },
+ {
+ "path": "Kernel Libraries/Kernel Data Type Library",
+ "iris": [
+ "urn:kpar:Kernel-Data-Type-Library"
+ ]
+ },
+ {
+ "path": "Kernel Libraries/Kernel Function Library",
+ "iris": [
+ "urn:kpar:Kernel-Function-Library"
+ ]
+ },
+ {
+ "path": "Kernel Libraries/Kernel Semantic Library",
+ "iris": [
+ "urn:kpar:Kernel-Semantic-Library"
+ ]
+ },
+ {
+ "path": "Systems Library",
+ "iris": [
+ "urn:kpar:SysML-Systems-Library"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/sysml.library/Domain Libraries/Requirement Derivation/.meta.json b/sysml.library/Domain Libraries/Requirement Derivation/.meta.json
index 69a4f9126..54b3311d2 100644
--- a/sysml.library/Domain Libraries/Requirement Derivation/.meta.json
+++ b/sysml.library/Domain Libraries/Requirement Derivation/.meta.json
@@ -1,7 +1,7 @@
{
"index": {
"DerivationConnections": "DerivationConnections.sysml",
- "RequirementsDerivation": "RequirementsDerivation.sysml"
+ "RequirementDerivation": "RequirementDerivation.sysml"
},
"created": "2025-03-13T00:00:00Z",
"metamodel": "https://www.omg.org/spec/SysML/20250201"
diff --git a/sysml.library/Systems Library/.meta.json b/sysml.library/Systems Library/.meta.json
index da20c57e7..d670a6730 100644
--- a/sysml.library/Systems Library/.meta.json
+++ b/sysml.library/Systems Library/.meta.json
@@ -2,7 +2,7 @@
"index": {
"Actions": "Actions.sysml",
"Allocations": "Allocations.sysml",
- "AnalysisCases": "AnalysisCase.sysml",
+ "AnalysisCases": "AnalysisCases.sysml",
"Attributes": "Attributes.sysml",
"Calculations": "Calculations.sysml",
"Cases": "Cases.sysml",