experiences in leveraging m&s expertise by hiding software complexity
DESCRIPTION
With their increasing core count, modern processors offer a wealth of power waiting to be harnessed. Specialized programming languages and software development paradigms have emerged, each offering its take on how to fully exploit this power. With the same goal in mind, some frameworks, such as gaming engines, offer programming paradigms optimally aligned with hardware platforms which are well suited for software developers. Other frameworks instead provide higher-level abstractions which trade performance for usability to cope with software complexity. Conversely, expecting subject matter experts (SMEs) to translate their domain knowledge into an imperative programming language is quite unrealistic. Moreover, asking SMEs to be experts in, say, parallel processing is utopian. Thus, how can one hide an ever-increasing software complexity from SMEs and still harness the full power of today’s hardware? This presentation deals with hiding software complexity from SMEs involved in the development and qualification process of full mission simulators (FMSs). Discussion is grounded through the examination of how this problem is addressed in areas across CAE Inc. Also considered is the management of heterogeneous models, large data volumes within models, and the evolution of assets generated from these models from an integrated solutions provider’s perspective. The methodologies covered include: aircraft systems modeled graphically by SMEs supported by reusable framework components through model-driven engineering (MDE); cockpit displays designed graphically by artists in conjunction with SMEs; qualification test guides (QTGs) defined in a domain-specific language (DSL) for qualifying the performance and handling qualities of simulators; and code generation to reduce the complexity of achieving data-level interoperability. Also discussed are the current research areas with the goal of completely hiding software complexity from SMEs. The intent of this presentation is to share our methodologies and experiences with the M&S community with the end goal being more cost-effective, productive, and interoperable software products. From paper http://ntsa.metapress.com/index/H116306L50150863.pdfTRANSCRIPT
Experiences in Leveraging M&S Expertise
by Hiding Software Complexity
Martin Tapp
CAE Inc.
Context – Simulator Software
Replicating an aircraft and its environment involves the interaction
of several systems within a Full Mission Simulator (FMS)
2
Problem Description
3
To meet new FMS needs
Software increased in complexity
Subject matter experts (SMEs) developing FMS
Utopian to ask SMEs to be experts in parallel processing
Unrealistic to expect SMEs to translate their domain
knowledge directly into software
SME
Hardware Performance
4
Array of Structure (AoS) Structure of Array (SoA)
Hiding Software Complexity
5
Model (Domain Specific Language)
Model Compiler
Software Application (C/C++, .NET, Java)
Know-How
What
How
Subject Matter Expert
Software Expert
Unfolding of What into How requires Know-
How not shared by majority of SMEs
(Subject Matter Experts)
Domain-Specific Language
6
SELECT * FROM Book
WHERE price > 100.00 (Structured Query Language)
SQL Engine
Locate, retrieve and filter
the expected Books from
a persistent storage.
Know-How
What
How
Subject Matter Expert
Software Expert
Simplifying System Modeling
7
System models should focus on What needs to be replicated from
their real system counterpart rather than How to do so in software
Graphical System Modeling
8
System Models (System Modeling Language)
Model Interpreter Know-How
What
How
Aircraft Systems
Simplifying Graphical Display Design
9
Replicating today’s displays became an increasing challenge
which our existing tool base was inadequate at addressing
Graphical Display Design
10
Graphic Displays (Graphical Display Language)
Model Compiler Know-How
What
How
Cockpit Displays
Simplifying Qualification Test Guide Implementation
11
Qualification Test Guide (QTG) details tests required to
qualify a simulator for its intended training purposes
DSL automates QTG tests (stimulate & record sim. parameters)
Qualification Test Guide DSL
12
QTG Tests (QTG Test Language)
Model Compiler Know-How
What
How
Perform QTG Tests
Upcoming Challenges
13
Know-How
What
How
-Hardware-Aware Software
-Legacy Assets Integration
-Multi-Language Integration -Debugging at the DSL Level
Conclusion
• Requiring SMEs to be experts both in their
domain and in software
– Global problem not limited to FMS
• Leveraging the complete expertise of SMEs
and harnessing the full power of tomorrow’s
hardware
– Only achievable through Know-How handled by
Software Experts
• Supporting SME’s workflow throughout the
full product lifecycle
– Move towards Workflow-Driven Development
14