本文主要是介绍DO-178C解读 - 软件配置索引(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
B.3 软件生命周期环境配置索引Software Life Cycle Environment Configuration Index
软件生命周期环境配置索引(SECI)标识软件生命周期环境的配置。 编写该索引是为了帮助再现硬件和软件生命周期环境,以进行软件重新生成、重新验证或修改,以及The Software Life Cycle Environment Configuration Index (SECI) identifies the configuration of the software life cycle environment. This index is written to aid reproduction of the hardware and software life cycle environment for software regeneration, reverification, or modification, and
应确定以下内容:should identify the following:
• 软件生命周期环境硬件及其操作系统软件;the software life cycle environment hardware and its operating system software;
• 软件开发工具,例如编译器、链接编辑器和加载器以及数据完整性工具;the software development tools, such as compilers, linkage editors and loaders, and data integrity tools;
• 用于验证软件产品的测试环境; 和the test environment used to verify the software product; and
• 合格的工具及其相关的工具资格数据。qualified tools and their associated tool qualification data.
B.3.1 软件生命周期环境硬件及其操作系统Software Life Cycle Environment Hardware and its Operating System
由于GCS实现的开发是研究项目的一部分,因此软件的开发环境与实现的目标环境相同; 也就是说,GCS 实施不会包含在用于太空飞行的“真实”硬件系统中。 GCS 实施的大部分软件开发环境是 microVAX 3800 计算机系统(简称 AIR19)。 但是,Teamwork 软件位于运行 SunOS 4.1.3(称为“kontiki”)的 Sun 4/310C 计算机上。 每个项目成员都有一台可供他/她使用的个人计算机,可用于连接到其他计算机。Since the development of the GCS implementations is part of a research project, the development environment for the software is the same as the target environment of the implementations; that is, the GCS implementations will not be included in a "real" hardware system intended for space flight. The environment for most of the software development of the GCS implementations is a microVAX 3800 computer system (referred to as AIR19). However, the Teamwork software is located on a Sun 4/310C machine which runs SunOS 4.1.3 (referred to as “kontiki”). Each of the project members has a personal computer available to him/her that may be used to connect to the other machines.
表 B.5 列出了 GCS 项目使用的操作系统软件和其他支持和开发工具(以及相关的版本号)。Table B.5 lists the operating system software and other support and development tools (and the associated version number) used for the GCS project.
Table B.5: Support and Development Tools
Software/Tools | Version |
ACT | V19921201 #08CTS |
CMS | V3.4 |
Mathematica | 2.2 |
Microsoft Word - IBM | 3.0C |
Microsoft Word -Macintosh | 5.1A or 6.0 |
Prototype Source Code | VENUS19 |
Simulator | GCS_SIM_2-17 |
SunOS | 4.1.3 |
TCP/Connect | V1.2 |
Teamwork | 4.1 |
VAX FORTRAN(a) | V5.5-98 |
VAX-11 linker(b) | V05-13 |
VAX/VMS Operating System | V5.5-2 |
VAXnotes | V2.0 |
(a) the compiler (b) includes the loader
B.3.2 软件开发工具Software Development Tools
许多工具用于帮助软件产品的开发,特别是在设计描述和源代码方面。 以下部分描述了用于 GCS 项目软件开发的工具。A number of tools are used to aid in the development of the software product, especially with respect to the design description and source code. The following sections describe the tools which were used for the software development of the GCS project.
B.3.2.1 团队合作Teamwork
对于 GCS 项目,每个程序员都需要使用计算机辅助软件工程 (CASE) 工具 Teamwork(参考 B.2)来开发详细的设计描述。 Teamwork 是 Cadre Technologies, Inc. 的产品,是一套基于 Hatley 和 DeMarco 结构化方法的软件工程工具(参见 B.3)。 团队合作工具可用于创建和编辑由数据流程图、控制流程图和事件驱动结构、流程规范和数据字典组成的功能规范。 对于 GCS 项目,每个程序员都有机会使用以下任一团队合作组件来开发他们的设计:For the GCS project, each programmer is required to use the Computer Aided Software Engineering (CASE) tool, Teamwork (ref. B.2), to develop their detailed design description. Teamwork, which is a product of Cadre Technologies, Inc., is a set of software engineering tools based on the structured methods of Hatley and DeMarco (ref. B.3). The Teamwork tools can be used to create and edit functional specifications consisting of data flow diagrams, control flow diagrams and event-driven constructs, process specifications, and data dictionary. For the GCS project, each programmer had the opportunity to use either of the following Teamwork components to develop their design:
SA/RT——基线结构化分析工具,具有允许描述实时系统的扩展(参考 B.4),或SA/RT-- the baseline structured analysis tool with an extension that allows description of realtime systems (ref. B.4), or
SD——遵循 Ward 和 Mellor 设计方法的并行工具(参考 B.5)。SD -- a parallel tool that follows the Ward and Mellor approach to design (ref. B.5).
两位程序员都选择了 SA/RT 工具来实现他们的设计。 设计和代码审查需要使用团队合作开发的设计描述。Both programmers chose the SA/RT tool to implement their design. The design description developed using Teamwork is required for the design and code reviews.
B.3.2.2 FORTRAN语言FORTRAN
尽管有多种编程语言可供使用,但该项目的要求不允许程序员出于该项目的目的使用除 FORTRAN 之外的任何语言。Although there are a variety of programming languages available for use, requirements for this project preclude a programmer from using any language except FORTRAN for the purposes of this project.
VAX FORTRAN(参考 B.6)是符合美国国家标准 FORTRAN 的完整语言 FORTRAN-77 的实现。 它包括对符合先前标准的程序的可选支持。 VAX FORTRAN 符合 ANSI 标准,满足联邦信息处理标准出版要求。VAX FORTRAN (ref. B.6) is an implementation of full language FORTRAN-77 conforming to American National Standard FORTRAN. It includes optional support for programs conforming to the previous standard. VAX FORTRAN meets the Federal Information Processing Standard Publication requirements by conforming to the ANSI Standard.
VAX/VMS FORTRAN 编译器创建目标代码,然后将其链接到可执行映像中。 可共享、可重入的编译器在 VAX/VMS 操作系统下运行。 它在利用浮点和字符串指令集以及VMS虚拟内存系统的同时,对源程序进行全局优化。The VAX/VMS FORTRAN compiler creates object code which can then be linked into an executable image. The shareable, reentrant compiler operates under the VAX/VMS Operating System. It globally optimizes source programs while taking advantage of the floating point and character string instruction set and the VMS virtual memory system.
VAX 系统上用于编辑源代码和测试用例的主要编辑器是 VAX/VMS 默认编辑器 VAX EDT(参考 B.7)。 用于 VAX 系统上文件的另一个编辑器是 VAX 文本处理实用程序 (VAXTPU)(参见 B.8)。The primary editor used on the VAX system to edit source code and test cases is the VAX/VMS default editor, VAX EDT (ref. B.7). The other editor used for files on the VAX system is the VAX Text processing Utility (VAXTPU) (ref. B.8).
B.3.3 测试环境Test Environment
以下各节描述了验证分析师用来帮助他们验证实现的工具。The following sections describe the tools which were used by the verification analysts to aid them in the verification of the implementations.
B.3.3.1 数学Mathematica
Mathematica(参考 B.9)是一种通用计算机软件系统和语言,用于数学建模和计算。 它支持数值、符号和图形计算。 它既可以用作交互式问题解决环境,也可以用作现代高级编程语言。 尽管 Mathematica 有多种用途,但对于 GCS 项目来说,它仅用作:Mathematica (ref. B.9) is a general computer software system and language intended for mathematical modeling and calculations. It supports numerical, symbolic, and graphical computation. It can be used both as an interactive problem solving environment and as a modern high-level programming language. Although Mathematica has numerous uses, for the GCS project it will be used only as:
• 数字和符号计算器,a numerical and symbolic calculator,
• 高级编程语言,以及a high-level programming language, and
• 建模和数据分析环境。a modeling and data analysis environment.
为了独立验证测试过程中产生的传感器、位置和控制计算的正确性,将使用 Mathematica 对每个功能单元的计算进行建模并计算预期结果。 对于根据 DO-178B 生成必须与独立计算值进行比较的输出的测试用例,验证分析师将开发一个程序,将测试输出与从 Mathematica 模型得出的预期值进行比较。 该分析程序将生成一个比较文件,然后可以评估该文件是否存在问题。To independently verify the correctness of sensor, position, and control calculations produced during testing, Mathematica will be used to model the computations of each functional unit and calculate the expected results. For test cases which generate output that, according to DO-178B, must be compared with independently calculated values, the verification analysts will develop a program that compares the test output with the expected values derived from Mathematica models. This analysis program will generate a comparison file which can then be evaluated for problems.
B.3.3.2 行为ACT
ACT 工具,即复杂性分析工具(参见 B.10),基于 McCabe 的圈复杂度度量方法(参见 B.11)。 ACT 检查源代码模块的结构,并根据该结构生成流程图,并识别代码中的所有可能路径。 该工具将用于帮助结构测试用例开发和结构覆盖分析。The tool ACT, Analysis of Complexity Tool (ref. B.10), is based on McCabe's Cyclomatic Complexity Metric Method (ref. B.11). ACT examines the structure of a source code module and produces a flow graph based on that structure and identifies all possible paths through the code. This tool will be used to aid in structural test case development and structural coverage analysis.
B.3.3.3 模拟器Simulator
GCS 模拟器是一个开发环境,旨在让研究人员能够研究软件行为并深入了解软件错误的根源以及这些错误对软件可靠性的影响。 模拟器生成用于引导和控制软件的一种或多种实现的输入,并根据其输出进行操作,以对行星着陆器在着陆的最终下降阶段期间的行为进行建模。 它还提供对实现生成的重要数据的访问和分析,以便检测并记录潜在的软件故障,以供研究人员进一步调查。 模拟器由可执行文件、输入文件和输出文件组成。 组成模拟器的文件列在库下的附录 A 中The GCS simulator is an environment developed to allow researchers to study the behavior of software and to develop insight into the origin of software errors and the effects of these errors on software reliability. The simulator generates input for one or more implementations of the guidance and control software and acts upon their output to model the behavior of a planetary lander during the terminal descent phase of landing. It also provides access to and analysis of important data generated by the implementations so that potential software failures are detected and noted for the researcher to further investigate. The simulator is composed of executable, input, and output files. The files that compose the simulator are listed in Appendix A under the library [GCS.CMS.SIMULATOR.SOURCE_CODE].
B.3.3.4 原型源代码Prototype Source Code
GCS 的原型实现是结合 GCS 规范和模拟器开发的。 原型实现是用 FORTRAN-77 编写的,但并未按照任何特定的软件开发标准编写。A prototype implementation of the GCS was developed in conjunction with the GCS specification and simulator. The prototype implementation was written in FORTRAN-77, but was not written in compliance with any particular software development standards.
B.3.4 配置管理工具Configuration Management Tools
就GCS项目而言,DEC/CMS(代码管理系统)将用于所有软件产品数据的配置管理。 CMS(参考B.1)是一个软件库系统,有助于软件系统的开发和维护。 软件系统分为不同的功能组件,这些组件又被组织成一组或多个文件。 CMS 通过将文件存储在项目库中、跟踪更改并监控对库的访问,帮助在开发期间和维护期间管理文件。 CMS 还提供了一种操作库中不同文件组合的方法。 形式化这些组合的能力为系统设计提供了焦点,并提供了在库中组织文件的方法。 通过使用 CMS,程序员将能够在开发过程中的任何阶段重新创建其代码的任何版本; 还可以重新生成任何版本的支持文档。 附录 A 列出了每个 CMS 库及其以电子方式存储的所有项目数据的内容。For the purposes of the GCS project, DEC/CMS (Code Management System) will be used for the configuration management of all software product data. CMS (ref. B.1) is a software library system that facilitates the development and maintenance of software systems. Software systems are divided into different functional components that are, in turn, organized into sets of one or more files. CMS helps manage the files during development, and later during maintenance, by storing the files in a project library, tracking changes, and monitoring access to the library. CMS also supplies a means of manipulating different combinations of files within a library. The ability to formalize these combinations provides a focus for system design and a means of organizing the files within a library. Through the use of CMS, programmers will be able to recreate any version of their code at any stage during its development; any version of the support documentation can also be regenerated. Appendix A lists each CMS library and its contents for all project data that is stored electronically.
B.3.5 其他工具Other Tools
GCS 项目参与者将使用许多工具来交互、以电子方式分发信息以及记录整个项目的活动。 尽管 GCS 项目的大部分沟通都是通过口头沟通或电子邮件非正式地完成,但仍将使用一些工具来记录某些项目沟通,即配置管理服务请求以及问题和行动报告。A number of tools will be used by the GCS project participants to interact, distribute information electronically, and document activities throughout the project. Although most of the communication on the GCS project is done informally through verbal communication or electronic mail, a few tools will be used to document certain project communication, namely requests for configuration management services and problem and action reporting.
B.3.5.1 VAX 笔记VAX Notes
VAX Notes(参考 B.12)是一种计算机会议软件产品,旨在为用户提供创建和访问在线会议或会议的功能。 计算机会议是一种电子消息传递技术,它允许用户通过计算机与不同地理位置的人进行会议,以便参与者可以在自己选择的时间在自己的办公桌上加入讨论。VAX Notes (ref. B.12) is a computer conferencing software product designed to provide users with the capability of creating and accessing on-line conferences or meetings. Computer conferencing is an electronic messaging technology which lets users conduct meetings with people in different geographic locations via computer so that participants can join in a discussion from their own desk at a time of their own choice.
VAX Notes 将用于收集实验目的数据(而非认证)。 有关 GCS 规范的所有问题都应向系统分析师提出。 捕获程序员向系统分析师提出的有关规范的问题以及系统分析师的答复尤为重要。 向系统分析师提出的所有问题都应针对 GCS 规范,而不是针对具体实施问题。 此外,程序员和验证分析师在向配置管理器发出元素请求时应使用 VAX Notes。VAX Notes will be used in order to collect data for the purpose of the experiment (not for certification). All questions about the GCS specification should be addressed to the system analyst. It is especially important to capture the questions that the programmers ask the system analyst about the specification and the response from the system analyst. All questions to the system analyst should be specific to the GCS specification as opposed to questions about implementation specific issues. Additionally, the programmers and verification analysts should use VAX Notes when making requests for elements from the configuration manager.
B.3.5.2 问题报告Problem Reporting
问题和行动报告用于记录与任何开发产品(设计、源代码或可执行目标代码)中发现的问题有关的所有信息,支持文档更改报告用于记录对所有支持文档的修改。 这些报告的副本显示在软件配置管理计划中。Problem and Action Reports are used to document all information pertaining to problems identified in any of the development product (design, source code, or executable object code) and Support Documentation Change Reports are used to document modifications to all support documents. Copies of these reports are shown in the Software Configuration Management Plan.
B.3.5.3 文件传输协议File Transfer Protocol
文件传输协议 (FTP) 在两个主机系统之间传输文件。 有两种方法可以使用 FTP 从远程主机检索 GCS 项目的文件。 第一个过程开始于用户通过输入命令“FTP 主机地址”启动与远程主机的连接,其中指定系统来代替“主机地址”。 这要求用户知道如何更改到所需的目录以及如何告诉主机系统所需的操作。 启动 FTP 的第二种方法是使用 Macintosh 上可用的 TCP/IP 连接。 此连接使用一系列下拉菜单和命令框。The File Transfer Protocol (FTP) transfers files between two host systems. There are two ways in which FTP is used to retrieve a file from a remote host for the GCS project. The first begins when the user initiates a connection to the remote host by entering the command “FTP host address”, where a systems is specified in place of “host address”. This requires the user to know how to change to the required directory and also how to tell the host system the required action. The second way to initiate FTP is by using the TCP/IP connection that is available on the Macintoshes; this connection uses a series of pull-down menus and command boxes.
B.3.6 鉴定工具Qualified Tools
由于 GCS 项目是一项资源有限的研究工作,因此未尝试对该项目所使用的工具进行资格鉴定。Since the GCS project is a research effort with limited resources, the qualification of the tools used on this project was not attempted.
B.4 CMS 库CMS Libraries
下面列出了截至 95 年 6 月 4 日的每个 CMS 库(及其内容)。 在一些图书馆中,有小组和子小组; 这些将在库列下注明,格式为 GROUP/SUBGROUP(/SUBGROUP) The following lists each CMS library (and its contents) as of 6/4/95. In some libraries, there are groups and subgroups; these will be noted under the library column with the format of GROUP/SUBGROUP(/SUBGROUP)
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. ACCOMP_SUM] | |
DISK$HOKIE:[GCS.CMS. CERT_PLAN] | cert_plan.txt |
DISK$HOKIE:[GCS.CMS. CM_PLAN] | cm_plan.txt |
DISK$HOKIE:[GCS.CMS. CONFIG_INDEX] | |
DISK$HOKIE:[GCS.CMS. DES_DESCRIP.MERCURY] | design.overview_intro |
design.overview_labels | |
design.overview_preface | |
design.teamwork | |
gcs_design.ps | |
mercury_design. | |
DISK$HOKIE:[GCS.CMS. DES_DESCRIP.PLUTO] | design.overview |
design.teamwork | |
DISK$HOKIE:[GCS.CMS. DEV_STAND] | dev_standards.txt |
DISK$HOKIE:[GCS.CMS. EXEC_OBJ_CODE.MERCURY] | build_mercury.com |
mercury.exe | |
DISK$HOKIE:[GCS.CMS. EXEC_OBJ_CODE.PLUTO] | pluto.exe |
p_build.com | |
DISK$HOKIE:[GCS.CMS. SIMULATOR.SOURCE_CODE] | accuracy.dat |
accuracy.for_inc | |
accuracy_definitions.for_inc | |
alternate_accuracy.dat | |
alt_check_external.for | |
alt_check_guidance.for | |
alt_check_sensors.for | |
alt_compare_ae_cmd.for | |
alt_compare_real8.for | |
build_create_init_data.com | |
build_gcs_sim.com | |
build_gcs_sim_nocms.com | |
build_rendezvous.com | |
build_rendezvous_debug.com | |
calculate_values.for | |
check_cp.for | |
check_external.for | |
check_guidance.for | |
check_paramenters.for | |
check_sensors.for | |
check_stat.for | |
check_timing.for | |
cms_fetch.for | |
common_record.for_inc | |
common_switches.for_inc | |
compare_ae_cmd.for | |
compare_int2.for |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. SIMULATOR.SOURCE_CODE] | compare_int4.for |
compare_log1.for | |
compare_mask.for_inc | |
compare_real8.for | |
complete_ast.for | |
crc.for | |
create_init_data.com | |
create_init_dat.for | |
create_init_data_a.com | |
create_init_data_b.com | |
doid_defs.for_inc | |
do_assigns.com | |
gcs_com.for_inc | |
gcs_int_cvt.for | |
gcs_list.dat | |
gcs_params.for_inc | |
gcs_rendezvous.mms | |
gcs_setup.for | |
gcs_setup.obj | |
gcs_sim.mms | |
gcs_sim_rendezvous.for | |
gcs_sim_rendezvous.obj | |
gcs_sim_switches.dat | |
gcs_sim_switches.for_inc | |
gcs_who_am_i.for | |
gcs_who_am_i.obj | |
generate_initial_random_seed.for | |
get_accuracy_data.for | |
get_data.for | |
get_init_data.for | |
get_switches.for | |
global_setup.for | |
initialize.for | |
initial_attitude.for | |
initial_contants.dat | |
initial_contants_1.dat | |
initial_contants_2.dat | |
initial_contants_3.dat | |
initial_contants_4.dat | |
initial_contants_5.dat | |
initial_contants_6.dat | |
initial_contants_7.dat | |
initial_contants_8.dat | |
initial_seed.dat | |
init_base_vals.for | |
init_timing.for | |
integrate.for | |
limits.dat | |
limits.for_inc | |
limit_check.for |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. SIMULATOR.SOURCE_CODE] | log_traj_status.for |
log_values.for | |
loop_values.for | |
matrix_multiply.for | |
mms_rules.mms | |
mod_data.exe | |
mod_data.for | |
packet_definitions.for_inc | |
page_align.opt | |
passed_record.for_inc | |
pg_align_sim.opt | |
put_data.for | |
put_init_data.for | |
ramdom.for | |
random_value.for | |
release.for | |
report_in.for | |
response_model.for | |
rti_traj_sim.exe | |
runsimi.com | |
start_gcs_models.for | |
stop_jobs.for | |
table_lookup.for | |
tabular_data.dat | |
thrusters.for | |
traj_sim.exe | |
traj_sim.for | |
traj_sim_debug.exe | |
twos_comp.for | |
ufo_create.for | |
update.for | |
usage_distributions.dat | |
who_is_waiting.for | |
DISK$HOKIE:[GCS.CMS. SIMULATOR.USER_GUIDE] | |
DISK$HOKIE:[GCS.CMS. SOURCE_CODE.MERCURY] | aeclp.for |
arsp.for | |
asp.for | |
common.inc | |
cp.for | |
crcp.for | |
excond.inc | |
gp.for | |
gsp.for | |
mercury.for | |
mercury_compile.txt | |
param.inc | |
reclp.for | |
tdlrsp.for | |
tdsp.for | |
tsp.for |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. SOURCE_CODE.PLUTO] | aeclp.for |
arsp.for | |
asp.for | |
clpsf.for | |
constants.for | |
cp.for | |
crcp.for | |
external.for | |
gp.for | |
gpsf.for | |
gsp.for | |
guidance_state.for | |
list_of_routines.txt | |
pluto.for | |
reclp.for | |
run_parameters.for | |
sensor_output.for | |
spsf.for | |
tdlrsp.for | |
tdsp.for | |
tsp.for | |
utility.for | |
DISK$HOKIE:[GCS. CMS.SPEC] | spec_2_1.txt |
spec_2_2.txt | |
spec_2_3.txt | |
DISK$HOKIE:[GCS.CMS. SPEC_MODS] | mod_2_2-1 --> 29.txt |
fm_2_3-1 --> 7.txt | |
DISK$HOKIE:[GCS.CMS. SQA_PLAN] | sqa_plan.doc |
sqa_plan.ps | |
DISK$HOKIE:[GCS.CMS. TRACE_DATA] | reqtrdat.doc |
DISK$HOKIE:[GCS.CMS. VER_CASES]FRAME | frame_001 --> 009.ex |
frame_001 --> 009.tc | |
FUNCTIONAL/DRIVERS | compare.for |
compare_external.for | |
compare_guidance.for | |
compare_packet.for | |
compare_partial_external.for | |
compare_runparam.for | |
compare_sensor.for | |
ex_cp.for | |
m_clp_driver.com | |
m_gpsf_driver.com | |
m_lnkaeclp.com | |
m_lnkarsp.com | |
m_lnkasp.com | |
m_lnkclp.com | |
m_lnkcp.com | |
m_lnkcrcp.com | |
m_lnkframe.com |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. VER_CASES] FUNCTIONAL/DRIVERS | m_lnkgp.com |
m_lnkgpsf.com | |
m_lnkgsp.com | |
m_lnkreclp.com | |
m_lnksp.com | |
m_lnktdlrsp.com | |
m_lnktdsp.com | |
m_lnktsp.com | |
m_reclp_st.1 --> .3 | |
m_run_reclp_st.01 --> .03 | |
m_sp_driver.com | |
m_st_driver.com | |
m_tc_driver.com | |
m_test_aeclp.for | |
m_test_arsp.for | |
m_test_asp.for | |
m_test_clp.for | |
m_test_cp.for | |
m_test_crcp.for | |
m_test_frame.for | |
m_test_gp.for | |
m_test_gpsf.for | |
m_test_gsp.for | |
m_test_reclp.for | |
m_test_sp.for | |
m_test_tdlrsp.for | |
m_test_tdsp.for | |
m_test_tsp.for | |
p_buildall.com | |
p_clp_driver.com | |
p_compare_external.for | |
p_compare_guidance.for | |
p_compare_runpram.for | |
p_compare_sensor.for | |
p_ex_cp.for | |
p_fordrivers.com | |
p_frame_driver.com | |
p_gpsf_driver.com | |
p_lnkaeclp.com | |
p_lnkarsp.com | |
p_lnkasp.com | |
p_lnkclp.com |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. VER_CASES] FUNCTIONAL/DRIVERS | |
p_lnkcp.com | |
p_lnkcrcp.com | |
p_lnkframe.com | |
p_lnkgp.com | |
p_lnkgpsf.com | |
p_lnkgsp.com | |
p_lnkreclp.com | |
p_lnksp.com | |
p_lnktdlrsp.com | |
p_lnktdsp.com | |
p_lnktsp.com | |
p_read_ex.for | |
p_read_tc.for | |
p_run_aeclp.com | |
p_run_arsp.com | |
p_run_asp.com | |
p_run_cp.com | |
p_run_crcp.com | |
p_run_gp.com | |
p_run_gsp.com | |
p_run_reclp.com | |
p_run_tdlrsp.com | |
p_run_tdsp.com | |
p_run_tsp.com | |
p_sp_driver.com | |
p_tc_driver.com | |
p_test_aeclp.for | |
p_test_arsp.for | |
p_test_asp.for | |
p_test_clp.for | |
p_test_cp.for | |
p_test_crcp.for | |
p_test_frame.for | |
p_test_gp.for | |
p_test_gpsf.for | |
p_test_gsp.for | |
p_test_reclp.for | |
p_test_sp.for | |
p_test_tdlrsp.for | |
p_test_tdsp.for | |
p_test_tsp.for | |
read_ex.for |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. VER_CASES] FUNCTIONAL/DRIVERS | read_ex_integration.for |
read_tc.for | |
run_aeclp.com | |
run_aeclp_pst.com | |
run_arsp.com | |
FUNCTIONAL/MODELS | run_tsp.com |
run_asp.com | |
run_asp_pst.com | |
run_clp.com | |
run_cp.com | |
run_crcp.com | |
run_gp.com | |
run_gpsf.com | |
run_gp_pst.com | |
run_gsp.com | |
run_reclp.com | |
exname_list.inc | |
frame.m | |
gp.m | |
gp_pst7_code.m | |
gp_tc.1 --> .117 | |
gsp.m | |
input. | |
m_aeclp_st.1 --> .3 | |
m_asp_st_001 --> 003.m | |
m_gp_st.1 --> .9 | |
m_run_aeclp_st.01 --> .03 | |
m_run_gp_st.01 --> .11 | |
m_run_struct_reclp.01 | |
m_struct_reclp.tc | |
m_tdlrsp_st_001 --> 011.m | |
m_tsp_st_001.m | |
namelist1. | |
namelist_ex. | |
name_list.inc | |
reclp.m | |
reclp_tc.1 --> .68 | |
reclp_tc.out | |
run_aeclp.01 --> .57, .010, .1-10, .11-20, .21-30, .31-40, .41-47, .48-53, .48-57 | |
run_crcp.01 --> .10, .1-10 | |
run_gp., .01 --> .116, .1-10, .11-20, .21-30, .31-40,.41-50, .51-60, .61-70, .71-80, .81-90, .91-100, .101- 110, .111-114, .111-116 | |
run_reclp.01 --> .68, .1-10, .11-20, .21-30, .31-40,.41-50, .51-60, .61-68 | |
run_gpsf.01 --> .08 |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. VER_CASES] FUNCTIONAL/MODELS | sp.m |
tdlrsp.m | |
tdsp.m | |
tsp.m | |
write_exnml.m | |
write_exnml_st7.m | |
write_nml.m | |
write_nml_st7.m | |
FUNCTIONAL/NORMAL | aeclp_nr_001 --> 012, 054, 055.ex |
aeclp_nr_001 --> 012, 054, 055.tc | |
arsp_nr_011 --> 017, 022, 023.ex | |
arsp_nr_011 --> 017, 022, 023.tc | |
asp_nr_001 --> 007, 016.ex | |
asp_nr_001 --> 007, 016.tc | |
cp_nr_001 --> 005.ex | |
cp_nr_001 --> 005.tc | |
crcp_nr_001 --> 006.ex | |
crcp_nr_001 --> 006.tc | |
gp_nr_001 --> 008, 053, 102 --> 106.ex | |
gp_nr_001 --> 008, 053, 102 --> 106.tc | |
gsp_nr_001.ex | |
gsp_nr_001.tc | |
reclp_nr_001 --> 059, 064 --> 068.ex | |
reclp_nr_001 --> 059, 064 --> 068.tc | |
tdlrsp_nr_001, 003, 005 --> 021.ex | |
tdlrsp_nr_001, 003, 005 --> 021.tc | |
tdsp_nr_001 --> 003.ex | |
tdsp_nr_001 --> 003.tc | |
tsp_nr_001 --> 003, 006, 007.ex | |
tsp_nr_001 --> 003, 006, 007.tc | |
FUNCTIONAL/ROBUSTNESS | aeclp_ro_013 --> 053, 056, 057.ex |
aeclp_ro_013 --> 053, 056, 057.tc | |
arsp_ro_001 --> 010, 018 --> 021.ex | |
arsp_ro_001 --> 010, 018 --> 021.tc | |
asp_ro_008 --> 015, 017 --> 044.ex | |
asp_ro_008 --> 015, 017 --> 044.tc | |
crcp_ro_007 --> 010.ex | |
crcp_ro_007 --> 010.tc | |
gp_ro_009 --> 052, 054 --> 101, 107 --> 117.ex | |
gp_ro_009 --> 052, 054 --> 101, 107 --> 117.tc | |
gsp_ro_002 --> 009.ex | |
gsp_ro_002 --> 009.tc | |
reclp_ro_060 --> 063.ex | |
reclp_ro_060 --> 063.tc | |
tdlrsp_ro_002, 004, 006, 022 --> 028.ex | |
tdlrsp_ro_002, 004, 006, 022 --> 028.tc | |
tdsp_ro_004 --> 007.ex | |
tdsp_ro_004 --> 007.tc | |
tsp_ro_004, 005, 008 --> 011.ex | |
tsp_ro_004, 005, 008 --> 011.tc |
CMS Library | Elements |
DISK$HOKIE:[GCS.CMS. VER_CASES] FUNCTIONAL/ STRUCTURAL/MERCURY | m_aeclp_st_001 --> 003.ex |
m_aeclp_st_001 --> 003.tc | |
m_arsp_st_001, 002.ex | |
m_arsp_st_001, 002.tc | |
m_asp_st_001 --> 006.ex | |
m_asp_st_001 --> 006.tc | |
m_cp_st_001.ex | |
m_cp_st_001.tc | |
m_gp_st_001 --> 011.ex | |
m_gp_st_001 --> 011.tc | |
m_reclp_st_001 --> 003.ex | |
m_reclp_st_001 --> 003.tc | |
m_tdlrsp_st_001 --> 009.ex | |
m_tdlrsp_st_001 --> 009.tc | |
m_tsp_st_001.ex | |
m_tsp_st_001.tc | |
FUNCTIONAL/ STRUCTURAL/PLUTO | aeclp_pst_001, 002.ex |
aeclp_pst_001, 002.tc | |
asp_pst_001 --> 004.ex | |
asp_pst_001 --> 004.tc | |
gp_pst_001 --> 021.ex | |
gp_pst_001 --> 021.tc | |
reclp_pst_001 --> 011.ex | |
reclp_pst_001 --> 011.tc | |
SUBFRAME | clp_001 --> 014.ex |
clp_001 --> 014.tc | |
gpsf.com | |
gpsf_001 --> 008.ex | |
gpsf_001 --> 008.tc | |
sp_001.ex | |
sp_001.tc | |
TRAJECTORY | m_run_traj.com |
m_traj.com | |
pluto.com | |
run_mc.com | |
run_traj.com | |
traj.com | |
traj_atm_001 --> 012.seed | |
traj_atm_ic_001 --> 012.tc | |
traj_atm_ud_001 --> 012.tc | |
traj_td_013 --> 034.seed | |
traj_td_ic_013 --> 034.tc | |
traj_td_ud_013 --> 034.tc | |
DISK$HOKIE:[GCS.CMS. VER_PLAN] | verplan.doc |
DISK$HOKIE:[GCS.CMS. VER_PROC] | procedures. |
DISK$HOKIE:[GCS.CMS. VER_RESULTS.MERCURY] | |
DISK$HOKIE:[GCS.CMS. VER_RESULTS.PLUTO] |
The following is a list of binders and their contents the configuration manager is keeping; the “Change Reports” binder is divided into sections.
Binder Name | Items |
Problem Reports for Mercury | PR #1 - 31 |
Problem Reports for Pluto | PR #1 - 27 |
Change Reports: Configuration Management Plan | SDCR # 1 - 6 |
Development Standards | SDCR # 1 - 9 |
Spec | SDCR # 2.2-27 --> 29, 2.3-1 --> 7 |
Verification Cases | SDCR #1 - 38 |
Verification Plan | SDCR #1 - 8 |
Verification Procedures | SDCR #1 |
B.5 构建文件Build Files
Mercury 构建文件Mercury Build File
Mercury 构建文件位于 disk$hokie:[gcs.cms.source_code.mercury]mercury_compile.txt 中,如下所示:
编译 Mercury 源代码:
The Mercury build file is located in disk$hokie:[gcs.cms.source_code.mercury]mercury_compile.txt and is as follows:
To compile the Mercury source code:
(生成1个目标文件和1个列表文件)
(generates one object file and one list file)
fortran/list mercury+tsp+arsp+asp+gsp+tdlrsp+tdsp+gp+aeclp+reclp+crcp+cp
(生成单独的目标文件和单独的列表文件)
(generates individual object files and individual list files)
fortran/list mercury,tsp,arsp,asp,gsp,tdlrsp,tdsp,gp,aeclp,reclp,crcp,cp
Mercury 有十一(12)个模块,每个模块包含一个或多个子例程。
There are eleven(12) modules for Mercury with each module containing one or more subroutines.
DRIVER
mercury.for (include files: common.inc, excond.inc, param.inc)
SP
tsp.for (include files: common.inc, excond.inc, param.inc)
arsp.for (include files: common.inc, excond.inc, param.inc)
asp.for (include files: common.inc, excond.inc, param.inc)
gsp.for (include files: common.inc, excond.inc, param.inc)
tdlrsp.for (include files: common.inc, excond.inc, param.inc)
tdsp.for (include files: common.inc, param.inc)
GP
gp.for (include files: common.inc, excond.inc, param.inc)
CLP
aeclp.for (include files: common.inc, excond.inc, param.inc)
reclp.for (include files: common.inc, excond.inc, param.inc)
crcp.for (include files: common.inc, param.inc)
CP
cp.for (include file: common.inc)
Pluto 构建文件Pluto Build File
Pluto 构建文件位于 disk$hokie:[gcs.cms.source_code.pluto]list_of_routines.txt
如下:
The Pluto build file is located in disk$hokie:[gcs.cms.source_code.pluto]list_of_routines.txt
and is as follows:
Module | Brief description |
AECLP.FOR | Implementation of functional unit AECLP |
ARSP.FOR | Implementation of functional unit ARSP |
ASP.FOR | Implementation of functional unit ASP |
CLPSF.FOR | Contains the control for subframe 3 |
CONSTANTS.FOR | Data declarations for constants |
CP.FOR | Implementation of functional unit CP |
CRCP.FOR | Implementation of functional unit CRCP |
EXTERNAL.FOR | Data definitions and Common block EXTERNAL |
GP.FOR | Implementation of functional unit GP |
GPSF.FOR | Contains the control for subframe 2 |
GSP.FOR | Implementation of functional unit GSP |
GUIDANCE_STATE.FOR | Data definitions and Common block GUIDANCE_STATE |
PLUTO.FOR | The Main program entry |
RECLP.FOR | Implementation of functional unit RECLP |
RUN_PARAMETERS.FOR | Data definitions and Common block RUN_PARAMETERS |
SENSOR_OUTPUT.FOR | Data definitions and Common block SENSOR_OUTPUT |
SPSF.FOR | Contains the control for subframe 1 |
TDLRSP.FOR | Implementation of functional unit TDLRSP |
TDSP.FOR | Implementation of functional unit TDSP |
TSP.FOR | Implementation of functional unit TSP |
UTILITY.FOR | A collection of utility routines (range checking) |
To Build | Required Modules |
AECLP | AECLP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
ARSP | ARSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
ASP | ASP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
CP | CP.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR |
CRCP | CRCP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR |
GP | GP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
GSP | GSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
RECLP | RECLP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
TDLRSP | TDLRSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR |
TDSP | TDSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
TSP | TSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
Subframe 1 | ARSP.FOR, ASP.FOR, CP.FOR, GSP.FOR, SPSF.FOR, TDSP.FOR, TSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
Subframe 2 | CP.FOR, GP.FOR, GPSF.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
Subframe 3 | AECLP.FOR, CLPSF.FOR, CP.FOR, CRCP.FOR, RECLP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
Pluto | AECLP.FOR, ARSP.FOR, ASP.FOR, CLPSF.FOR, CP.FOR, CRCP.FOR, GP.FOR, GPSF.FOR, GSP.FOR, PLUTO.FOR, RECLP.FOR, SPSF.FOR, TDLRSP.FOR, TDSP.FOR, TSP.FOR, CONSTANTS.FOR, EXTERNAL.FOR, GUIDANCE_STATE.FOR, RUN_PARAMETERS.FOR, SENSOR_OUTPUT.FOR, UTILITY.FOR |
B.6 References
B.1 Guide to VAX DEC/Code Management System. Digital Equipment Corporation, Maynard,
Massachusetts, April 1987.
B.2 Teamwork Environment Reference Manual. Cadre Technologies, Inc., Providence, Rhode Island,
Release 4.0, 1991.
B.3 Hatley, Derek J.; and Pirbhai, Imtiaz A.: Strategies for Real-Time System Specification. Dorset
House Publishing Company, New York, New York, 1987.
B.4 Teamwork/SA Teamwork/RT User's Guide. Cadre Technologies, Inc., Providence, Rhode Island,
Release 4.0, 1991.
B.5 Teamwork/SD User's Guide. Cadre Technologies, Inc., Providence, Rhode Island, Release 4.0, 1991.
B.6 Programming in VAX FORTRAN. Digital Equipment Corporation, Maynard, Massachusetts,
September 1984.
B.7 Text Processing: EDT Reference Manual. Digital Equipment Corporation, Maynard, Massachusetts,
September 1984.
B.8 Text Processing: VAXTPU Reference Utility Manual. Digital Equipment Corporation, Maynard,
Massachusetts, April 1986.
B.9 Wolfram, Stephen,. Mathematica, A System for Doing Mathematics by Computer, Second Edition.
Addison-Wesley Publishing Company, Inc., 1991
B.10 Analysis of Complexity Tool User's Instructions, McCabe Associates Inc., Redwood City, Ca., 1992
B.11 McCabe, Thomas j., Structural Testing: A Software Testing Methodology Using the Cyclomatic
Complexity Metric, McCabe & Associates, Inc., 1982.
B.12 Guide to VAX Notes. Digital Equipment Corporation, Maynard, Massachusetts, March 1986
这篇关于DO-178C解读 - 软件配置索引(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!