ARINC 424 Business Rules An introduction Pulsar Consulting sa Avenue Pasteur, 17 1300 Wavre Belgium Tel : +32 10 43 51 00 Fax : +32 10 43 51 01 Web: www.pulsar.be Introduction Goal of this presentation: To give an overview of the work of translating relevant ARINC 424 rules into AIXM Business Rules Outline Introduction Who we are Business Rules XML Schema SBVR + samples Maybe, if enough time Schematron The project Q&A Who we are www.pulsar.be Pulsar Consulting S.A. - 12 years - 30 people - ATM Dept. - 10 years – 15 people - Including AIXM group (10 people) - Technologies - Java, .NET, C#, … - Oracle, MySQL, … - Apache/ Tomcat, … Contact: Tudor Ivanov – Director [email protected] Airport Network Information Management ANIM AIXM 5.1 Wiki xNOTAM xSNOWTAM Business Rules What are business rules? A Business rule is a statement that defines or constrains some aspect of the business. […] [Wikipedia] Why do we need business rules? To express rules to validate data To complement AIXM XML Schema : XML Schema XML (Extensible Markup Language) is a set of rules for encoding documents in machine-readable form. [Wikipedia] Used to exchange AIXM data between computerized systems A few reasons to use XML: Computer-readable as well as human-readable Very popular Widely adopted Well known and well supported by many tools Platform-independent Can be edited by hand using any basic text editor even Notepad or equivalent … XML Schema (cont’d) An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. [Wikipedia] XML Schema (cont’d) Samples from AIMX XML Schema aixm:StandardInstrumentArrival Can have at most one of the following: navaid, radar or specialNavigationSystem Time slice possible types: aixm:interpretation allowed values: BASELINE, TEMPDELTA, PERMDELTA, SNAPSHOT XML Schema (cont’d) An example of rule out of the scope of XML Schema Except the first leg that must be an IF, final approach of NDB based approach must be coded only with TF and CF SBVR Definition The Semantics of Business Vocabulary and Business Rules (SBVR) is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a business. SBVR is intended to formalize complex compliance rules, such as operational rules for an enterprise, security policy, standard compliance, or regulatory compliance rules. Such formal vocabularies and rules can be interpreted and used by computer systems. SBVR is an integral part of the OMG’s Model Driven Architecture (MDA) [Wikipedia] SBVR (cont’d) SBVR in simple words SBVR is a specification of how to define your own notation for writing business rules. SBVR (cont’d) SBVR benefits Makes business rules less ambiguous than in natural language Helps fill in the gap between day-to-day language and AIXM data model Opens the way to automation (see Schematron) SBVR (cont’d) Characteristics of SBVR-compliant business rules Rules are less ambiguous, more detailed Rules are less natural than… natural languages Rules are similar in form Rules are verbose Rules sounds more “artificial”, less “natural” Rules are closer to AIXM Data Model Sample Business Rules English The last leg of a Final Approach Transition must be ‘CF’, ‘RF’ or ‘TF’. SBVR Each ProcedureTransition that has a type equal to ‘FINAL’ and at least one InstrumentApproachProcedure.codingStandard equal to ‘ARINC_424_19’ must have at least one ProcedureTransitionLeg[last].legTypeARINC equal to ‘CF’, ‘RF’ or ‘TF’. Sample Business Rules English If first leg of missed approach is HA or HM, altitude1 must be provided SBVR Each ProcedureTransition that has a type equal to 'MISSED', 'MISSED_S' or 'MISSED_P‘ and at least one InstrumentApproachProcedure.codingStandard equal to 'ARINC_424_19‘ and exactly one ProcedureTransitionLeg[1].legTypeARINC equal to 'HA' or 'HM’ must have an upperLimitAltitude Sample Business Rules English TF leg is preferred to CF leg type in RNAV Terminal Procedures that are not using ground-based navaid references. SBVR Each ProcedureTransition that has a RNAV equal to 'YES' and at least one [...].codingStandard equal to 'ARINC_424_19‘ and no guidanceFacility_navaid and no guidanceFacility_specialNavigationSystem.type equal to 'DECCA', LOCANA', 'LOCANC' or 'LOCAND‘ should have at least one ProcedureTransitionLeg. legTypeARINC equal to 'TF' Sample Business Rules – Conclusion 1. The last leg of a Final Approach Transition must be CF, RF or TF. 2. If first leg of missed approach is HA or HM, altitude1 must be provided. 3. TF leg is the preferred to CF leg type in RNAV Terminal Procedures that are not using ground-based navaid references. => Each object O that satisfies conditions C1, C2 ,…and Cn must also satisfy condition Cx Sample Business Rules – Conclusion Bonus of using a formalism Detection of redundancy Exactly same rules Detection of generic rules A generic rule is applicable in different contexts Each entity that has a dateMagneticVariation must have a magneticVariation”. Detection of patterns Different rules with the same structure Each ${entity} that has a ${property} must have ${property}.uom Schematron What In markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees. [Wikipedia] Why Proof of concept of business rules automation Schematron (cont’d) Schematron characteristics: Declarative Extensible Expressiveness Tricky Verbose – sometimes hard to read Schematron (cont’d) not(./parent::*/parent::*/aixm:codingStandard = 'ARINC_424_19') or not((./aixm:type='MISSED' or ./aixm:type='MISSED_P' or ./aixm:type='MISSED_S') and ./parent::*/parent::aixm:InstrumentApproachProcedureTimeSlice) or not(saxon:evaluate(arcext:getXPath((./aixm:transitionLeg/aixm:ProcedureTr ansitionLeg/aixm:theSegmentLeg)[1]/@xlink:href))/*/*[aixm:legTypeARIN C = 'HA' or aixm:legTypeARINC = 'HM']) or saxon:evaluate(arcext:getXPath((./aixm:transitionLeg/aixm:ProcedureTransi tionLeg/aixm:theSegmentLeg)[1]/@xlink:href))/*/*[aixm:upperLimitAltitude] Schematron (cont’d) References & Resources 1. NDBX business rules for AIXM5.0 2. ARINC424-19 specifications 3. AIXM 5.1 Wiki 4. Business Rules Manager 5. ARC-Web 6. Pulsar SBVR specifications 7. Experts from EUROCONTROL and Pulsar How we did the job Results ARINC 424 Rules 229 NDBX rules => 236 AIXM 5.1 rules Including 164 SBVR rules And 157 Schematron rules Results (cont’d) AIXM Business Rules Database contains more than 1700 records 1400 rules before generation 2100 rules after generation 40 templates 1100 rules with SBVR and Schematron Business Rules Manager Business Rules Manager (cont’d) Q&A Questions?
© Copyright 2025 Paperzz