aiExpert In Practice – #1 – Aeronautical Data model
This worked example shows how aiExpert was applied to a public-domain data model, and shows the results which the LLM returned
Source Model
The source of this model was the AIXM 5.2 Aeronautical Information Exchange Model, owned by Eurocontrol and the FAA. The model was downloaded from https://aixm.aero/document/aixm-52-data-model-uml and is used without permission, as we believe this model is public domain.
The purpose of this document is to describe the results returned when parts of this model were analyzed by the aiExpert ‘Static Data’ query, which is used to examine all kinds of static class models, logical- and conceptual- data models.
Please note that this is using the out-of-the-box function of aiExpert, with no tailoring of the prompts to suit the domain.
Model Diagram: 'Airspace'
We took the diagram ‘Airspace’ (just because this seems fairly important given the domain) :
As you can see, this is a complex bit of modelling
Inputs
We chose the ‘Static Model check’ query for this analysis, which collects all the data about each class, all its attributes and connectors, and submits this ot the LLM with the prompts:
System instructions: “You are an expert in the structure of static data or class models”
Rules: “Here are some class names and their connections which are part of a static model.
Check if they make sense according to their names, roles and connections..
When you respond, grade the severity from 1 – a minor issue, to 5 – a serious problem.
Always include the ID of each element with any feedback ”
LLM used: gpt-5-mini
Data collector: ConnectorDetail
Important note:
We present the details of the Ai analysis largely without comment. This is not our model: we don’t understand the domain, so we are not in a position to say whether the feedback from the LLM is good or bad, useful or useless. What we can say is whether the feedback might be useful, or whether it seems silly.
In the ‘suggested fix’ information which is returned by the AI, we highlight in italics the part of the input message to which the feedback refers.
Aircraft Navigation Equipment
Feedback from AI:
Issue: AircraftNavigationEquipment declares a connection to AircraftCharacteristic with connector name ‘has’, while AircraftCharacteristic declares the reverse association with connector name ‘radioNavigationEquipment’. The asymmetric naming makes the relationship semantics unclear (which side ‘has’ which). Use consistent, complementary role names on both ends or document the inverse explicitly.
Suggested fix:
Change “AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘has’
AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment” to: “AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘isUsedBy’ (or) AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment
// OR choose consistent inverse names
AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘isReferencedBy’
AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment”
Airspace Volume
Feedback from AI:
Issue: The model shows multiple overlapping and inconsistently named associations between Airspace and AirspaceVolume: Airspace lists AirspaceVolume under both ‘dependsOn’ and ‘geometryComponent’, AirspaceVolume lists Airspace under ‘is connected to … hasGeometry’, and AirspaceVolume also has ‘contributorAirspace’ (zero or one). These differing connector names and multiplicities produce ambiguity about parent/child direction, ownership and multiplicity of the relationship (is an Airspace composed of volumes, or do volumes depend on Airspace?).
Suggested Fix:
Change “Airspace is connected to zero or more AirspaceVolume where connector name is ‘dependsOn’
Airspace geometryComponent zero or more AirspaceVolume
AirspaceVolume is connected to unspecified number of Airspace where connector name is ‘hasGeometry’
AirspaceVolume contributorAirspace zero or one Airspace” to: “Unify associations with clear primary relationship. Example:
Airspace geometryComponent zero or more AirspaceVolume (primary composition relationship; Airspace composes AirspaceVolume)
AirspaceVolume contributorAirspace zero or one Airspace (if a volume can reference an origin/parent Airspace other than composition use)
Remove ‘dependsOn’ and the generic ‘hasGeometry’ duplicates or explicitly mark them as synonyms/inverses with consistent role names. Ensure multiplicities are coherent (e.g. Airspace 0..* AirspaceVolume; AirspaceVolume 0..1 Airspace as owner or contributor as required).”
Geo Border
Feedback:
Issue: GeoBorder lists ‘border zero or one Curve’ while Curve lists the inverse as ‘hasShape’ toward GeoBorder. The use of the connector name ‘border’ on the GeoBorder side pointing to a Curve is semantically unclear (a GeoBorder ‘hasShape’ (Curve) would be clearer). Consider using complementary names like GeoBorder.shape ↔ Curve.forBorder or GeoBorder.hasShape.
Suggested fix:
Change “GeoBorder border zero or one Curve
Curve is connected to unspecified number of GeoBorder where connector name is ‘hasShape'” to: “Make names complementary and clear. Example:
GeoBorder hasShape zero or one Curve
Curve forGeoBorder zero or more GeoBorder
(or)
GeoBorder shape zero or one Curve
Curve hasShapeFor zero or more GeoBorder”
Point
Feedback
Issue: The Point element lists its connection to SignificantPoint twice (‘Point is connected to unspecified number of SignificantPoint’ appears two times). This duplicate is redundant and may confuse consumers of the model.
Suggested fix:
Change “Point is connected to unspecified number of SignificantPoint
Point is connected to unspecified number of SignificantPoint” to: “Point is connected to unspecified number of SignificantPoint”
Observations
As with all feedback from aiExpert, this is the opinion of the LLM at a point in time. We are not in a position to say what’s right, but all the feedback (there were two more, omitted to keep this article short) seems to be making a point which refers to some aspect of the model. If the authors of the model, or anyone else with knowledge of the domain knows better, please let us know.
More Insights
aiExpert In Practice - #4 - Healthcare Data Model
11 November 2025
Shows a summary of the feedback on some parts of a large, public domain healthcare model from Canada
Learn MoreaiExpert In Practice - #3 - BPMN Process Models
7 November 2025
This example gets aiExpert to provide feedback on an BPMN 2 process model diagram
Learn MoreaiExpert In Practice - #2 - Archimate 3
6 November 2025
This example gets aiExpert to provide feedback on an Archimate3 Motivation Model.
Learn MoreA model without validation is just some pictures
22 June 2023
Why you need your models to be validated.
Learn MoreUsing Derived Connectors to simplify your models
7 June 2023
..and make them more valuable
Learn MoreTechnical and Content-quality
1 June 2023
Maintain quality with tools to find and fix mechanical errors in your modeling
Learn MoreTop 11 model quality tips for Sparx EA modelers
3 November 2022
Discover new insights into your model, and spot and resolve problems.
Learn MoreHow to get your EA models ready for Prolaborate
6 July 2022
To make the most of Prolaborate it's a good idea to start by doing some housekeeping
Learn MoreStep by step to a tailored UI for Enterprise Architect
28 March 2022
The 'out-of-the-box' EA element properties window can be intimidating for a new user, and it's easy to get overwhelmed, miss critical data, or more...
Learn MoreOnly Connect - Exploring traceability in Sparx EA models
1 November 2021
This webinar looks at the importance of consistency to get value from traceability.
Learn MoreWebinar - How to improve model quality and consistency
16 June 2020
This webinar from the EA Global Summit 2020 provides hints and tips for managing models as they grow.
Learn MoreHard and Soft
11 October 2017
No, not about Brexit… More about styles of Business Analyst.
Learn MoreModel curation techniques for EA
6 September 2016
How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.
Learn More