After a PIM data model is defined, its Platform Specific Model (PSM) can then be generated using a model-driven tool. Note that one PIM model may be used for multiple PSMs such as XSD and IDL. REQ.26.4.5 Platform Specific Model (PSM) Technical Approach (Shawn Hu, Jim Waight, and Terry Saxton) {expect updates after demo} {this section will describe the approach to go from OpenFMB PIM to PSM. The candidate PSM representations are many, but we will start with XSD for protocols (Web Services, REST, XMPP, MQTT, etc.) that support XML data representation. The approach to go from PIM and PSM will follow IEC TC57 methodology.} The Platform Specific Model (PSM) is technology dependent implementation of the PIM. XML Schema Definition (XSD) was selected as the PSM representation for OpenFMB. An OpenFMB PSM (i.e. XSD) is directly translated from a PIM described in the section above. Shown below is an example of the Recloser Status XSD generated from its PIM. Note the XSD represents all defined items in its PIM that includes the classes, attributes, and associations. Each data profile package has its unique namespace and settings for XSD generation. These settings are defined as UML Tagged Values in the OpenFMB model as shown below. Each data profile model references common classes and data types which are listed in a Common UML Package. This logical Common package is transformed into a separate XSD (Common.xsd) with its own namespace. Each data profile XSD imports the Common XSD as needed. Therefore there are two types of namespaces defined for the OpenFMB PSMs. Common namespace Profile namespace The Common namespace follows the convention of: http://openfmb.org/xsd/<version #>/Common The profile namespace follows the similar convention: http://openfmb.org/xsd/<version #>/<Profile Name>. Here is an example: http://openfmb.org/xsd/v1/RecloserStatus
After a PIM data model is defined, its Platform Specific Model (PSM) can then be generated using a model-driven tool. Note that one PIM model may be used for multiple PSMs such as XSD and IDL. REQ.26.4.5 Platform Specific Model (PSM) Technical Approach (Shawn Hu, Jim Waight, and Terry Saxton) {expect updates after demo} {this section will describe the approach to go from OpenFMB PIM to PSM. The candidate PSM representations are many, but we will start with XSD for protocols (Web Services, REST, XMPP, MQTT, etc.) that support XML data representation. The approach to go from PIM and PSM will follow IEC TC57 methodology.} The Platform Specific Model (PSM) is technology dependent implementation of the PIM. XML Schema Definition (XSD) was selected as the PSM representation for OpenFMB. An OpenFMB PSM (i.e. XSD) is directly translated from a PIM described in the section above. Shown below is an example of the Recloser Status XSD generated from its PIM. Note the XSD represents all defined items in its PIM that includes the classes, attributes, and associations. Each data profile package has its unique namespace and settings for XSD generation. These settings are defined as UML Tagged Values in the OpenFMB model as shown below. Each data profile model references common classes and data types which are listed in a Common UML Package. This logical Common package is transformed into a separate XSD (Common.xsd) with its own namespace. Each data profile XSD imports the Common XSD as needed. Therefore there are two types of namespaces defined for the OpenFMB PSMs. Common namespace Profile namespace The Common namespace follows the convention of: http://openfmb.org/xsd/<version #>/Common The profile namespace follows the similar convention: http://openfmb.org/xsd/<version #>/<Profile Name>. Here is an example: http://openfmb.org/xsd/v1/RecloserStatus
retail_open_fmb100915a2.docx