ARINC Business Rules

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?