Data Model Generation: Difference between revisions

From PHENOM Portal Knowledgebase
Jump to navigation Jump to search
No edit summary
Line 9: Line 9:


== Generate Models & Artifacts ==
== Generate Models & Artifacts ==
The user can then choose the type of artifact to generate. Each type of artifacts has its own generation options.
The user can then choose the type of artifact to generate. Each type of artifacts has its own generation parameters.


=== FACE (.face) ===
=== FACE (.face) ===
This option exports a data model in FACE XMI format aligned with the FACE Technical Standard. The user has to choose which version of FACE to export the data model as: 3.1, 3.0, or 2.1. "2.1 obfuscated" exports the model as a 2.1 FACE files and obfuscate the node's names (mainly used for debug purposes).
This type exports a data model in FACE XMI format aligned with the FACE Technical Standard. The user has to choose which version of FACE to export the data model as: 3.1, 3.0, or 2.1. "2.1 obfuscated" exports the model as a 2.1 FACE files and obfuscate the node's names (mainly used for debug purposes).


[[File:Phenom-manage-generate face.png|800px|border]]
[[File:Phenom-generate-data model face.png|800px|border]]


=== Diagrams (.zip) ===
=== Diagrams (.zip) ===
This option exports all the user-created diagrams and/or view traces as PGN files in a ZIP archive.
This option exports all the user-created diagrams and/or view traces as PGN files in a ZIP archive.


[[File:Phenom-generate-data model diagrams.png|600px|border]]
[[File:Phenom-generate-data model diagrams.png|800px|border]]


=== IDL (.idl) ===
=== IDL (.idl) ===
export the data model in Interface Description Language (IDL) format
This option exports the data model in Interface Description Language (IDL) format.


=== Skayl (.skayl) ===
=== Skayl (.skayl) ===
export the data model in Skayl's Proprietary Format (similar to FACE XMI, but this preserves the non-standardized integration model content)
This option exports the data model in Skayl's Proprietary Format. This format is similar to FACE XMI, but it preserves all non-standardized content, including integration model content.


=== User Template ===
=== User Template ===
export the data model using user templates
This option exports the data model using user templates. These templates can be edited in the [[Templates]] menu.


[[File:Phenom-generate-data model user template.png|800px|border]]


Artifact Descriptions
.face v2.1 XMI
This is the canonical form for all Future Airborne Capability Environment (FACETM) version 2.1 data models.  This style of model uses projection paths to capture data model semantics.  It is a .face file in a customized version of the XMI file format.
.face v3.0 XMI
This is the canonical form for all Future Airborne Capability Environment (FACETM) version 3.0 data models.  This style of model uses queries and templates to capture data model semantics.  It is a .face file in a customized version of the XMI file format.
.face v2.1 XMI obfuscated
This is the canonical form for all Future Airborne Capability Environment (FACETM) version 2.1 data models.  This style of model creates ambiguity with data model semantics.  It is a .face file in a customized version of the XMI file format.
.html
This is a mini-website.  Each element of the data model is provided as a simple HTML file that can be clicked around and navigated in a web browser.
.docx
This is a Word Document form of the data model.  It captures all of the data model contents in a printable form.
.xml UML XMI
This is an XMI version 1.2 file as exported by Sparx Systems Enterprise Architect.  While it is intended to be a portable, model interchange file, the portability is limited by the implementation of the XMI reader.
.cpp TSS API View Classes
This option will generate all of the classes needed to connect all defined interfaced to a FACE v2.1 Transport Service Segment (TSS).  These classes conform to and can be used with the TSS API.
.cpp User Template Generated
Choose this option to select from the available user templates.
Using Templates
Project data can be used to fill a file with a custom format that fulfills a user's requirements. To do this, the user must select 'User Template' from the File Type menu and then choose a valid template for Phenom to use. Model generation via a user template can be combined with tag reporting to delineate which nodes in the project should be used for the code generation.
Information about creating and editing templates can be found here.


  Enumeration behavior
  Enumeration behavior

Revision as of 13:34, 15 September 2022

PHENOM can generate a number of different data model formats and documentation artifacts from the current project.

Filter

The first drop down in the page allows the user to filter the model and the Nav Tree to only what is relevant for generation.

  • None: no filter is applied
  • Services: only display the services in the Nav Tree and only services will be exported (along with any elements necessary to export a valid model)
  • Views: only display the views in the Nav Tree and only views will be exported (along with any elements necessary to export a valid model)
  • Tags: the tag filter currently applied in the Nav Tree will be applied to the model upon export (necessary elements to make the model valid will be exported as well)

Generate Models & Artifacts

The user can then choose the type of artifact to generate. Each type of artifacts has its own generation parameters.

FACE (.face)

This type exports a data model in FACE XMI format aligned with the FACE Technical Standard. The user has to choose which version of FACE to export the data model as: 3.1, 3.0, or 2.1. "2.1 obfuscated" exports the model as a 2.1 FACE files and obfuscate the node's names (mainly used for debug purposes).

Diagrams (.zip)

This option exports all the user-created diagrams and/or view traces as PGN files in a ZIP archive.

IDL (.idl)

This option exports the data model in Interface Description Language (IDL) format.

Skayl (.skayl)

This option exports the data model in Skayl's Proprietary Format. This format is similar to FACE XMI, but it preserves all non-standardized content, including integration model content.

User Template

This option exports the data model using user templates. These templates can be edited in the Templates menu.


Enumeration behavior

Phenom manages the relationships between Platform Enumerations, their Platform Enumeration Literals, and the Labels traced through the Measurement realized by the Platform Enumeration. Using the PDM Type Editor, a user can manage these relationships in Phenom:

Platform Type/Enumeration editing

Depending on how Platform Enumerations are managed by the modeler, Phenom will shape the project content on FACE export to reflect the status of each Enumeration. There are 3 groups of behavior for model export:

Matching: The Enumeration has been configured such that all Platform Enumeration Literals have a realizes relationship to a Label of the same name, and there is a Literal for every traced Label. No changes will be made to the export.

Subset: The Enumeration has been configured similarly to the matching case, however instead the Platform Enumeration Literals subset the traced Labels. In this case, a separate Measurement/Measurement Axis/Value Type Unit and Constraint are added specifically for this Platform Enumeration. The constraint's allowedValue contains the GUIDs of the previous ValueType's constrained labels.

Missing-realize/Mismatched: The Enumeration either doesn't perfectly realize matching Literals→Labels, or has differences/duplicates in the naming used. In these cases, new LDM content is generated just like the Subset case; however, to preserve the context of the Platform Enumeration's Literals, a new ValueType is also generated, with Labels matching the names of the Platform Enumeration.

To manage Enumerations of the last group, please check the Health Report:

Health Check