Presentation is loading. Please wait.

Presentation is loading. Please wait.

The European Organisation for the Safety of Air Navigation AIXM 5.1 - Business rules.

Similar presentations


Presentation on theme: "The European Organisation for the Safety of Air Navigation AIXM 5.1 - Business rules."— Presentation transcript:

1 The European Organisation for the Safety of Air Navigation AIXM 5.1 - Business rules

2 AIXM 5.1 – Business rules 2 Business Rules Two fundamental categories Structural Rule: These are rules about how the business chooses to organise (i.e., ‘structure’) the things it deals with. Operative Rule: These are rules that govern the conduct of business activity. A statement that defines or constrains some aspect of the business. Simply put, it is a rule that is under business jurisdiction.

3 AIXM 5.1 – Business rules 3 AIXM 5.1 Business Rules Syntactic check Semantic check AIXM 5.1 UML AIXM 5.1 XML Airport features AIXM 5.1 XSD Structural Rules Operative Rules How to express & encode these rules ?

4 AIXM 5.1 – Business rules 4 Expressing Business Rules SBVR & OCL Business Rules are usually expressed by operational people Standards enabling business rules for machine processing: SBVR (Semantics of Business Vocabulary and Business Rules) Still uses natural language that business people and operational staff use Structured English grammar & vocabulary OCL (Object Constraint Language) Constraint and object query expressions on any UML model

5 AIXM 5.1 – Business rules 5 SBVR specification SBVR = (OMG) Semantics of Business Vocabulary and Business Rules defines the vocabulary and rules for documenting the semantics of business vocabularies, business facts, and business rules. It identifies two types of business rules Structural rules Operative rules AIXM 5 has adopted this terminology and identifies the following business rules: AIXM Structural rules: the enumerations of values (datatypes) AIXM Operative rules: rules extracted from official documents (ICAO Annexes), minimum data rules, consistency rules, recommended practices, coding rules…

6 AIXM 5.1 – Business rules 6 SBVR for AIXM

7 AIXM 5.1 – Business rules 7 Examples Generic rules: “Each ElevatedCurve that has a verticalAccuracy must have an elevation” “Each [...].lowerLevel that has an uom equal to 'FL' should have 2 or 3 digits.” Specific rules: “Each AirportHeliport.ARP must have horizontalAccuracy and AirportHeliport.ARP.horizontalAccuracy should be at most 1sec” “Each DepartureLeg that has a speedLimit must have a speedReference”

8 AIXM 5.1 – Business rules 8 Data verification results Depends on the intended usage! Classification of the rules Data Plausibility Data consistency Minimal data requirements Data quality Source ICAO SARPS ARINC 424 Common practices … Most rules -> “Warning” only Data might be correct, human validation is recommended Does not comply with certain Some rules -> “Error” Data is unsafe for use, either at feature level or at data set level

9 AIXM 5.1 – Business rules 9 1 st AIXM 5.1 Business Rules Report Currently, an Excel reportExcel report Containing textual rules classified by type etc… Providing Schematron code Working Draft status AIXM Users are able to pick-up the rules they need for their systems

10 AIXM 5.1 – Business rules 10 Encoding Business Rules ISO Schematron Schematron (http://www.schematron.com/)http://www.schematron.com/ is an open language for the validation of XML document… …whose specification is standardized (ISO/IEC 19757) There are 6 basic elements in ISO Schematron: assertion, rule, pattern, schema, namespace and phase.

11 AIXM 5.1 – Business rules 11 Encoding Business Rules ISO Schematron and elements Test attribute Simple declarative sentences in natural language used to tag assertions positively An AirportHeliport shall have a designator. element Used to group assertions Has a context: if the context matches, the assertions are tested,, : used to logically group rules

12 AIXM 5.1 – Business rules 12 Expressing and Encoding Business Rules – Example #1 Operational Rule <assert id="1_1" test="boolean(@turnDirection)"> <rule id="1" -> unique identifier of the rule context="// SegmentLeg[@legTypeARINC='AF'] " ->Defines the conditions of the rule (If attribute SegmentLeg.legTypeARINC= “AF”). ->The rule will be tested if the context is true. <assert id="1_1" -> unique identifier of the assertion test="boolean(@turnDirection)" -> the logical test to be performed. The “assert” element matches if the logical test returns false (in this case, if the turnDirection is not provided). Translation in SBVR Each ProcedureTransitionLeg.theSegmentleg that has legTypeARINC equal to AF must have a turnDirection. Simplified ISO Schematron example AF L

13 AIXM 5.1 – Business rules 13 Expressing and Encoding Business Rules – Example #2 Rule: The intercept angle of CI or VI in Loc based Approach transition must be between 10 and 90 degrees. not(./parent::*/parent::*/parent::*/parent::*/parent::*/aixm:codingStandard = 'ARINC_424_18') or not(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*[aixm:legTypeARINC='CI' or aixm:legTypeARINC='VI']) or not(./aixm:type='FINAL' and./parent::*/parent::aixm:InstrumentApproachProcedureTimeSlice[aixm:approachType='LOC_BC' or aixm:approachType='LOC_DME_BC' or aixm:approachType='IGS' or aixm:approachType='ILS' or aixm:approachType='ILS_PRM' or aixm:approachType='LOC' or aixm:approachType='LOC_DME' or aixm:approachType='SDF' or aixm:approachType='LDA' or aixm:approachType='LDA_DME' or aixm:approachType='ILS_DME']) or not(./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg) or saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*[aixm:legTypeARINC = 'IF'] or (if(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*[aixm:legTypeARINC = 'AF']) then (if(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*[aixm:turnDirection = 'LEFT']) then (arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, arcext:substractAngle(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course, 90.0)) <= 90.0 and arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, arcext:substractAngle(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course, 90.0)) >= 10.0) else (arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, arcext:additionAngle(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course, 90.0)) <= 90.0 and arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, arcext:additionAngle(saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course, 90.0)) >= 10.0)) else (arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course) <= 90.0 and arcext:courseDiff(saxon:evaluate(arcext:getXPath(@xlink:href))/*/*/aixm:course, saxon:evaluate(arcext:getXPath((./parent::*/parent::*/following-sibling::*//aixm:theSegmentLeg)[1]/@xlink:href))/*/*/aixm:course) >= 10.0))

14 AIXM 5.1 – Business rules 14 ARC (AIXM Rules Checker) ARC is a proof-of-concept tool provided by Eurocontrol: Open source Compliant with Schematron standard Based on Java and Web technologies HTML, Javascript and CSS Main features of ARC: Creation of profiles (Example of profiles: AIXM 4.5, AIXM 5.0, AIXM 5.1) Schematron validation of an XML dataset, according to the selected profile Generation and display of a validation report with errors, warnings etc…

15 AIXM 5.1 – Business rules 15 ARC (AIXM Rules Checker) ARC was improved in 2009 & 2010 New Java engine to run the Schematron validation New Java extension: Support the XML namespaces ARC can now evaluate xlink:href Perform geographical computations in WGS84

16 AIXM 5.1 – Business rules 16 ARC Tool

17 AIXM 5.1 – Business rules 17 Questions ?


Download ppt "The European Organisation for the Safety of Air Navigation AIXM 5.1 - Business rules."

Similar presentations


Ads by Google