OV-6a : Operational Rules Model

This document defines the mapping between the DODAF OV-6a Operational Rules Model and the ISO 10303 AP233 Systems Engineering information model. This mapping is defined for the purpose of enabling data exchange between computer applications supporting the ISO AP233 standard and those supporting the US DoDAF CADM format, specifically CADM 1.02.

1 Introduction

The OV-6a Operational Rules Model Product Description in the DoDAF Volume II: Product Descriptions document defines OV-6a as follows.

The Operational Rules Model specifies operational or business rules are constraints on an enterprise, a mission, operation, business, or an architecture. While other OV products (e.g., OV-1, OV-2, and OV-5) describe the structure of a business?what the business can do?for the most part, they do not describe what the business must do, or what it cannot do.

2 OV-6a Concepts

An Operational Rules Model may be used to represent the following concepts.

3 OV-6a AP233 Mapping Issues

Warning
At the time this document was written, AP233 was still undergoing development.

This section describes the issues in mapping between OV-6a Operational Rules Model and ISO AP233 as of the date of publication of this document. These issues may be addressed in future work by the DoDAF Working Group, the ISO AP233 develoment team or others.

  1. It is not clear that mapping CADM Rule Models to AP233 Documents is the best approach. Further study should be done to decide if another, perhaps new, concept is better.

4 Mapping OV-6a CADM XML to AP233 XML

This section defines the mapping from the CADM XML representation of OV-6a Operational Rules Model into an ISO AP233 XML representation of that same data. The mapping is defined at the detailed level of the XML elements and attributes themselves as it is aimed at implementors. See AP233 for more information on the AP233 XML Schema and the AP233 EXPRESS schema.

Please review the rules for AP233 XML data production as they are applicable to all implementations.

4.1 OV-6a Operational Rules Model Mapping

This section describes the mapping for the CADM OV-6a Operational Rules Model itself.

Each OV-6a is represented as an instance of RULE-MODEL, a subtype of DOCUMENT, which has attributes for Name, Time Frame, Category Code (with domain value Rule Model), and so on.

The following table documents the CADM Operational Rules Model mapping.

Within the RUL_MDL_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
RUL_MDL An AP233 Document with related version and definition, as specified in the AP233 approach to documents each classified as an Operational-Rules-Model. See the mapping for CADM Document for more detail.
RUL_MDL / RULE_MDL_DOC_ID The identifier for the Document representing the CADM Operational Rules Model assigned by the owning organization.
RUL_MDL / RULE_MDL_USE_TY_CD When the value is 01 = OPERATIONAL RULES MODEL, the the classification of the AP233 Document and related version and definitions as Operational-Rules-Model.

The following table documents the CADM Rule Model-Operational Rule mapping.

Within the RUL_MDL_OP_RUL_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
RUL_MDL_OP_RUL An AP233 Assigned_property and Property_representation relating the AP233 representations of the Rule Model and Operational Rule. The AP233 Assigned_property is classified as an RULE-MODEL-OPERATIONAL-RULE. The Property child of the Property_representation refers to the Assigned_property.
RUL_MDL_OP_RUL / OP_RULE_GUID_ID The Rep child of the Property_representation references the AP233 representation of the OPERATIONAL-RULE.
RUL_MDL_OP_RUL / RULE_MDL_DOC_ID The Described_element child of the Assigned_property references the AP233 representation of the Rule Model.
RUL_MDL_OP_RUL / RMOR_SEQ_ID The ordering applied to the sequence of Textual_expression_representation_items representing the Operational Rule itselt that appear in a List_of_text_based_item-wrapper as specified in AP233 Text Representations. SEQ_ID = 1 is the first, SEQ_ID = 2, is the second, etc.

4.2 Operational Rule Mapping

This section describes the mapping for the CADM OV-6a Operational Rule.

The following table documents the CADM Operational Rule mapping.

Within the OP_RULE_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
OP_RULE A AP233 Text_based_representation classified an Operational-Rule.
OP_RULE / OP_RULE_GUID_ID The identifier for the Text_based_representation representing the CADM Operational Rule assigned by the owning organization.
OP_RULE / OPRL_CAT_CD The classification of the AP233 representation of the rule depending on the following.
  • when 01 = RULE OF ENGAGEMENT, classified as RULE OF ENGAGEMENT
  • when 02 = DATABASE RULE, classified as DATABASE RULE
  • when 03 = ARCHITECTURE RULE, classified as ARCHITECTURE RULE
  • when 04 = CRITERION, classified as CRITERION
  • when 05 = STRUCTURAL ASSERTION RULE, classified as STRUCTURAL ASSERTION RULE
  • when 06 = ACTION ASSERTION RULE, classified as ACTION ASSERTION RULE
  • when 07 = INTEGRITY RULE, classified as INTEGRITY RULE
  • when 08 = AUTHORIZATION, classified as AUTHORIZATION
  • when 09 = DERIVATION, classified as DERIVATION
  • when 98 = NOT SPECIFIED, classified as OPERATIONAL RULE CATEGORY NOT SPECIFIED
  • when 99 = NOT KNOWN, classified as OPERATIONAL RULE CATEGORY-NOT KNOWN
OP_RULE / OPRL_FM_LNG_NM The classification of the AP233 representation of the rule using an External_class with the Formal Language Name as it's name. The Formal Language Name is part of the taxonomy used with AP233.
OP_RULE / OPRL_FM_LNG_SRC_NM Mapped as part of the annotation of the External_class representing the Formal Language Name.

4.3 Action Assertion Rule Mapping

This section describes the mapping for the CADM OV-6a Action Assertion Rule.

The following table documents the CADM Action Assertion Rule mapping.

Within the ACT_ASSERTION_RULE_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
ACT_ASSERTION_RULE The classification of the AP233 representation of the OPERATIONAL-RULE as a ACTION-ASSERTION-RULE.
ACT_ASSERTION_RULE / OP_RULE_GUID_ID Not explicitly used in the mapping.
ACT_ASSERTION_RULE / ACT_AR_LOG_CDN_TX An AP233 Condition with child element Description, and a related Condition_assignment linking the AP233 Condition with the AP233 Assigned_property of the CADM Action Assertion Rule with the assignment classified as a ACTION-ASSERTION-RULE LOGICAL CONDITION.

4.4 Structrual Assertion Rule Mapping

This section describes the mapping for the CADM OV-6a Structural Assertion Rule.

The following table documents the CADM Structural Assertion Rule mapping.

Within the STR_ASSERTION_RULE_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
STR_ASSERTION_RULE The classification of the AP233 representation of the OPERATIONAL-RULE as a STRUCTURE-ASSERTION-RULE.
STR_ASSERTION_RULE / OP_RULE_GUID_ID Not explicitly used in the mapping.
STR_ASSERTION_RULE / CONC_DAT_MDL_IA_ID An AP233 Document_assignmnent relating the AP233 representation of the Structural Assertion Rule with the AP233 representation of the CADM Conceptual Data Model (see OV-7 Conceptual Data Model Mapping).

4.5 Database Assertion Rule Mapping

This section describes the mapping for the CADM OV-6a Database Assertion Rule.

The following table documents the CADM Database Assertion Rule mapping.

Within the DATABASE_RULE_TBL CADM XML Element
CADM XML Element(s) AP233 XML Element(s) or Attributes(s)
DATABASE_RULE The classification of the AP233 representation of the OPERATIONAL-RULE as a DATABASE-RULE.
DATABASE_RULE / OP_RULE_GUID_ID Not explicity used in the mapping.
DATABASE_RULE / DB_RULE_CAT_CD The classification of the AP233 representation of the rule text depending on the following.
  • when 01 = NULL RULE, classified as NULL RULE
  • when 02 = CHILD DELETE RULE, classified as CHILD DELETE RULE
  • when 03 = CHILD UPDATE RULE, classified as CHILD UPDATE RULE
  • when 04 = CHILD INSERT RULE, classified as CHILD INSERT RULE
  • when 05 = PARENT DELETE RULE, classified as PARENT DELETE RULE
  • when 06 = PARENT UPDATE RULE, classified as PARENT UPDATE RULE
  • when 07 = PARENT INSERT RULE, classified as PARENT INSERT RULE
  • when 98 = NOT SPECIFIED, classified as RULE-CATEGORY-NOT-SPECIFIED
  • when 99 = NOT KNOWN, classified as RULE-CATEGORY-NOT-KNOWN
.

4.6 OV-6a Guidance Mapping

CADM Guidance is mapped in OV-3 Guidance Mapping. When the GUID_CAT_CD category code is 11 = OPERATIONAL-RULE, then the Guidance is part of an Operational Rule.

See OV-6a Issues as this mapping may not be appropriate for types of CADM GUIDANCE other than for CADM OPERATIONAL-RULE.

Also, see OV-3 Issues.

5 Example OV-6a CADM XML Data

This section contains example OV-6a CADM XML data.

5.1 Example RUL_MDL

<RUL_MDL>
  <RULE_MDL_DOC_ID>66660101</RULE_MDL_DOC_ID>
  <RULE_MDL_USE_TY_CD>01</RULE_MDL_USE_TY_CD>
</RUL_MDL>
<DOC>
  <DOC_ID>66660101</DOC_ID>
  <DOC_NM>SAMPLE OPERATIONAL RULES MODEL {OV-6a}</DOC_NM>
  <CSC_ID>20000001</CSC_ID>
  <TIME_FRAME_PRD_ID>20102341</TIME_FRAME_PRD_ID>
  <DOC_APP_CALDT>20031126</DOC_APP_CALDT>
  <DOC_ARCHPROD_TY_CD>27</DOC_ARCHPROD_TY_CD>
  <DOC_CRTN_CALDT>20031203</DOC_CRTN_CALDT>
  <DOC_CAT_CD>J</DOC_CAT_CD>
  <DOC_VER_ID>VERSION 1.0</DOC_VER_ID>
</DOC>

5.2 Example RUL_MDL_OP_RUL

<RUL_MDL_OP_RUL>
  <RULE_MDL_DOC_ID>66660101</RULE_MDL_DOC_ID>
  <OP_RULE_GUID_ID>66669990</OP_RULE_GUID_ID>
  <RMOR_SEQ_ID>1</RMOR_SEQ_ID>
</RUL_MDL_OP_RUL>

<RUL_MDL_OP_RUL>
  <RULE_MDL_DOC_ID>66660101</RULE_MDL_DOC_ID>
  <OP_RULE_GUID_ID>66669992</OP_RULE_GUID_ID>
  <RMOR_SEQ_ID>2</RMOR_SEQ_ID>
</RUL_MDL_OP_RUL>

5.3 Example OP_RULE

<OP_RULE>
  <OP_RULE_GUID_ID>66669990</OP_RULE_GUID_ID>
  <OPRL_CAT_CD></OPRL_CAT_CD>
  <OPRL_FM_LNG_NM>Structured English</OPRL_FM_LNG_NM>
  <OPRL_FM_LNG_SRC_NM>DOD Structured English Specification</OPRL_FM_LNG_SRC_NM>
</OP_RULE>

<GUIDANCE>
  <GUID_ID>66669990</GUID_ID>
  <POC_ID>1000049</POC_ID>
  <GUID_NM>C4ISR Op Rule 1</GUID_NM>
  <GUID_TX>IF X, THEN DO PROCEDURE B</GUID_TX>
  <GUID_SUBJ_TX>C4ISR Basic Op Rule</GUID_SUBJ_TX>
  <GUID_CAT_CD>11</GUID_CAT_CD>
  <GUID_FUNC_TY_CD>02</GUID_FUNC_TY_CD>
  <GUID_AUTH_TX>AIP PHASE II TEAM</GUID_AUTH_TX>
</GUIDANCE>

5.4 Example ACT_ASSERTION_RULE

<ACT_ASSERTION_RULE>
  <OP_RULE_GUID_ID>66669991</OP_RULE_GUID_ID>
  <ACT_AR_LOG_CDN_TX>IF Cost > $1M</ACT_AR_LOG_CDN_TX>
</ACT_ASSERTION_RULE>
<OP_RULE>
  <OP_RULE_GUID_ID>66669991</OP_RULE_GUID_ID>
  <OPRL_CAT_CD>06</OPRL_CAT_CD>
  <OPRL_FM_LNG_NM></OPRL_FM_LNG_NM>
  <OPRL_FM_LNG_SRC_NM></OPRL_FM_LNG_SRC_NM>
</OP_RULE>
<GUIDANCE>
  <GUID_ID>66669991</GUID_ID>
  <POC_ID>1000049</POC_ID>
  <GUID_NM>Action Assertion Rule DEF</GUID_NM>
  <GUID_TX>Sample guidance text.</GUID_TX>
  <GUID_SUBJ_TX>Engagement Rules for 2007</GUID_SUBJ_TX>
  <GUID_CAT_CD>11</GUID_CAT_CD>
  <GUID_FUNC_TY_CD>2</GUID_FUNC_TY_CD>
  <GUID_AUTH_TX>AIP PHASE II TEAM</GUID_AUTH_TX>
  <GUID_BGN_CALDTTM>20061212000000.000</GUID_BGN_CALDTTM>
  <GUID_END_CALDTTM>20071230000000.000</GUID_END_CALDTTM>
</GUIDANCE>

6 Example OV-6a AP233 XML Data

This section contains example OV-6a AP233 XML data.

6.1 Example Document

<ap233:Document id="id-doc12771" />

<ap233:Identification_assignment id="id-doc12771-idassign">
  <Identifier>66660101</Identifier>
  <Items>
    <ap233:Document ref="id-doc12771" xsi:nil="true" />
  </Items>
</ap233:Identification_assignment>

<ap233:Classification_assignment id="id-doc12771-idassign-classification_assignment">
  <Items>
    <ap233:Identification_assignment ref="id-doc12771-idassign" xsi:nil="true" />
  </Items>
  <Assigned_class>
    <ap233:External_class ref="id-Document_identification_code" xsi:nil="true" />
  </Assigned_class>
</ap233:Classification_assignment>

<ap233:Document_version id="id-docver12771">
  <Of_product>
    <ap233:Document ref="id-doc12771" xsi:nil="true" />
  </Of_product>
</ap233:Document_version>

<ap233:Document_definition id="id-docdef12771">
  <Defined_version>
    <ap233:Document_version ref="id-docver12771" xsi:nil="true" />
  </Defined_version>
  <Initial_context>
    <ap233:View_definition_context ref="id-ov6a" xsi:nil="true" />
  </Initial_context>
</ap233:Document_definition>

<ap233:Classification_assignment id="id-docall12771-classification_assignment">
  <Items>
    <ap233:Document ref="id-doc12771" xsi:nil="true" />
    <ap233:Document_version ref="id-docver12771" xsi:nil="true" />
    <ap233:Document_definition ref="id-docdef12771" xsi:nil="true" />
  </Items>
  <Assigned_class>
    <ap233:External_class ref="id-OPERATIONAL-RULES-MODEL" xsi:nil="true" />
  </Assigned_class>
</ap233:Classification_assignment>

6.2 Example Text_based_representation

<ap233:Text_based_representation id="id-textrep10000" >
  <Context_of_items>
    <ap233:Text_based_representation_context ref="id-textrepconov6a" xsi:nil="true" />
  </Context_of_items>
  <Items>
  </Items>
</ap233:Text_based_representation>

<ap233:Text_based_representation_context id="id-textrepconov6a" >
  <Id>1234</Id>
  <Kind>Structured English Rules Model</Kind>
</ap233:Text_based_representation_context>

<ap233:Textual_expression_composition id="id-textcomp10000" >
  <Content>
    <ap233:List_of_text_based_item-wrapper>
      <ap233:Textual_expression_representation_item ref="id-textitem10001" xsi:nil="true" />
      <ap233:Textual_expression_representation_item ref="id-textitem10002" xsi:nil="true" />
      <ap233:Textual_expression_representation_item ref="id-textitem10003" xsi:nil="true" />
    </ap233:List_of_text_based_item-wrapper>
  </Content>
</ap233:Textual_expression_composition>

<ap233:Textual_expression_representation_item id="id-textitem10001" >
  <String_value>IF X</String_value>
</ap233:Textual_expression_representation_item>

<ap233:Textual_expression_representation_item id="id-textitem10002" >
  <String_value>DO Procedure B</String_value>
</ap233:Textual_expression_representation_item>

<ap233:Textual_expression_representation_item id="id-textitem10003" >
  <String_value>END</String_value>
</ap233:Textual_expression_representation_item>

<ap233:Property_representation id="id-pvrep12758">
  <Property>
    <ap233:Assigned_property 
                             ref="id-Assigned_property12758" xsi:nil="true" />
  </Property>
  <Rep>
    <ap233:Text_based_representation id="id-textrep10000" xsi:nil="true" />
  </Rep>
  <Role />
</ap233:Property_representation>

<ap233:Assigned_property id="id-Assigned_property12758">
  <Name>Text</Name>
  <Described_element>
    <ap233:Document_definition id="id-docdef12771" xsi:nil="true" />
  </Described_element>
</ap233:Assigned_property>

6.3 Example Condition

<ap233:Condition id="id-11111">
  <Id>10079999</Id>
  <Description>Was Approval of US Navy CONOPS Received</Description>
</ap233:Condition>

<ap233:Condition_assignment id="id-90909">
  <Assigned_condition>
    <ap233:Condition ref="id-11111" xsi:nil="true" />
  </Assigned_condition>
  <Item>
    <ap233:Assigned_property ref="id-Assigned_property12758" xsi:nil="true" />
  </Item>
</ap233:Condition_assignment>

<ap233:Classification_assignment id="id-11111-classification_assignment">
  <Items>
    <ap233:Condition ref="id-11111" xsi:nil="true" />
  </Items>
  <Assigned_class>
    <ap233:External_class ref="id-ACTION-ASSERTION-RULE-LOGICAL-CONDITION" xsi:nil="true" />
  </Assigned_class>
</ap233:Classification_assignment>