<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/resources/xsl/jats-html.xsl"?>
<article article-type="research-article" dtd-version="1.1" xml:lang="ko" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
	<journal-meta>
		<journal-id journal-id-type="publisher-id">jkits</journal-id>
		<journal-title-group>
		<journal-title>한국지식정보기술학회 논문지</journal-title>
		<journal-title xml:lang="en">Journal of Knowledge Information Technology and Systems</journal-title>
		</journal-title-group>
		<issn pub-type="ppub">1975-7700</issn>
		<publisher>
		<publisher-name>한국지식정보기술학회</publisher-name>
		<publisher-name xml:lang="en">Korea Knowledge Information Technology Society</publisher-name>
		</publisher>
	</journal-meta>
	<article-meta>
		<article-id pub-id-type="publisher-id">jkits_2020_15_05_711</article-id>
		<article-id pub-id-type="doi">10.34163/jkits.2020.15.5.014</article-id>
		<article-categories>
			<subj-group>
				<subject>Research Article</subject>
			</subj-group>
		</article-categories>
		<title-group>
			<article-title>PDIF 변환기의 설계 및 구현</article-title>
			<trans-title-group xml:lang="en">
				<trans-title>A Design and Implementation of PDIF Converter</trans-title>
			</trans-title-group>
		</title-group>
		<contrib-group>
			<contrib contrib-type="author" xlink:type="simple">
				<name-alternatives>
					<name name-style="eastern">
						<surname>이</surname>
						<given-names>순영</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Lee</surname>
						<given-names>Sun-Young</given-names>
					</name>
				</name-alternatives>
					<xref ref-type="aff" rid="A1"><sup>1</sup></xref>
			</contrib>
			<contrib contrib-type="author" xlink:type="simple">
				<name-alternatives>
					<name name-style="eastern">
						<surname>황</surname>
						<given-names>충호</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Hwang</surname>
						<given-names>Chung-Ho</given-names>
					</name>
				</name-alternatives>
				<xref ref-type="aff" rid="A2"><sup>2</sup></xref>
			</contrib>
			<contrib contrib-type="author" xlink:type="simple">
				<name-alternatives>
					<name name-style="eastern">
						<surname>남</surname>
						<given-names>영호</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Nam</surname>
						<given-names>Young-Ho</given-names>
					</name>
				</name-alternatives>
				<xref ref-type="fn" rid="fn001">*</xref>
				<xref ref-type="aff" rid="A1"><sup>1</sup></xref>
			</contrib>
					</contrib-group>
		<aff-alternatives id="A1">
			<aff><sup>1</sup><italic>경상대학교 컴퓨터과학과 박사과정</italic></aff>
			<aff xml:lang="en"><italic>Department of Computer Science, GyeongSang National University</italic></aff>
		</aff-alternatives>
		<aff-alternatives id="A2">
			<aff><sup>2</sup><italic>아피아 엔지니어링 선임연구원</italic></aff>
			<aff xml:lang="en"><italic>Appia Engineering, Ltd</italic></aff>
		</aff-alternatives>
		<author-notes>
			<fn id="fn001"><label>*</label><p>Corresponding author is with the Department of Computer Science, Gyeongsang National University, 501 Jinju-daero, Jinju, 52828, KOREA.</p><p><italic>E-mail address</italic>: <email>yhnam@gnu.ac.kr</email></p></fn>
		</author-notes>
		<pub-date pub-type="ppub">
			<month>10</month>
			<year>2020</year>
		</pub-date>
		<volume>15</volume>
		<issue>5</issue>
		<fpage>711</fpage>
		<lpage>720</lpage>
		<history>
			<date date-type="received">
				<day>03</day>
				<month>08</month>
				<year>2020</year>
			</date>
			<date date-type="rev-recd">
				<day>10</day>
				<month>09</month>
				<year>2020</year>
			</date>
			<date date-type="accepted">
				<day>13</day>
				<month>10</month>
				<year>2020</year>
			</date>
		</history>
		<permissions>
			<copyright-statement>&#x00A9; 2020 KKITS All rights reserved</copyright-statement>
			<copyright-year>2020</copyright-year>
		</permissions>
		<abstract>
		<title>요약</title>
		<p>항공용 소프트웨어는 목적코드 부분과 매개변수 부분을 파일로 분리하여 개발된다. 이러한 이유는 최적화된 비행제어를 위해 다양한 매개변수의 보정이 필요함에 따라, 목적코드의 형상변경 없이 매개변수 파일의 수정만으로 보정이 가능하기 때문이다. 이 결과 변경된 매개변수가 코드에 대한 시험으로 입증된 유효범위 내에 있다면 코드 입증을 위한 시험이 필요없어 시험 비용을 줄일 수 있다. 이러한 매개변수를 항공용 소프트웨어 적합성 입증 표준인 DO-178C에서는 매개변수 데이터 아이템(PDI)라고 한다. 이 PDI를 이진파일로 변환한 것을 PDIF라고 한다. 본 논문에서는 비행제어법칙 데이터에 대한 다양한 비행 시나리오를 가지는 엑셀시트의 Gain Set를 생성하고 PDIF Set으로 변환하는 PDIF 변환기를 설계 및 구현한다. 구현한 PDIF 변환기는 비행안전성을 위한 HILS(Hardware In the Loop Simulation)의 동역학 환경이 적용된 시험을 할 때, 형상변경 없이 비행시험을 수행할 수 있다. 본 연구에서 개발한 변환기의 이용은 기존 단일 비행시나리오별 순차시험에 비해 PDIF Set을 통한 다양한 비행 시나리오 시험을 중단 없이 연속적으로 수행할 수 있어 시험의 편리성이 향상되었고 시험 시간을 절약할 수 있다. 또한 (.dat) 파일을 통해 다른 형식의 OFP에 적용 및 OFP 수정에 대한 영향성을 줄일 수 있다.</p>
		</abstract>
		<trans-abstract xml:lang="en">
		<title>ABSTRACT</title>
		<p>The aviation software is developed by dividing the object code part and the parameter part into files. This is because various parameters need to be corrected for optimized flight control, so it is possible to correct only by modifying the parameter file without changing the configuration of the object code. As a result, if the changed parameter is within the valid range proved by the test for the code, the test cost can be reduced because the test for the code verification is unnecessary. These parameters are referred to as Parameter Data Items(PDI) in DO-178C, the standard for aviation software conformance. The conversion of this PDI into a binary file is called PDIF. In this paper, We design and implement a PDIF converter that generates an Excel sheet gain set with various flight scenarios for flight control law data and converts it into a PDIF set. The implemented PDIF converter can perform flight test without changing its configuration when a test is applied to the dynamic environment of Hardware In the Loop Simulation(HILS) for flight safety. The use of the Converter improves test convenience and saves test time as it enables continuous testing of various flight scenarios through PDIF set without interruption compared to the conventional sequential test for each single flight scenario. In addition, the (.dat) file can apply to other types of OFP and reduce the impact of OFP modification.</p>
		</trans-abstract>
		<kwd-group kwd-group-type="author" xml:lang="en">
<title>K E Y W O R D S</title>
			<kwd>Parameter Data Item</kwd>
			<kwd>Parameter Data Item File</kwd>
			<kwd>DO-178C</kwd>
			<kwd>Operational Flight Program</kwd>
			<kwd>S-Record</kwd>
		</kwd-group>
	</article-meta>
</front>
<body>
<sec id="sec001" sec-type="intro">
	<title>1. 서 론</title>
		<p>항공전자 시스템은 비행 중 발생하는 고장 또는 작동 불능에 대한 대처가 용이하지 않고, 사고 발생에 따른 인명 및 물질 피해가 매우 크기 때문에 신뢰성과 안전성을 최우선으로 고려해야 한다. 특히 항공 분야 기술 발전에 따라 관련 소프트웨어의 복잡도가 높아지고 그에 따른 결함 사례 검출이 늘어나면서, 항공전자 시스템 관련 소프트웨어의 신뢰성 및 안전성을 확보하는 연구가 필요하다. 국내외 항공전자 소프트웨어 개발 연구는 소프트웨어 검증 및 인증을 위한 모델링 연구[<xref ref-type="bibr" rid="B001">1</xref>, <xref ref-type="bibr" rid="B002">2</xref>], 항공시스템 및 장비인증 소프트웨어 고려사항의 내재화를 위한 비행운용 프로그램(OFP: Operational Flight Program) 측면에서의 연구[<xref ref-type="bibr" rid="B003">3</xref>], 모델링을 통해 산출되어지는 제어법칙 자동코드에 대한 DO-331(Model Based Development) 적용 연구[<xref ref-type="bibr" rid="B004">4</xref>], 매개변수 데이터 아이템 파일(PDIF: Parameter Data Item File)의 활용 방안 연구[<xref ref-type="bibr" rid="B005">5</xref>, <xref ref-type="bibr" rid="B006">6</xref>] 등이 진행되고 있다.</p>
		<p>일반적으로 항공전자 소프트웨어는 목적코드 부분과 매개변수 부분을 파일로 분리하여 개발된다. 이러한 이유는 최적화된 비행제어를 위해 다양한 매개변수의 보정이 필요함에 따라, 코드의 형상변경 없이 매개변수 파일의 수정만으로 보정이 가능하기 때문이다[<xref ref-type="bibr" rid="B005">5</xref>]. 이 결과 변경된 매개변수가 코드에 대한 시험으로 입증된 유효범위 내에 있다면 코드 입증을 위한 시험이 필요 없어 시험 비용을 줄일 수 있다.</p>
		<p>DO-178C[<xref ref-type="bibr" rid="B007">7</xref>]에서는 이 매개변수를 매개변수 데이터 아이템(PDI: Parameter Data Item)이라고 하는데, 실행 가능한 목적코드를 변경할 필요 없이 소프트웨어의 거동에 영향을 주며, 개별적인 형상 항목으로 관리되는 데이터 세트로 정의하고 있다. PDI 자체는 사람이 읽을 수 있는 아스키(ASCII)파일, 엑셀파일 등으로 작성하고, 플래시 메모리에 저장할 수 있는 이진파일로 변환된 것을 PDIF라고 한다.</p>
		<p>본 논문에서는 형상변경 없이 OFP를 시험하기 위해 비행제어 데이터에 대한 다양한 시나리오를 가지는 PDIF를 자동으로 생성하는 PDIF 변환기를 설계하고 구현한다. PDIF 변환기는 PDI와 해당 값들로 구성된 단일 비행시나리오를 저장하고 있는 C파일을 파싱하여 엑셀파일에 PDI와 관련 값들을 저장한다. 시험자는 이 시트화된 데이터를 바탕으로 특정 항목의 추가 및 값의 수정을 통하여 다양한 비행시나리오를 생성하여 저장한다. 변환기는 이 엑셀파일로부터 이진형식과 모토로라형식의 PDIF를 생성한다.</p>
		<p>이 PDIF에는 다양한 비행시나리오가 저장되어 있어, 비행제어 시뮬레이터를 한 번 구동시킨 후 중단 없이 필요한 모든 비행시나리오를 연속적으로 시험할 수 있다.</p>
		<p>본 논문의 구성은 다음과 같다. 2장에서는 PDIF을 정의하고 설계 시에 고려사항들을 기술한다. 3장에서는 PDIF 메모리맵 설계와 PDIF 변환기의 기능 설계에 대해 설명하고, 4장에서는 PDIF 변환기의 각 기능 구현에 관하여 기술한다. 마지막으로 5장에서는 본 연구의 결과에 대해 기술한다.</p>
</sec>
<sec id="sec002">
	<title>2. PDIF</title>
	<p>DO-178C에서는 최신 소프트웨어 개발 기법에 따라 개발 및 검증을 위한 보충 문서로 DO-331, DO-332, DO-333이 별도로 제정되었다[<xref ref-type="bibr" rid="B008">8</xref>-<xref ref-type="bibr" rid="B010">10</xref>]. DO-331은 모델 기반 개발 및 검증(Model-Based Development and Verifica- tion Supplement to DO-178C)이나 연구, DO-332는 객체지향 기술 및 관련 기술(Object-Oriented Technology and Related Techniques Supplement to DO-178C) 추가 지침이다. DO-333은 정형 기법이 소프트웨어 생명 주기의 일부로 사용될 때 필요한 추가 지침이다.</p>
	<p>PDI는 DO-178C의 개정을 통해 처음으로 도입된 개념으로, ‘타깃 컴퓨터의 처리 유니트에서 직접적으로 사용되는 데이터의 모음’이다[<xref ref-type="bibr" rid="B011">11</xref>]. PDI는 실행 가능한 목적 코드에 수정을 가하지 않으면서 실행 시 참조되어 소프트웨어의 거동에 영향을 주는 속성을 포함하기 때문에 PDIF를 통해 별도의 형상 항목으로 관리하려는 것이다. PDIF는 별도의 데이터로써 제공되어야 하고, 타깃 시스템에 업로드 된 이후 지워지지 않아야 하므로, 비휘발성 메모리인 ROM 또는 플래시 메모리에 적재되는 것이 적합하다.</p>
	<p>PDIF를 비휘발성 메모리에 적재하기 위해서는 순수 이진 데이터로 구성된 데이터 파일 포맷을 이용하거나, 또는 타킷 CPU에서 지원하는 포맷을 사용하는 방법이 있다. 순수 이진 데이터로만 구성된 파일 포맷을 사용할 때, CPU가 데이터를 처리하는 방식이 빅 엔디안(big-endian)을 사용하는지,리틀 엔디안(little-endian)을 사용하는지를 고려해야한다. 그리고 이진 파일에는 데이터 업로드를 위한 메모리 주소 정보가 없고 순수 이진 데이터만 존재함으로, 데이터를 적재하는 프로그램에서 데이터 업로드 주소를 고려해야 한다. 타킷 CPU에서 지원하는 파일 형식으로는 인텔의 HEX와 모토로라의 S-record가 있다. 두 형식은 아스키(ASCII)로 이진 데이터를 전달하도록 지원한다. 본 논문에서는 모토로라 Power-PC 계열의 CPU를 위해 S-record 형식[<xref ref-type="bibr" rid="B012">12</xref>]을 사용한다. S-record는 레코드 타입, 바이트 수, 주소, 데이터, 체크섬으로 구성된다. 타깃 CPU에서 지원하는 아스키 형식은 순수 이진 데이터와 다르게 주소 데이터를 가지고 있으므로, 데이터를 적재하는 프로그램에서 업로드 메모리 주소 정보를 지니고 있지 않아도 된다.</p>
	<p>또한, PDIF는 비행제어법칙 설계[<xref ref-type="bibr" rid="B013">13</xref>, <xref ref-type="bibr" rid="B014">14</xref>], 시뮬레이션 환경구성 연구[<xref ref-type="bibr" rid="B015">15</xref>]에서 동역학 환경이 적용된 연구 및 시뮬레이션할 시, PDI 데이터 셋트의 적용이 가능하다.</p>
</sec>
<sec id="sec003" sec-type="methods">
	<title>3. PDIF 변환기 설계</title>
	<sec id="sec003-1">
		<title>3.1 프로그램 설계</title>
		<p>PDIF 변환 프로그램은 &#x003C;<xref ref-type="fig" rid="f001">그림 1</xref>&#x003E;과 같이 GUI CSC(Computer Software Component), Processing CSC, Save CSC로 나뉘어진다.</p>
		<fig id="f001" orientation="portrait" position="float">
			<label>그림 1.</label>
			<caption>
				<title>PDIF 변환 프로그램 아키텍처</title>
				<p>Figure 1. PDIF Convert Program Architecture</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f001.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>GUI 부분은 소프트웨어 사용자와 인터페이스를 제공하는 모듈이며, Processing 모듈은 각 조건에 맞는 파싱 및 변환 기능을 제공한다. Save 기능은 파싱 및 변환된 데이터를 다양한 형식의 파일로 저장하는 기능을 제공한다.</p>
	</sec>
	<sec id="sec003-2">
		<title>3.2 PDIF 설계</title>
		<sec id="sec003-2-1">
			<title>1) 메모리 맵 설계</title>
			<p>&#x003C;<xref ref-type="fig" rid="f002">그림 2</xref>&#x003E;는 OFP의 비행 시나리오(Gain Set 1~30)가 입력되는 메모리 영역(Block 01~30)을 도식한 것이다.</p>
			<fig id="f002" orientation="portrait" position="float">
				<label>그림 2.</label>
				<caption>
					<title>PDIF 메모리맵 설계</title>
					<p>Figure 2. Design of PDIF Memory-map</p>
				</caption>
				<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f002.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
			</fig>
			<p>Block 00번은 시나리오의 정보를 나타내며, Block 01~30은 각 비행 시나리오 데이터를 저장할 수 있는 영역이고, 다음의 형식으로 구성된다.</p>
			<p>- Gain Set Counter: 적용된 비행 시나리오(Gain Set)의 개수</p>
			<p>- PDIF Project: 수행할 프로젝트 이름</p>
			<p>- PDIF ID: 수행할 프로젝트 ID</p>
			<p>- PDIF Checksum: 적용된 비행 시나리오 데이터들의 총합</p>
		</sec>
		<sec id="sec003-2-2">
			<title>2) PDIF를 위한 엑셀 파일 설계</title>
			<p>비행 시나리오 데이터는 먼저 Matlab- Simulink를 통해 자동 생성된 global_ Param.c에서 파싱되어 엑셀 파일로 저장되며, 총 31개의 엑셀시트로 구성된다.</p>
			<p>Data 시트는 &#x003C;<xref ref-type="fig" rid="f003">그림 3</xref>&#x003E;과 같이 비행제어법칙(aviation control law) 데이터의 이름과 데이터의 유효범위(최솟값/최댓값) 필드로 구성되어 있다.</p>
			<p>&#x003C;<xref ref-type="fig" rid="f004">그림 4</xref>&#x003E;의 Set 1 ~ Set 30에는 30개의 비행 시나리오를 구성할 비행제어법칙 데이터 값이 저장된다. 각 Set에는 500개의 비행제어법칙 데이터를 저장할 수 있으며, 각 데이터들은 최대 17개의 배열 크기를 지원한다. 또한 시험자는 각 Set의 데이터에 대해 복사 및 수정을 통해 비행 시나리오 데이터 값을 설정할 수 있다.</p>
			<fig id="f003" orientation="portrait" position="float">
				<label>그림 3.</label>
				<caption>
					<title>비행제어법칙 데이터</title>
					<p>Figure 3. Data of Aviation Control Law</p>
				</caption>
				<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f003.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
			</fig>
			<fig id="f004" orientation="portrait" position="float">
				<label>그림 4.</label>
				<caption>
					<title>비행 시나리오 데이터 저장 시트</title>
					<p>Figure 4. Flight Scenario Data Storage Sheet</p>
				</caption>
				<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f004.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
			</fig>
			<p>- G_Set: Gain Set Count</p>
			<p>- PJ: PDIF Project Version</p>
			<p>- ID: PDIF_ID</p>
			<p>- Type: 데이터 타입 종류</p>
			<p>- Format: 데이터 형식</p>
			<p>- Form: 데이터 형태(단일 데이터: Single, 배열: Array)</p>
			<p>- Size: 데이터 크기(단일 데이터면 1, 배열이면 배열크기)</p>
			<p>- Name: 데이터 이름</p>
			<p>- 0~16: double 형식의 데이터 값</p>
		</sec>
	</sec>
	<sec id="sec003-3">
		<title>3.3 파싱 기능 설계</title>
		<p>파싱은 &#x003C;<xref ref-type="fig" rid="f005">그림 5</xref>&#x003E;에서 “globalParam.c”인 제어법칙 데이터만을 추출하는 간단한 컴파일러 기능을 제공한다.</p>
		<p>globalParam.c는 Matlab-Simulink를 통해 자동 생성된 제어법칙코드로 고/저속 유지를 위한 레이트 임계값, 테일로터 블레이드 각도에 대한 페달명령 등으로 이루어진 코드로 비행제어에 참조되는 데이터들이다.</p>
		<fig id="f005" orientation="portrait" position="float">
			<label>그림 5.</label>
			<caption>
				<title>globalParam.c 파일의 구성</title>
				<p>Figure 5. Organization of golbalParam.c file</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f005.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>globalParam.c 파일은 주석문과, C/C++ 파일의 헤더파일, 제어법칙 데이터로 구성되어 있다. 이중 비행제어법칙 데이터만을 추출하기 위해 변수 Type인 real_T가 읽히면 변수 영역 검사를 통해 Type(real_T)과 Format(double형), Form(Sigle, Array)을 체크 후 “=” 이후 데이터는 비행제어 법칙 데이터이므로 스트링형 배열에 모두 저장한다. 저장된 스트링형 배열을 기반으로 PDIF의 시트(Set1)에 파싱된 비행제어법칙 데이터들을 저장한다.</p>
	</sec>
	<sec id="sec003-4">
		<title>3.4 (.dat) 및 (.mot) 변환 기능 설계</title>
		<p>파싱을 통해 PDIF에 기록된 비행제어법칙 데이터를 읽어서 이진 데이터 형식으로 변환(.dat)한다. 변환 시에 &#x003C;<xref ref-type="fig" rid="f003">그림 3</xref>&#x003E;의 PDIF의 데이터 시트에서 변환되는 변수의 최솟값/최댓값 범위를 검증한다. 데이터 범위를 벗어나면 오류가 있는 엑셀 시트의 해당 위치를 표시한 후 변환을 중지한다.</p>
		<p>파싱을 통해 PDIF에 기록된 비행제어법칙 데이터는 타킷 컴퓨터의 처리 유닛에 맞도록 변환되어야 한다. 모토로라 PowerPC 계열의 CPU에서는 아스키 형식의 텍스트 데이터를 요구한다. 이를 위해 .dat 파일을 아스키 16진수 텍스트로 구성된 S-record 형식으로 변환하도록 설계하였다.</p>
	</sec>
	<sec id="sec003-5">
		<title>3.5 메인화면 구성</title>
		<fig id="f006" orientation="portrait" position="float">
			<label>그림 6.</label>
			<caption>
				<title>PDIF 변환기 UI</title>
				<p>Figure 6. UI of PDIF Converter</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f006.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>&#x003C;<xref ref-type="fig" rid="f006">그림 6</xref>&#x003E;은 PDIF 변환기의 UI를 설계한 것이며, 각 필드와 버튼의 기능은 다음과 같다.</p>
		<p>- (.c)Path: "globalParam.c" 파일을 불러오는 버튼</p>
		<p>- PDIF.xlsx: PDIF 파일을 불러오는 버튼</p>
		<p>- Parsing: 파싱을 수행하는 버튼</p>
		<p>- 변환될 데이터 파일(PDIF.xlsx)을 불러오는 버튼</p>
		<p>- 변환할 데이터 (.dat), (.mot)를 선택하기 위한 체크박스</p>
		<p>- Convert: (.dat), (.mot) 파일을 생성하기 위한 버튼</p>
		<p>- 파일 생성 진행률을 표시하는 진행 바</p>
		<p>- 파일 생성 관련 정보를 나타내는 출력란</p>
	</sec>
</sec>
<sec id="sec004" sec-type="Results">
	<title>4. PDIF 변환기 구현</title>
	<sec id="sec004-1">
		<title>4.1. 파싱</title>
		<p>PDIF 변환기는 &#x003C;<xref ref-type="fig" rid="f007">그림 7</xref>&#x003E;과 같이 입력된 globalParam.c에서 비행제어법칙 데이터를 추출하여 각 데이터 범위를 검증하며 파싱하며, 파싱된 결과를 엑셀파일 형식의 PDIF에 저장한다. 진행률 바를 통해, 전체 진행률이 표시되며, 데이터 변환 및 결과는 데이터 출력란에 표시된다.</p>
		<fig id="f007" orientation="portrait" position="float">
			<label>그림 7.</label>
			<caption>
				<title>비행제어법칙 데이터 파싱</title>
				<p>Figure 7. Parsing of Aviation Control Low Data</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f007.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>&#x003C;<xref ref-type="fig" rid="f008">그림 8</xref>&#x003E;은 globalParam.c에서 파싱된 비행제어 법칙 데이터를 엑셀 시트에 저장한 결과이다.</p>
		<fig id="f008" orientation="portrait" position="float">
			<label>그림 8.</label>
			<caption>
				<title>파싱된 비행제어법칙 데이터</title>
				<p>Figure 8. Parsed Flight Control Law Data</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f008.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
	</sec>
	<sec id="sec004-2">
		<title>4.2. (.dat) 파일 생성</title>
		<fig id="f009" orientation="portrait" position="float">
			<label>그림 9.</label>
			<caption>
				<title>(.dat) 파일 생성</title>
				<p>Figure 9. Generating (.dat) file</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f009.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>PDIF 변환 프로그램은 엑셀파일 형식의 PDIF에 저장되어 있는 데이터를 이진 데이터로 변환한다</p>
		<p>불러오기 버튼을 클릭하여 PDIF.xlsx을 불러온 후(.dat) 체크박스를 선택하고 Convert 버튼을 클릭하면, &#x003C;<xref ref-type="fig" rid="f009">그림 9</xref>&#x003E;와 같이 PDIF.dat가 생성된다.</p>
		<p>PDIF.dat에는 &#x003C;<xref ref-type="fig" rid="f010">그림 10</xref>&#x003E;과 같이 PDIF의 Set1에서 Set30 중 데이터 값이 있는 Set의 모든 데이터 값이 이진 값으로 변환되어 저장된다.</p>
		<p>생성된 PDIF.dat의 예는 &#x003C;<xref ref-type="fig" rid="f011">그림 11</xref>&#x003E;과 같다.</p>
		<fig id="f010" orientation="portrait" position="float">
			<label>그림 10.</label>
			<caption>
				<title>PDIF에서 이진 데이터 생성</title>
				<p>Figure 10. Generating Binary Data from PDIF</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f010.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<fig id="f011" orientation="portrait" position="float">
			<label>그림 11.</label>
			<caption>
				<title>생성된 PDIF.dat</title>
				<p>Figure 11. Generated PDIF.dat</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f011.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
	</sec>
	<sec id="sec004-3">
		<title>4.3. (.mot) 파일 생성</title>
		<p>(.mot) 파일은 PDIF 변환 프로그램의 UI에서(.mot) 체크박스 선택한 후 Convert 버튼을 클릭하면 생성된다. 이 파일은 앞서 생성된 (.dat) 파일로부터  &#x003C;<xref ref-type="fig" rid="f012">그림 12</xref>&#x003E;와 같이 변환된다.</p>
		<fig id="f012" orientation="portrait" position="float">
			<label>그림 12.</label>
			<caption>
				<title>(.dat)를 (.mot)로 변환</title>
				<p>Figure 12. Converting (.dat) into (.mot)</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f012.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>변환된 (.mot) 파일은 &#x003C;<xref ref-type="fig" rid="f013">그림 13</xref>&#x003E;과 같다.</p>
		<fig id="f013" orientation="portrait" position="float">
			<label>그림 13.</label>
			<caption>
				<title>생성된 PDIF.mot</title>
				<p>Figure 13. Generated PDIF.mot</p>
			</caption>
			<graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f013.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
		</fig>
		<p>(.mot) 파일에는 데이터의 무결성 확인을 위해, 잘못된 데이터 변환 시 &#x003C;<xref ref-type="fig" rid="f013">그림 13</xref>&#x003E;의 가장 오른쪽 체크섬 데이터가 빨간색으로 표시가 된다.</p>
	</sec>
</sec>
<sec id="sec005" sec-type="Conclusion">
	<title>5. 결 론</title>
	<p>본 연구에서는 비행제어법칙 데이터를 파싱하여 엑셀파일 형식의 PDIF와 이 PDIF를 타킷 컴퓨터의 처리 유닛에서 실행가능하도록 (.dat) 또는 (.mot)파일 형식으로 생성할 수 있는 변환기를 설계하고 구현하였다.</p>
	<p>본 연구에서 구현한 PDIF 변환기는 비행안전성을 위한 HILS(Hardware In the Loop Simulation)의 동역학 환경이 적용된 시험을 할 때, 형상변경 없이 비행시험을 수행할 수 있다. 본 연구에서 개발한 변환기의 이용은 기존 단일 비행시나리오별 순차시험에 비해 PDIF Set을 통한 다양한 비행 시나리오 시험을 중단 없이 연속적으로 수행할 수 있어 시험의 편리성이 향상되었고 시험 시간을 절약할 수 있다. 또한 (.dat) 파일을 통해 다른 형식의 OFP에 적용 및 OFP 수정에 대한 영향성을 줄일 수 있다.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<!--[1] A. Paz, and G. El Boussaidi, A requirements modelling language to facilitate avionics software verification and certification, 2019 IEEE/ACM 6th International Workshop on Requirements Engineering and Testing (RET), Montreal, QC, Canada, pp. 1-8, 2019.-->
<ref id="B001">
<label>[1]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Paz</surname><given-names>A.</given-names></name>
<name><surname>El Boussaidi</surname><given-names>G.</given-names></name>
</person-group>
<year>2019</year>
<article-title>A requirements modelling language to facilitate avionics software verification and certification</article-title>
<conf-name>2019 IEEE/ACM 6th International Workshop on Requirements Engineering and Testing (RET)</conf-name>
<conf-loc>Montreal, QC, Canada</conf-loc>
<fpage>1</fpage><lpage>8</lpage>
<pub-id pub-id-type="doi">10.1109/RET.2019.00008</pub-id>
</element-citation>
</ref>
<!--[2] T. Saraç, Certification aspects of model based development for airborne software, 2019 IEEE 2nd International Conference on Information and Computer Technologies (ICICT), Kahului, HI, USA, pp. 285-291, 2019.-->
<ref id="B002">
<label>[2]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Saraç</surname><given-names>T.</given-names></name>
</person-group>
<year>2019</year>
<article-title>Certification aspects of model based development for airborne software</article-title>
<conf-name>2019 IEEE 2nd International Conference on Information and Computer Technologies (ICICT)</conf-name>
<conf-loc>Kahului, HI, USA</conf-loc>
<fpage>285</fpage><lpage>291</lpage>
<pub-id pub-id-type="doi">10.1109/INFOCT.2019.8711129</pub-id>
</element-citation>
</ref>
<!--[3] N. Park, A development of OFP auto code generating tool for air vehicle built-In test, Proceeding of the 2018 KSAS Fall Conference, pp. 609-613. 2018.-->
<ref id="B003">
<label>[3]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Park</surname><given-names>N.</given-names></name>
</person-group>
<year>2018</year>
<article-title>A development of OFP auto code generating tool for air vehicle built-In test</article-title>
<conf-name>Proceeding of the 2018 KSAS Fall Conference</conf-name>
<fpage>609</fpage><lpage>613</lpage>
</element-citation>
</ref>
<!--[4] S. Ahn, Secure methodology of the autocode integrity for the helicopter fly-by-wire control law using formal verification tool, Proceeding of the 2014 KSAS Fall Conference, pp. 398-405. 2014.-->
<ref id="B004">
<label>[4]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Ahn</surname><given-names>S.</given-names></name>
</person-group>
<year>2014</year>
<article-title>Secure methodology of the autocode integrity for the helicopter fly-by-wire control law using formal verification tool</article-title>
<conf-name>Proceeding of the 2014 KSAS Fall Conference</conf-name>
<fpage>398</fpage><lpage>405</lpage>
<pub-id pub-id-type="doi">10.5139/JKSAS.2014.42.5.398</pub-id>
</element-citation>
</ref>
<!--[5] S. K. Paek, Embedded software design using parameter data item, Proceeding of the 2016 KSAS Fall Conference, pp. 553-554, 2016.-->
<ref id="B005">
<label>[5]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Paek</surname><given-names>S. K.</given-names></name>
</person-group>
<year>2016</year>
<article-title>Embedded software design using parameter data item</article-title>
<conf-name>Proceeding of the 2016 KSAS Fall Conference</conf-name>
<fpage>553</fpage><lpage>554</lpage>
</element-citation>
</ref>
<!--[6] S. Y. LEE, Proposed PDIF generation program for flight testing in various scenarios, Proceeding of the 2019 KSAS Fall Conference, pp. 1403-1404, 2019.-->
<ref id="B006">
<label>[6]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>LEE</surname><given-names>S. Y.</given-names></name>
</person-group>
<year>2019</year>
<article-title>Proposed PDIF generation program for flight testing in various scenarios</article-title>
<conf-name>Proceeding of the 2019 KSAS Fall Conference</conf-name>
<fpage>1403</fpage><lpage>1404</lpage>
</element-citation>
</ref>
<!--[7] W. K. Youn, S. B. Hong, K. R. Oh, and O. S. Ahn, Software certification of safety-critical avionic systems: DO-178C and its impacts, in IEEE Aerospace and Electronic Systems Magazine, Vol. 30, No. 4, pp. 4-13, 2015.-->
<ref id="B007">
<label>[7]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Youn</surname><given-names>W. K.</given-names></name>
<name><surname>Hong</surname><given-names>S. B.</given-names></name>
<name><surname>Oh</surname><given-names>K. R.</given-names></name>
<name><surname>Ahn</surname><given-names>O. S.</given-names></name>
</person-group>
<year>2015</year>
<article-title>Software certification of safety-critical avionic systems: DO-178C and its impacts</article-title>
<source>IEEE Aerospace and Electronic Systems Magazine</source>
<volume>30</volume><issue>4</issue>
<fpage>4</fpage><lpage>13</lpage>
<pub-id pub-id-type="doi">10.1109/MAES.2014.140109</pub-id>
</element-citation>
</ref>
<!--[8] M. Hochstrasser, S. P. Schatz, K. Nürnberger, M. Hornauer, S. Myschik, and F. Holzapfel. Aspects of a consistent modeling environment for DO-331 design model development of flight control algorithms, in Springer, Cham, Advances in Aerospace Guidance, Navigation and Control, pp. 69-86, 2017.-->
<ref id="B008">
<label>[8]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Hochstrasser</surname><given-names>M.</given-names></name>
<name><surname>Schatz</surname><given-names>S. P.</given-names></name>
<name><surname>Nürnberger</surname><given-names>K.</given-names></name>
<name><surname>Hornauer</surname><given-names>M.</given-names></name>
<name><surname>Myschik</surname><given-names>S.</given-names></name>
<name><surname>Holzapfel</surname><given-names>F.</given-names></name>
</person-group>
<year>2017</year>
<chapter-title>Aspects of a consistent modeling environment for DO-331 design model development of flight control algorithms</chapter-title>
<source>Advances in Aerospace Guidance, Navigation and Control</source>
<publisher-name>Springer</publisher-name>
<publisher-loc>Cham</publisher-loc>
<fpage>69</fpage><lpage>86</lpage>
<pub-id pub-id-type="doi">10.1007/978-3-319-65283-2_4</pub-id>
</element-citation>
</ref>
<!--[9] M. Hochstrasser, S. Myschik, and F. Holzapfel, Application of a process-oriented build tool for flight controller development along a DO-178C/DO-331 process, in Springer, Cham, Model-Driven Engineering and Software Development. Vol 991, pp. 380-405, 2019.-->
<ref id="B009">
<label>[9]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Hochstrasser</surname><given-names>M.</given-names></name>
<name><surname>Myschik</surname><given-names>S.</given-names></name>
<name><surname>Holzapfel</surname><given-names>F.</given-names></name>
</person-group>
<year>2019</year>
<article-title>Application of a process-oriented build tool for flight controller development along a DO-178C/DO-331 process</article-title>
<source>Model-Driven Engineering and Software Development</source>
<publisher-name>Springer, Cham</publisher-name>
<volume>991</volume>
<fpage>380</fpage><lpage>405</lpage>
<pub-id pub-id-type="doi">10.1007/978-3-030-11030-7_17</pub-id>
</element-citation>
</ref>
<!--[10] A. Paz, and G. El Boussaidi, On the exploration of model-bsed support for DO-178C-compliant avionics software development and certification, 2016 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Ottawa, ON, pp. 229-236, 2016.-->
<ref id="B010">
<label>[10]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Paz</surname><given-names>A.</given-names></name>
<name><surname>El Boussaidi</surname><given-names>G.</given-names></name>
</person-group>
<year>2016</year>
<article-title>On the exploration of model-bsed support for DO-178C-compliant avionics software development and certification</article-title>
<conf-name>2016 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)</conf-name>
<conf-loc>Ottawa, ON</conf-loc>
<fpage>229</fpage><lpage>236</lpage>
<pub-id pub-id-type="doi">10.1109/ISSREW.2016.12</pub-id>
</element-citation>
</ref>
<!--[11] H. M. Joe, A study on means of compliance of airborne software per DO-178C, KCA Vol 64, pp. 61-79, 2016.-->
<ref id="B011">
<label>[11]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Joe</surname><given-names>H. M.</given-names></name>
</person-group>
<year>2016</year>
<article-title>A study on means of compliance of airborne software per DO-178C</article-title>
<source>KCA</source>
<volume>64</volume>
<fpage>61</fpage><lpage>79</lpage>
</element-citation>
</ref>
<!--[12] WIKI,. https://ko.wikipedia.org/wiki/SREC, Aug. 2020.-->
<ref id="B012">
<label>[12]</label>
<element-citation publication-type="webpage" publication-format="web">
<source>WIKI</source>
<comment><uri>https://ko.wikipedia.org/wiki/SREC</uri>, Aug. 2020</comment>
</element-citation>
</ref>
<!--[13] N. E. Rodnishchev, L. G. Romanenko, and K. G. Denisov, To estimation of control law parameters for the lateral motion of aircraft taking into account wind disturbances, Russian Aeronaut. 58, pp. 407-412, 2015.-->
<ref id="B013">
<label>[13]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Rodnishchev</surname><given-names>N. E.</given-names></name>
<name><surname>Romanenko</surname><given-names>L. G.</given-names></name>
<name><surname>Denisov</surname><given-names>K. G.</given-names></name>
</person-group>
<year>2015</year>
<article-title>To estimation of control law parameters for the lateral motion of aircraft taking into account wind disturbances</article-title>
<source>Russian Aeronaut</source>
<volume>58</volume>
<fpage>407</fpage><lpage>412</lpage>
<pub-id pub-id-type="doi">10.3103/S106879981504008X</pub-id>
</element-citation>
</ref>
<!--[14] J. Holsten, and D. Moormann, Flight control law design criteria for the transition phase for a tiltwing aircraft using multi-objective parameter synthesis, CEAS Aeronaut J 6, pp. 17-30, 2015.-->
<ref id="B014">
<label>[14]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Holsten</surname><given-names>J.</given-names></name>
<name><surname>Moormann</surname><given-names>D.</given-names></name>
</person-group>
<year>2015</year>
<article-title>Flight control law design criteria for the transition phase for a tiltwing aircraft using multi-objective parameter synthesis</article-title>
<source>CEAS Aeronaut J</source>
<volume>6</volume>
<fpage>17</fpage><lpage>30</lpage>
<pub-id pub-id-type="doi">10.1007/s13272-014-0126-z</pub-id>
</element-citation>
</ref>
<!--[15] H. J. Choi, Design of an integrated flight control model for light civil helicopter and configuration of the simulation environment with the dynamics model, Proceeding of the 2019  KSAS Fall Conference, pp. 1040-1041, 2019.-->
<ref id="B015">
<label>[15]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Choi</surname><given-names>H. J.</given-names></name>
</person-group>
<year>2019</year>
<article-title>Design of an integrated flight control model for light civil helicopter and configuration of the simulation environment with the dynamics model</article-title>
<conf-name>Proceeding of the 2019  KSAS Fall Conference</conf-name>
<fpage>1040</fpage><lpage>1041</lpage>
</element-citation>
</ref>
</ref-list>
<bio>
	<p><graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f014.jpg"></graphic><bold>Sun-Young Lee</bold> received the M.S. degree in the Department of Information Science from Gyeongsang National University in 2016. His research interests include Aviation Software. He is a member of the KSAS.</p>
	<p><italic>E-mail address</italic>: <email>astesia@gnu.ac.kr</email></p>
	<p><graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f015.jpg"></graphic><bold>Chung-Ho Hwang</bold> received the M.S. degree in the Department of Convergence Software from Gyeongsang National University in 2015. His research interests include Aviation Software.</p>
	<p><italic>E-mail address</italic>: <email>qweo89@naver.com</email></p>
	<p><graphic xlink:href="../ingestImageView?artiId=ART002640797&amp;imageName=jkits_2020_15_05_711_f016.jpg"></graphic><bold>Young-Ho Nam</bold> received the Ph.D. degree in the Department of Computer Engineering from the Chung-Ang University in 1994. He has been a professor in the Department of Computer Science at Gyeongsang University since 1996. His current research interests include embedded system, IoT and computer science education. He is a member of the KKITS.</p>
	<p><italic>E-mail address</italic>: <email>yhnam@gnu.ac.kr</email></p>
</bio>
</back>
</article>
