| 
    
    
      The template lets you create the following table: 
        
  
 Each column of the table is described as follows:  
              
                | Column | Description |  
                | Function | The cell contains a function implemented (reference-reference
                  link) by the item under analysis. Here, the system is an engine control system.
                  The function is stored as an effectsWithoutBarrierOccurrencepath. |  
                | Failure Mode | The cell contains "Cannot control engine
                    power", which is a failure mode associated with the function. The
                  failure mode is stored as aneffectsWithoutBarrierpath. |  
                | Failure Effects | The cell contains an effectsWithoutBarrierOccurrencepath. |  
                | S | The cell contains 4 value, proposed from a list of authorized
                  values. It uses a "RPNSeverity"dataIndex that is not predefined and not reserved, and which
                  is interpreted as an attribute. NotargetDataIndexis used.
                  Hence, the severity is supposed to be an attribute of the causality relationship.
                  In practice, an extension defines RPNSeverity as an attribute of a causality
                  relationship.{ "text" : "S",
  "dataIndex" : "RPNSeverity",
  "width" : "20px",
  "authorizedValues" : [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
}   |  
                | RPN | The cell contains the product of values in the columns:
                    S, O, and
                  D. { "text" : "RPN",
  "dataIndex" : "RPNRiskPriorityNumber",
  "formula" : "module:MyModule/Formulas/RPN",
  "width" : "20px"
} 
The corresponding module
                  is:define('MyModule/Formulas/RPN', [],
function() {
	'use strict';
	var Formula = function() {};
	Formula.prototype.execute = function(fmea, causalityRelationship) {
		var rpn = parseInt(causalityRelationship.getAttribute('RPNDetection')) * parseInt(causalityRelationship.getAttribute('RPNSeverity')) + parseInt(causalityRelationship.getAttribute('RPNOccurrence'));
		if( isNaN(rpn) ) {
			return '';
		}
		return '' + rpn;
	};
	return Formula;
}); |  
                | Failure Causes | The cell suggests values found in the structure tree as
                    follows: { "text" : "Failure Causes",
  "dataIndex" : "cause",
  "width" : "200px"
} 
  The causes
                  are found in the design of the item under analysis. The cause is the combination
                  of a cause occurrence and a cause failure mode. It is stored in the
                    causeOccurrence path of the causality relationship.
 |  
                | Prevention Controls | Requirements or any subtype of requirement can be dragged in
                  cells of this column: 
  This is
                  specified by the following code where the
 "types"attribute
                  defines accepted MQL types that can be dropped in the
                  cell:{ "text" : "Prevention Controls",
  "dataIndex" : "effectsIsPreventedBy",
  "types" : [ "Requirement" ],
  "width" : "200px"
} 
 |  
                | Actions | The cell can contain multiple change actions as specified by
                  the following code: { "text" : "Actions",
  "dataIndex" : "actions",
  "qualifiers" : [ {
    "name" : "current",
    "text" : "S",
    "width" : "20px"
    }, {
    "name" : "Assignee",
    "text" : "A",
    "width" : "20px"
    } ],
  "types" : [ "Task","Change Action"],
  "width" : "200px"
}
Here is an example of the display:
  
 |  
 .json FileThe .json code corresponding to the definition of a template is the
        following: 
{ "title":"Design FMEA",
  "columns": [{
      "text" : "Function",
      "dataIndex" : "function",
      "width" : "200px"
  }, {
      "text" : "Failure Mode",
      "dataIndex" : "directEffect",
      "width" : "200px"
  }, {
      "text" : "Failure Effects",
      "dataIndex" : "higherLevelEffects",
      "qualifiers" : [{
              "global" : "true",
              "name" : "RPNSeverity",
              "text" : "S" 
      }],
      "width" : "200px"
  }, {
      "text" : "Sev.",
      "dataIndex" : "RPNSeverity",
      "width" : "20px",
      "authorizedValues" : [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
  }, {
      "text" : "Failure Causes",
      "dataIndex" : "cause",
      "width" : "200px"
  }, {
      "text" : "Prevention Controls",
      "dataIndex" : "effectsIsPreventedBy",
      "alternateTextAttribute": "V_Prevention",
      "types" : [ "Requirement" ],
      "width" : "200px"
  }, {
      "text" : "Occ.",
      "dataIndex" : "RPNOccurrence",
      "width" : "20px",
      "authorizedValues" : [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
  }, {
      "text" : "Detection Controls",
      "dataIndex" : "effectsIsProtectedBy",
      "types" : [ "Requirement" ],
      "width" : "200px"
  }, {
      "text" : "Det.",
      "dataIndex" : "RPNDetection",
      "width" : "20px",
      "authorizedValues" : [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
  }, {
      "text" : "RPN",
      "dataIndex" : "RPNRiskPriorityNumber",
      "formula" : "module:MyModule/Formulas/RPN",
      "width" : "20px"
  }, {
      "text" : "Actions",
      "dataIndex" : "actions",
      "qualifiers" : [ {
              "name" : "current",
              "text" : "S",
              "width" : "20px"
      }, {
              "name" : "Assignee",
              "text" : "A",
              "width" : "20px"
    } ],
      "types" : [ "Task","Change Action"],
      "width" : "200px"
  }], 
  "groups":[ "function", "directEffect", "cause" ]
  "style": "module:css!DS/CATSFYAiagVdaFailureModesEffectsAnalysis/CATSFYAiagVdaFailureModesEffectsAnalysis.css",
}
 |