Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The Semantics of Business Vocabulary and Business Rules (SBVR)  standard is used for the writing of the AIXM business rules in relation with the AIXM UML logical data model. This means that the AIXM classes and their properties (attributes and associations), together with their definitions and data types, provide the the "business vocabulary" that is used as the basis for the definition of the AIXM business rules.
This section defines an 'SBVR profile', which is tailored to the AIXM needs and which is documented as a number of concepts and conventions applied in the writing of the AIXM business rules. Two previous projects have provided input material for this document:

  • work done by Pulsar Consulting, under contract for Eurocontrol , which is available on the AIXM wiki: Use of SBVR for AIXM ;
  • Guidance on Writing AIRM Constraints provided by SESAR Project 08.01.03 .

...

...

The following table introduces the concepts used as part of the SBVR Profile for AIXM, including their graphical notation. Note that the use of some graphical notations is simplified as compared to the SBVR standard, such as double underline which is replaced with simple underline. This facilitates the use of standard office tools (such as Microsoft Excel) for the provision of the AIXM set of Business Rules, as double underline is hardly supported.


Concept

SBVR Definition:

  • Unit of knowledge created by a unique combination of characteristics.

    Representation in profile:
  • Not represented – too general


NounConcept

SBVR Definition:

  • Concept that is the meaning of a noun or noun phrase.

Representation in profile (i.e. what AIXM items may appear as NounConcept according to the SBVR profile):

  • Represented by AIXM UML Classes and Properties, meaning that AIXM Class Name, Role Name or Attribute Name may appear as NounConcept. Due to specificities of the AIXM UML model, some special constructs are explained in the NounConcept - Special situations section further in this chapter.

Style: Bold, underlined and UpperCamelCase or lowerCamelCase (depending on how the noun concept appears in the UML model). If several nouns are concatenated, then they should be separated by a dot (".") symbol.
Colour: #008080Image Modified

Example: AirportHeliport, Airspace.type, AirportHeliport.name, Runway.associatedAirportHeliport


Verb-concept
also known as
"Fact type"

SBVR Definition:

  • Concept that is the meaning of a verb phrase that involves one or more noun concepts and whose instances are all actualities.


    Fact is a proposition that is taken as true.

    <Fact-type> :: = <concept1> <verb> <concept2>

    Verb Concepts:
  • Business Facts
  • Relations amongst Concepts


    Representation in profile (i.e. what AIXM items may appear as Verb-concept according to the SBVR profile):
  • Represented by Name of an AIXM UML association.


    Style: italic
    Colour: #0000ff

    Example: AirportHeliport has name, Runway hasSurfaceDescribedBy SurfaceCharacetistics.


Name

SBVR Definition:
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d1994192-ae94-4a7f-bf3e-dbcb92ad32c2"><ac:plain-text-body><![CDATA[* Name is a concept that corresponds to only one object [thing] used for the designation of an individual concept — a name. Names tend to be proper nouns.
]]></ac:plain-text-body></ac:structured-macro>

Representation in profile (i.e. what AIXM items may appear as Name according to the SBVR profile):

  • Represents UML Instances, Slots, Enumeration literals, and their assigned Properties
  • CodeList values


    Style: surrounded by 'simple quotes'
    Colour: #339966

    Example: 'Sweden', 'CTA', 'CTA_P', 'YES', 'NIL'

    Note: this style is different from the standard SBVR style for Name concepts (double underline) for a practical reasons - the double underline is not well supported on all the platforms and in all the software applications used for the development and maintenance of the AIXM Business Rules.

    'NIL' is an additional Name concept used in the SBVR profile for AIXM. It indicates a void property (i.e. a property that does not have a value).

    Sometimes, it is necessary to provide a "list of names" (such as 'A', 'B' or 'C') in order to indicate the allowed values for a property (which appears as a NounConcept in SBVR rules). The following style shall be used: opening-bracket, followed by each Name-value surrounded by simple quotes, separated by comma and ending with closing-bracket.

    Example: ('A','B','C') (note that the quotes and the brackets are also formatted, just to keep the editing simple)


keyword

SBVR Definition

  • are used to construct statements – the words that can be combined with other designations to form statements and definitions, see sections on Logical Operations, Quantification, Modality and Additional SBVR keywords, all these being part of the keyword concept.


    Representation in profile:
  • No particular mapping to UML model elements


    Style: Usual text format
    Colour: #ff9900

    Example: Each - referring to universal quantifier.

...

Special case

NounConcept construction rules

Concatenation - when necessary to identify an UML model element that is remote from the current class. For example, a rule defined for the AirportHeliport class that needs to refer to the name attribute of the associated City class.

The "." symbol is used as separator between the concatenated noun concepts. The relative path needs to include all the intermediate association role names and class names, as in the following example: servedCity.City.name.
Note that the separator is also formatted, just to keep the editing simple, although it is not part of respective noun concept.

Association classes - Some associations are qualified by a number of properties depicted inside an 'association class'. For example, the association between Airspace and another AirspaceVolume includes the AirspaceGeometryComponent association class.

When the NounConcept is inside the association class, the path includes first the name of the association role, concatenated with the association class name and with the property name concerned. For example: geometryComponent.AirspaceGeometryComponent.operation.
When the NounConcept is in the target association class or beyond, the path includes first the name of the association role, concatenated with the association class name, then the name of a fictitious theMyClass property name followed by the target class name. For example: geometryComponent.AirspaceGeometryComponent.theAirspaceVolume.AirspaceVolume.lowerLimit.

Specialisation - Inheritance is frequently used in the AIXM UML model. The class that is specialised is always stereotyped <<abstract>> and does not appear as such in the AIXM XML Schema. Only its non-abstract specialisations appear in the Schema. Inheritance could occur with more than one level of specialisation (for example, the Service class)

In general, the class that is specialised is used as NounConcept, followed by the "specialisation" fact-type and by the name of the derived class (also a NounConcept). For example: "... NavaidEquipment specialisation TACAN…".
When there is no risk for confusion, the properties of the abstract (generalised) class are used as if they were directly properties of the specialised class. For example: "...TACAN.location...", although location is a property of the <<abstract>> NavaidEquipment, which is inherited by the TACAN class.

Data type attributes - For example, most "Val…" data types come with a "uom" attribute.

The uom attribute appears directly in the path after the attribute name, prefixed with a '.'. For example, the rules that require the mandatory presence of a uom value for an elevation attribute use the following noun concept path: elevation.uom.

TimeSlice - Not present in the UML model, but appearing directly in AIXM XML Schema, based on the AIXM Temporality Concept (see in particular section 2.8 in that document). For example, rules that check the correctness of the validTime with regard to the type of TimeSlice.

The following properties introduced for each and every AIXM <<feature >> class may appear as noun concepts:

  • interpretation
  • sequenceNumber
  • correctionNumber
  • validTime
  • featureLifeime
    Note: in order to avoid confusions, these properties appear in the SBVR formulation as properties of timeSlice.AIXM Feature TimeSlice.

GML elements - Present only partially in the UML model, through the GM_… classes. However, the details of these classes are missing in AIXM 5.1. For example, positions are encoded with the gml:pos element, while surfaces use much deeper structures, such as gml:Surface.gml:...

Specific GML 3.2.1 schema elements appear as NounConcepts, such as:

  • ….Curve.segments.GeodesicString

Different instances - When a rule concerns two different instances of the same NounConcept and it is necessary to distinguish between the two. For example, a rule for the uniqueness of 5-letter designators needs to refer to different instances of the DesignatedPoint class.

A number in square brackets is used in order to distinguish the two, such as in the following example: DesignatedPoint

Wiki Markup
\[1\]

.
Note that this notation is different from the one used in the SBVR standard (subscript, such as DesignatedPoint1) for a practical reason - subscripts are not well supported in all systems and on all the platforms used for the definition and maintenance of the AIXM Business Rules. This situation might change in future and the graphical notation might be aligned with the one used in the SBVR standard.

...

Keyword

Explanation

Way of use in SBVR AIXM Profile

a, an

universal or existential quantification

depending on context based on English rules

assigned value

existential quantification (that the referent thing is not null)

for readability reasons (and to comply with the English language syntax), it is usually written as follows:
assigned noun-concept value

with

has fact type plus a condition on the property or descendant

used as a simplified form of:
p has q and q …some condition for q...

that

existential quantification for a part of a condition starting with a verb concept

typically used in front of the verb concept, between two noun concepts with associated conditions
... p… some condition for p… that verb q … some condition for q …

equal-to

existential quantification plus a condition that the referent thing is the same thing as the referent of the term that comes next

typically used in front of a Name or a list of Names, when the item also has to exist

higher-than

existential quantification plus a condition that the referent thing is a numerical value that is larger than the referent of the term that comes next

typically used after a noun-concept in the form of a class attribute that takes numerical values

higher-or-equal-to

existential quantification plus a condition that the referent thing is a numerical value that is larger than or equal to the referent of the term that comes next

typically used after a noun-concept in the form of a class attribute that takes numerical values

lower-than

existential quantification plus a condition that the referent thing is a numerical value that is smaller than the referent of the term that comes next

typically used after a noun-concept in the form of a class attribute that takes numerical values

lower-or-equal-to

existential quantification plus a condition that the referent thing is a numerical value that is smaller than or equal to the referent of the term that comes next

typically used after a noun-concept in the form of a class attribute that takes numerical values

resolved-into

existential quantification plus a condition that the value of the noun-concept that precedes the keyword corresponds to an instance of the verb and noun-concept that come next

used to indicate the action of evaluating the value of an association role name instance and identifying the target feature instance, taking into consideration the associations implementation method used (according to the AIXM Feature Identification and reference document)

other-than

at-most-one quantification plus condition that the referent thing is not the same thing as the referent of the term that comes next

typically used in front of a Name or a list of Names, when the item may also be null

...