ARINC 424 Business Rules An introduction Pulsar Consulting
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, My. SQL, … - Apache/ Tomcat, … Contact: Tudor Ivanov – Director tiv@pulsar. be
Airport Network Information Management ANIM
AIXM 5. 1 Wiki
x. NOTAM
x. SNOWTAM
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: Standard. Instrument. Arrival § Can have at most one of the following: navaid, radar or special. Navigation. System § 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 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 Procedure. Transition that has a type equal to ‘FINAL’ and at least one Instrument. Approach. Procedure. coding. Standard equal to ‘ARINC_424_19’ must have at least one Procedure. Transition. Leg[last]. leg. Type. ARINC equal to ‘CF’, ‘RF’ or ‘TF’.
Sample Business Rules § English If first leg of missed approach is HA or HM, altitude 1 must be provided § SBVR Each Procedure. Transition that has a type equal to 'MISSED', 'MISSED_S' or 'MISSED_P‘ and at least one Instrument. Approach. Procedure. coding. Standard equal to 'ARINC_424_19‘ and exactly one Procedure. Transition. Leg[1]. leg. Type. ARINC equal to 'HA' or 'HM’ must have an upper. Limit. Altitude
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 Procedure. Transition that has a RNAV equal to 'YES' and at least one [. . . ]. coding. Standard equal to 'ARINC_424_19‘ and no guidance. Facility_navaid and no guidance. Facility_special. Navigation. System. type equal to 'DECCA', LOCANA', 'LOCANC' or 'LOCAND‘ should have at least one Procedure. Transition. Leg. leg. Type. ARINC 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, altitude 1 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 C 1, C 2 , …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 date. Magnetic. Variation must have a magnetic. Variation”. § 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: : */aixm: coding. Standard = 'ARINC_424_19') or not((. /aixm: type='MISSED' or. /aixm: type='MISSED_P' or. /aixm: type='MISSED_S') and. /parent: : */parent: : aixm: Instrument. Approach. Procedure. Time. Slice) or not(saxon: evaluate(arcext: get. XPath((. /aixm: transition. Leg/aixm: Procedure. Tr ansition. Leg/aixm: the. Segment. Leg)[1]/@xlink: href))/*/*[aixm: leg. Type. ARIN C = 'HA' or aixm: leg. Type. ARINC = 'HM']) or saxon: evaluate(arcext: get. XPath((. /aixm: transition. Leg/aixm: Procedure. Trans ition. Leg/aixm: the. Segment. Leg)[1]/@xlink: href))/*/*[aixm: upper. Limit. Altitude ]
Schematron (cont’d)
References & Resources 1. NDBX business rules for AIXM 5. 0 2. ARINC 424 -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?
- Slides: 36