integration of easy5/gsds for auto code generation and testing
DESCRIPTION
Integration of EASY5/GSDS for Auto Code Generation and Testing. Mike Bingle, Associate Technical Fellow Model Based Processes and Tools Simulation Engineering The Boeing Commercial Airplane Group. Discussion Topics. Boeing Commercial Airplane Group model based process - PowerPoint PPT PresentationTRANSCRIPT
Integration of EASY5/GSDSfor Auto Code Generation and Testing
Mike Bingle, Associate Technical Fellow
Model Based Processes and Tools
Simulation Engineering
The Boeing Commercial Airplane Group
2
Discussion TopicsDiscussion Topics
Boeing Commercial Airplane Group model based process
– A bit of background to our work
– A brief overview of GSDS and how auto code generation is
applied
Easy5/GSDS Integration
– What problem are we solving?
Low Level Functions Project
– A first application
Conclusion
– Some final words
3
Discussion TopicsDiscussion Topics
Boeing Commercial Airplane Group model based process
– A bit of background to our work
– A brief overview of GSDS and how auto code generation is
applied
Easy5/GSDS Integration
– What problem are we solving?
Low Level Functions Project
– A first application
Conclusion
– Some final words
4
Model UsageModel Usage
LRU FunctionalRequirements
TrainingSimulators
Airplane LevelEngineering
Model
Model Developers
EngineeringAnalysis/Simulation
IntegrationLabs
Systems &Operational
Training
ModelRepository
5
GSDS OverviewGSDS Overview
SUBROUTINE autotC --------------------------------------------------------------- *C BOEING PROPRIETARY, CONFIDENTIAL, AND/OR TRADE SECRET *C Copyright (C) 1998, The Boeing Company *C Unpublished Work -- All Rights Reserved *C --------------------------------------------------------------- *C ORIGIN : Generated by BDED version K00.1 *C Created on 16:21:48 04/09/1998 *C PROCESS NAME : autot *C PROCESS NUMBER: 1.1.4 *C PARENT PROCESS: air_sys *C GENERATED : 14:00:21 05/01/1998 *C AUTHOR : *C --------------------------------------------------------------- *C PREAMBLE: *C *C Automatic throttle *C *C --------------------------------------------------------------- *C ARGUMENT DECLARATIONS: *C --------------------------------------------------------------- *CC --------------------------------------------------------------- *C DECLARATIONS FOR USER DEFINED LOCAL CONSTANTS: *C --------------------------------------------------------------- *C *C *C --------------------------------------------------------------- *C COMMON DEFINITIONS: *C --------------------------------------------------------------- *%NOLIST%include 'inc/sxcom_in.fc'%include 'inc/sxcom.fc'%include 'inc/aero_out.fc'%include 'inc/eom_cmn.fc'%include 'inc/autot_cmn.fc'%include 'inc/modefl.fc'%include 'inc/deltco.fc'%LISTC --------------------------------------------------------------- *C MAINTAIN STATUS OF ALL ENTITIES *C * SAVEC --------------------------------------------------------------- *
C --------------------------------------------------------------- *C DECLARATIONS FOR USER DEFINED LOCAL VARIABLES: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C DATA STATEMENTS FOR USER DEFINED LOCAL VARIABLES: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C DECLARATIONS FOR GENERATED LOCAL VARIABLES: *C --------------------------------------------------------------- * REAL q002 { In autot on io between block 8 and 9. REAL rinp000 { In autot with block 8 REAL rout001 { In autot with block 8C --------------------------------------------------------------- *CC DECLARATIONS FOR FUNCTIONS: *C * REAL ALIMIT REAL INTRAPC --------------------------------------------------------------- *C *C FUNCTION INCLUDE FILES: *C *C *C --------------------------------------------------------------- *C PROGRAM: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C PROCESS autot 1.1.4C --------------------------------------------------------------- * q002 = INTRAP(((sxvcom * kntfps) - vtsx - (udotsx * gain1t))* & gain2t, imoden, to2, tlaic, rinp000, rout001) tla = ALIMIT(q002, 0.0, 100.0)C --------------------------------------------------------------- *C END autot 1.1.4C --------------------------------------------------------------- *
RETURN END
6
Simulation - BackgroundSimulation - Background
Produce large scale simulations for Boeing airplanes
– 707, 727, 737, 747, 757, 767, 777
~500K lines of FORTRAN per airplane model with a staff of 100
engineers, the 777 has over 1M lines of code
Modeling of the following types
– Aerodynamic flight characteristics
– Avionics & flight controls units
– Propulsion, mechanical & electrical systems
Simulations execute on high-end HP 9000 servers & Concurrent
NightHawk real-time computers
7
Simulation - UsageSimulation - Usage
Interactive Use (No Airplane H/W)– Engineering Studies– Simulation Development– Simulator data documents
Engineering Flight Deck Simulators
– Engineering studies
– Pilot evaluation
– Accident/incident investigation
Avionics/Flight Control Test Benches– Airplane system testing
8
Discussion TopicsDiscussion Topics
Boeing Commercial Airplane Group model based process
– A bit of background to our work
GSDS & Auto Code Generation in simulation development
– A brief overview of GSDS and how auto code generation is applied
Easy5/GSDS Integration
– What problem are we solving?
Low Level Functions Project
– A first application
Conclusion
– Some final words
9
What Problem are we Solving?What Problem are we Solving?
Model Developers
EngineeringAnalysis/Simulation
ModelRepository
SUBROUTINE autotC --------------------------------------------------------------- *C BOEING PROPRIETARY, CONFIDENTIAL, AND/OR TRADE SECRET *C Copyright (C) 1998, The Boeing Company *C Unpublished Work -- All Rights Reserved *C --------------------------------------------------------------- *C ORIGIN : Generated by BDED version K00.1 *C Created on 16:21:48 04/09/1998 *C PROCESS NAME : autot *C PROCESS NUMBER: 1.1.4 *C PARENT PROCESS: air_sys *C GENERATED : 14:00:21 05/01/1998 *C AUTHOR : *C --------------------------------------------------------------- *C PREAMBLE: *C *C Automatic throttle *C *C --------------------------------------------------------------- *C ARGUMENT DECLARATIONS: *C --------------------------------------------------------------- *CC --------------------------------------------------------------- *C DECLARATIONS FOR USER DEFINED LOCAL CONSTANTS: *C --------------------------------------------------------------- *C *C *C --------------------------------------------------------------- *C COMMON DEFINITIONS: *C --------------------------------------------------------------- *%NOLIST%include 'inc/sxcom_in.fc'%include 'inc/sxcom.fc'%include 'inc/aero_out.fc'%include 'inc/eom_cmn.fc'%include 'inc/autot_cmn.fc'%include 'inc/modefl.fc'%include 'inc/deltco.fc'%LISTC --------------------------------------------------------------- *C MAINTAIN STATUS OF ALL ENTITIES *C * SAVEC --------------------------------------------------------------- *
C --------------------------------------------------------------- *C DECLARATIONS FOR USER DEFINED LOCAL VARIABLES: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C DATA STATEMENTS FOR USER DEFINED LOCAL VARIABLES: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C DECLARATIONS FOR GENERATED LOCAL VARIABLES: *C --------------------------------------------------------------- * REAL q002 { In autot on io between block 8 and 9. REAL rinp000 { In autot with block 8 REAL rout001 { In autot with block 8C --------------------------------------------------------------- *CC DECLARATIONS FOR FUNCTIONS: *C * REAL ALIMIT REAL INTRAPC --------------------------------------------------------------- *C *C FUNCTION INCLUDE FILES: *C *C *C --------------------------------------------------------------- *C PROGRAM: *C --------------------------------------------------------------- *C --------------------------------------------------------------- *C PROCESS autot 1.1.4C --------------------------------------------------------------- * q002 = INTRAP(((sxvcom * kntfps) - vtsx - (udotsx * gain1t))* & gain2t, imoden, to2, tlaic, rinp000, rout001) tla = ALIMIT(q002, 0.0, 100.0)C --------------------------------------------------------------- *C END autot 1.1.4C --------------------------------------------------------------- *
RETURN END
Specification, Code Generation andLarge Scale Simulation
Analysis and Small Scale Simulation
Two forms of the same model!
10
Discussion TopicsDiscussion Topics
Boeing Commercial Airplane Group model based process
– A bit of background to our work
GSDS & Auto Code Generation in simulation development
– A brief overview of GSDS and how auto code generation is applied
Easy5/GSDS Integration
– What problem are we solving?
Low Level Functions Project
– A first application
Conclusion
– Some final words
11
Model UsageModel Usage
LRU FunctionalRequirements
TrainingSimulators
Airplane LevelEngineering
Model
Model Developers
EngineeringAnalysis/Simulation
IntegrationLabs
Systems &Operational
Training
ModelRepository
12
Low Level Functions ProjectLow Level Functions Project
Objective
– Enable reuse of BCAG developed models by LRU suppliers and Training Simulator Manufacturers
(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
PFCModel
FunctionLibrary 2(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
EngineModel
FunctionLibrary 1(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
LRUSupplier
FunctionLibrary 3(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
SimulatorManufacturer
FunctionLibrary 4
Current
(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
EngineModel
(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
PFCModel
(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
LRUSupplier
(4*184.5)
Honeywell
Boeing
pvsgmdpvscmdwmspd
pvsgn
vertspd209:22:24 08/29/1996Layer: 4
FIGURE 1.4.2-1 Vertical SpeedRef: D6-37704, Fig.2-29, Pg 2-67
*
*- LRU Only
IN
SYMMETRICAL LIMIT
Note: This page is only called when in either MCP orVNAV Vertical Speed modes (i.e., 128 is onlywritten into SCMODE in VNAV Vertical Speed.)
L
DD
N
IC
IC
IC
A
RS
TAU
H
L
N
N
D
A
A
B
B
BA
RSET
RSET
B
AL
SL
hold_fcc
svsinp_fcc
shdotc_fcc sptci_fcc
spvtas_fcc
vertc_fcc 0.25 sptp_fcc
sptcd_fcc
gsfmtvscmd_fcc
uvss_fcc
uvnvses_fcc
8
128
scmode
0.65
6000.0
-7900.0
deg_per_rad
738.0
sec_per_min 0.0
-1.0
spgamd_fcc
sphold
1
-1
0.0
spign_fcc
spnzlm_fcc
0.1
0.2
idle_arm_fcc
retard_fcc
spmode
ND
ND
ND
A B
A B
A B
1TAU*S+1
A B
1S
SimulatorManufacturer
Proposed
FunctionLibrary
13
What is a Low Level Function?What is a Low Level Function?
14
Example Implementation in GSDSExample Implementation in GSDS
15
EASY5 Test HarnessEASY5 Test Harness
16
Function AnalysisFunction Analysis
17
Function SimulationFunction Simulation
18
Discussion TopicsDiscussion Topics
Boeing Commercial Airplane Group simulations
– A bit of background to our work
GSDS & Auto Code Generation in simulation development
– A brief overview of GSDS and how auto code generation is applied
Easy5/GSDS Integration
– What problem are we solving?
Low Level Functions Project
– A first application
Conclusion
– Some final words
19
ConclusionConclusion
The Boeing Commercial Airplane Simulation Engineering group has
successfully integrated EASY5 and GSDS and applied the integrated
product in a production environment
...which leaves us well-positioned for the future