Migration from BAMM Aspect Meta Model
BAMM is now known as SAMM.
Since january 2023, the Semantic Aspect Meta Model (SAMM) is developed by the Eclipse Semantic Modeling Framework (ESMF) project. However, SAMM and its accompanying tooling was not developed from scratch here but is based on what was previously known as the BAMM Aspect Meta Model. BAMM was developed and maintained by the Semantic Data Structuring (SDS) working group of the Open Manufacturing Platform (OMP). With the transition from OMP to ESMF, identifiers and artifact names changed. The following sections guide you through the necessary changes in order to migrate from BAMM to SAMM.
Changes in semantics
Meta model semantics have not changed between BAMM 2.0.0 and SAMM 2.0.0. This means that the way an Aspect Model is constructed remains the same after updating to SAMM. However, since the meta model namespaces have changed, models need to be updated to use the new namespaces.
Namespaces and artifacts
Meta model namespaces
As a rule of thumb, every occurence of io.openmanufacturing
changes to
org.eclipse.esmf.samm
and every occurence of bamm
changes to samm
.
The RDF namespaces have changed as follows:
BAMM prefix | SAMM prefix |
---|---|
|
|
|
|
|
|
|
|
BAMM namespace | SAMM namespace |
---|---|
|
|
|
|
|
|
|
|
Aspect model namespaces
The change of the URN schema part from urn:bamm
to urn:samm
implies that
Aspect Model elements now must use the URN schema:
urn:samm:<namespace>:<version>#<element-name>
Java artifact names
The Maven groupId has changed from io.openmanufacturing
to org.eclipse.esmf
.
Every occurence of sds
in the artifactIds has changed to esmf
.
What as previously known as the sds-sdk
is now the esmf-sdk
.
BAMM Java artifact | SAMM Java artifact |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Java packages and classes
For the esmf-sdk, as a rule of thumb, every occurence of
io.openmanufacturing.sds
in package names was renamed to org.eclipse.esmf
.
In addition to that, several classes were renamed.
BAMM Java class | SAMM Java class |
---|---|
|
|
|
|
|
|
|
|
Compatibility
-
Since BAMM 2.0.0 and SAMM 2.0.0 are structurally and semantically identically, migrating an BAMM-based Aspect Model is done by simply renaming RDF prefixes and namespaces.
-
ESMF SDK 2.2.0 (including SAMM CLI 2.2.0) has the ability to load BAMM-based Aspect Models and convert them on-the-fly to SAMM-based Aspect Models.
sds-sdk/bamm-cli 2.1.3 | esmf-sdk/samm-cli 2.2.0 | |
---|---|---|
Read BAMM 1.0.0 |
||
Write BAMM 1.0.0 |
||
Read BAMM 2.0.0 |
||
Write BAMM 2.0.0 |
||
Read SAMM 2.0.0 |
||
Write SAMM 2.0.0 |
Read refers to the capability to load, validate and generate artifacts for an Aspect Model. Write refers to the capability to pretty-print and write out Aspect Models after meta model version migration. |