KR20220113030A - Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법 - Google Patents

Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법 Download PDF

Info

Publication number
KR20220113030A
KR20220113030A KR1020210016714A KR20210016714A KR20220113030A KR 20220113030 A KR20220113030 A KR 20220113030A KR 1020210016714 A KR1020210016714 A KR 1020210016714A KR 20210016714 A KR20210016714 A KR 20210016714A KR 20220113030 A KR20220113030 A KR 20220113030A
Authority
KR
South Korea
Prior art keywords
xml
document
attribute
original document
xml element
Prior art date
Application number
KR1020210016714A
Other languages
English (en)
Inventor
서용진
Original Assignee
주식회사 알티스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 알티스트 filed Critical 주식회사 알티스트
Priority to KR1020210016714A priority Critical patent/KR20220113030A/ko
Priority to PCT/KR2021/001625 priority patent/WO2022169010A1/ko
Publication of KR20220113030A publication Critical patent/KR20220113030A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따른 문서 구조 변환 방법은 (a) 구조 분석부에 의해, XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하는 문서 구조 분석 단계; (b) 구조 비교부에 의해, 상기 기준 문서와 상기 원본 문서 간의 구조 상의 차이를 비교하는 문서 구조 비교 단계; 및 (c) 구조 변환부에 의해, 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 문서 구조 변환 단계를 포함한다.

Description

ARXML 마이그레이션을 위한 문서 구조 변환 시스템 및 방법{DOCUMENT STRUCTURE CHANGE SYSTEM AND METHOD FOR ARXML MIGRATION}
본 발명은 ARXML 마이그레이션을 위한 문서 구조 변환 시스템 및 방법에 관한 것이다.
최근 안정성과 편의성 위주의 다양한 차량 부가 서비스가 개발되면서 과거 단순한 이동수단에 불과하였던 자동 차는 이제 운전자 개인의 하나의 공간 영역의 개념으로 인식되고 있다.
이에 따라, 자동차의 바디 제어를 통한 다양한 자동화 서비스는 물론이고 GPS 및 이동통신 네트워크, 블루투스 등을 기반으로 하는 다양한 멀티미디어 서비스까지 소비자의 니즈와 취향에 맞는 자동차의 서비스는 나날이 발 전해 가고 있다.
이러한 서비스는 대체로 기계식 장치가 아닌 전자 제어 장치(Electronic Control Unit: ECU)로 제공될 수밖에 없으며, 이에 따라 자동차 산업에 소프트웨어 및 IT 기술의 접목은 필수 불가결하게 되었다.
다만, 제품의 안전성 보장과 모듈 재사용성의 문제, 하드웨어 의존성 제거 등은 모든 소프트웨어 제품의 공통 적인 숙제이며, 소프트웨어 중심의 서비스를 탑재하는 자동차 전자 장비화 서비스 또한 이 문제를 피해갈 수 없다.
이러한 문제점을 해결하기 위하여, BMW, Bosch, Volkswagen 등 세계적인 자동차 완성 업체 및 부품 업체가 중심 이 되어 AUTOSAR(Automotive Open System Architecture)라는 협의체를 구성하여 표준화를 진행하고 있다.
이러한, 오토사(AUTOSAR)는 ECU에 탑재되는 SW 아키텍처와 개발 방법론을 표준화하는 것을 목적으로 하며, 크게 자동차 SW 아키텍처 및 어플리케이션 인터페이스, 이들을 이용하여 전자 장비화 소프트웨어를 개발하기 위한 방법론, 소프트웨어 안전성을 위한 적합성 테스트 분야로 나누어 표준화를 진행하고 있다.
이에 따라, 제안된 모델과 방법론에 의해 차량용 소프트웨어를 개발하기 위한 Vector, EB, KPIT 등과 같은 다양 한 개발 도구가 제안되고 있다.
이러한 개발 도구를 이용하면 XML(eXtensible Markup Language) 기반의 Autosar 표준 포맷인 ARXML로 작성된다.
다만, 작성된 ARXML은 복잡한 구조에 많은 코드를 기재하고 있는 바, 설계자가 작성된 ARXML을 통하여 작성 결 과를 확인하고, 작성된 ARXML을 수정하기는 어렵고, 이러한 어려움은 ARXML에 대한 지식이 부족한 일반 사용자에게 더욱 클 수 있다.
또한, ARXML은 새로운 버전이 지속적으로 배포되며 변경 사항 역시 많이 발생하게 되는데, ARXML은 약 14만줄의 스키마를 가질 뿐만 아니라 다양한 관점의 설계 정보를 내포하는 방대한 문서 양식을 갖기 때문에 변경 사항을 추적하기가 매우 어려운 문제 역시 발생하고 있다.
하지만 소프트웨어 개발자가 변경 사항에 대해 일일이 추적하지 않으면, 기 작성된 ARXML 문서를 재활용하는 것도 매우 어려우며, 이와 같은 상황은 AUTOSAR 기반의 소프트웨어 개발 비용을 증가시키고 생산성을 떨어뜨리는 문제를 야기한다.
따라서, ARXML의 버전이 새로 업데이터 됨으로써 ARXML 마이그레이션이 진행될 경우 기존 버전으로 작성된 ARXML 문서를 새로운 버전의 ARXML 문서로 변경해야 할 필요성이 증가하고 있다.
대한민국 등록특허공보 10-1487192
본 발명의 실시예는 ARXML의 버전이 업데이트 될 경우 기존 버전의 ARXML에 의해 작성된 문서인 원본 문서의 구조를 새로 업데이트된 버전의 ARXML에 의해 작성된 문서인 기준 문서의 구조와 동일하게 변환함으로써, 원본 문서의 구조를 분석하여 수동으로 기준 문서의 구조와 일치하도록 변경하거나 기존에 작성된 문서를 새로 업데이트된 버전의 ARXML 구조에 맞게 새로 작성하는데 드는 시간과 비용의 낭비를 줄일 수 있는, 문서 구조 변환 시스템(10) 및 문서 구조 변환 시스템(10)을 제공하는 것을 목적으로 한다.
한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 문서 구조 변환 방법은 (a) 구조 분석부에 의해, XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하는 문서 구조 분석 단계; (b) 구조 비교부에 의해, 상기 기준 문서와 상기 원본 문서 간의 구조 상의 차이를 비교하는 문서 구조 비교 단계; 및 (c) 구조 변환부에 의해, 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 문서 구조 변환 단계를 포함한다.
상기 (a) 단계는: (a-1) 상기 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하는 단계; (a-2) 상기 ARXML 구조에 포함된 상기 각각의 XML 요소의 XML 속성을 상기 각각의 노드의 속성으로 매핑하는 단계; 및 (a-3) 상기 노드와 상기 노드의 속성을 기반으로 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 구현하여 구조를 분석하는 단계를 더 포함할 수 있다.
상기 (b) 단계는: (b-1) 제1 비교 유닛에 의해, 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 추가, 상기 XML 요소의 삭제, 상기 XML 속성의 추가, 상기 XML 속성의 삭제 또는 상기 XML 속성의 변경이 있는지 여부를 판단하는 단계; (b-2) 제2 비교 유닛에 의해, 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는지 여부를 판단하는 단계; 및 (b-3) 검토 유닛에 의해, 상기 (b-1) 단계 및 상기 (b-2) 단계에서의 판단 결과와 상기 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.
상기 (b-1) 단계는: (b-1-1) XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하는 단계; (b-1-2) XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하는 단계; (b-1-3) 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하는 단계; (b-1-4) 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하는 단계; 및 (b-1-5) 특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하는 단계를 더 포함할 수 있다.
상기 (b-2) 단계는: (b-2-1) 상기 XML 요소가 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 요소의 위치 이동이 있는 것으로 판단하는 단계; 및 (b-2-2) 상기 XML 속성이 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 속성의 위치 이동이 있는 것으로 판단하는 단계를 더 포함할 수 있다.
상기 (b-3) 단계는: (b-3-1) 상기 XML 요소의 추가 또는 상기 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계; (b-3-2) 상기 XML 요소의 삭제 또는 상기 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계; (b-3-3) 상기 XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하는 단계; (b-3-4) 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계; 및 (b-3-5) 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, 상기 XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가로 수정하거나, 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.
상기 (c) 단계는: (c-1) 상기 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 단계; 및 (c-2) 상기 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 상기 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 문서 구조 변환 시스템은 XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하도록 구성되는 구조 분석부; 상기 기준 문서와 상기 원본 문서 간의 구조 상의 차이를 비교하도록 구성되는 구조 비교부; 및 상기 구조 비교부에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하도록 구성되는 구조 변환부를 포함한다.
상기 구조 분석부는: 상기 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하고; 상기 ARXML 구조에 포함된 상기 각각의 XML 요소의 XML 속성을 상기 각각의 노드의 속성으로 매핑하고; 상기 노드와 상기 노드의 속성을 기반으로 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 구현하여 구조를 분석하도록 구성될 수 있다.
상기 구조 비교부는: 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 추가, 상기 XML 요소의 삭제, 상기 XML 속성의 추가, 상기 XML 속성의 삭제 또는 상기 XML 속성의 변경이 있는지 여부를 판단하도록 구성되는 제1 비교 유닛; 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는지 여부를 판단하도록 구성되는 제2 비교 유닛; 및 상기 제1 비교 유닛 및 상기 제2 비교 유닛에 의한 판단 결과와 상기 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성되는 검토 유닛을 더 포함할 수 있다.
상기 제1 비교 유닛은: XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하고; XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하고; 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하고; 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하고; 특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하도록 구성될 수 있다.
상기 제2 비교 유닛은: 상기 XML 요소가 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 요소의 위치 이동이 있는 것으로 판단하고; 상기 XML 속성이 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 속성의 위치 이동이 있는 것으로 판단하도록 구성될 수 있다.
상기 검토 유닛은: 상기 XML 요소의 추가 또는 상기 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하고; 상기 XML 요소의 삭제 또는 상기 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하고; 상기 XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하고; 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하고; 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, 상기 XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가로 수정하거나, 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성될 수 있다.
상기 구조 변환부는: 상기 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하고; 상기 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 상기 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하도록 구성될 수 있다.
본 발명의 실시예에 따른 문서 구조 변환 시스템(10) 및 문서 구조 변환 방법(S10)은 ARXML의 버전이 업데이트 될 경우 기존 버전의 ARXML에 의해 작성된 문서인 원본 문서의 구조를 새로 업데이트된 버전의 ARXML에 의해 작성된 문서인 기준 문서의 구조와 동일하게 변환함으로써, 원본 문서의 구조를 분석하여 수동으로 기준 문서의 구조와 일치하도록 변경하거나 기존에 작성된 문서를 새로 업데이트된 버전의 ARXML 구조에 맞게 새로 작성하는데 드는 시간과 비용의 낭비를 줄일 수 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명이 일 실시예에 따른 문서 구조 변환 방법(S10)을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 문서 구조 변환 시스템(10)을 나타낸 도면이다.
도 3은 문서 구조 변환 시스템(10)에 의해 문서 구조 변환 방법(S10)이 수행되는 모습을 나타낸 흐름도이다.
도 4는 원본 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 5는 XML 요소의 추가된 변환 문서의 그래프 데이트베이스를 나타낸 도면이다.
도 6은 XML 요소가 삭제된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 7은 XML 속성이 추가된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 8은 XML 속성이 삭제된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 9는 XML 속성이 변경된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 10은 XML 요소의 위치가 이동된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 11은 XML 속성의 위치가 이동된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 12는 검토 유닛(230)에 의해 제공되는 사용자 인터페이스를 나타낸 도면이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다.
일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다.
그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
이하, 본 명세서의 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명이 일 실시예에 따른 문서 구조 변환 방법(S10)을 나타낸 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 문서 구조 변환 시스템(10)을 나타낸 도면이고, 도 3은 문서 구조 변환 시스템(10)에 의해 문서 구조 변환 방법(S10)이 수행되는 모습을 나타낸 흐름도이다.
도 1 내지 도 3을 참조하면, 문서 구조 변환 방법(S10)은 S100 내지 S300 단계를 통해 수행된다.
보다 상세히 말하면, 문서 구조 변환 방법(S10)은 구조 분석부(100)에 의해 수행되며 XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하는 문서 구조 분석 단계(S100), 구조 비교부(200)에 의해 수행되며 기준 문서와 원본 문서 간의 구조 상의 차이를 비교하는 문서 구조 비교 단계(S200) 및 구조 변환부(300)에 의해 수행되며 S200 단계에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 문서 구조 변환 단계(S300)를 포함한다.
즉, 구조 분석부(100)는 XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하도록 구성되고, 구조 비교부(200)는 기준 문서와 원본 문서 간의 구조 상의 차이를 비교하도록 구성되며, 구조 변환부(300)는 구조 비교부(200)에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하도록 구성된다.
여기서 원본 문서는 버전이 업데이트 되기 전의 ARXML에 의해 작성된 문서를 말하고, 기준 문서는 버전이 업데이트 된 후의 ARXML에 의해 작성된 문서를 말한다.
따라서, 본 발명의 문서 구조 변환 시스템(10) 및 문서 구조 변환 방법(S10)은 원본 문서의 ARXML 구조를 기준 문서의 ARXML 구조로 변화하기 위한 시스템 및 방법을 말한다.
도 3을 참조하면, 구조 분석부(100)로 원본 문서와 기준 문서가 입력된다. 구조 분석부(100)는 XML 스키마를 통해 작성됨으로써 ARXML 구조를 갖게 된 기준 문서와 원본 문서의 구조를 분석하며, 기준 문서의 구조에 의해 구현된 기준 문서의 그래프 데이터베이스와 원본 문서의 구조에 의해 구현된 원본 문서의 그래프 데이터베이스를 출력한다.
구조 분석부(100)에 의해 출력된 기준 문서의 그래프 데이터베이스와 원본 문서의 그래프 데이터베이스는 구조 비교부(200)로 입력된다.
구조 비교부(200)는 기준 문서의 그래프 데이터베이스와 원본 문서의 그래프 데이터베이스를 비교하여 두 문서 간의 구조 상의 차이가 있는지 여부를 판단하여 판단 결과를 출력한다.
구조 비교부(200)에 의해 출력된 구조 상의 차이에 대한 판단 결과는 구조 변환부(300)로 입력된다.
구조 변환부(300)는 판단된 구조 상의 차이를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하게 되고, 그 결과 문서의 구조가 기준 문서의 구조와 동일하게 변환된 원본 문서(이하, 변환 문서)를 출력하게 된다.
이하에서는 문서 구조 변환 시스템(10)에 포함된 각 구성과 상기 각 구성에 의해 수행되는 문서 구조 변환 방법(S10)을 보다 상세히 설명하도록 한다.
ARXML 구조를 갖는 XML 문서는 하나 이상의 XML 요소를 포함하며, 각각의 XML 요소 사이에는 계층 관계가 존재한다.
각각의 XML 요소는 해당 XML 요소의 이름을 나타내는 XML 요소 식별자와 하나 이상의 XML 속성을 포함한다.
XML 속성은 해당 XML 속성의 이름을 나타내는 XML 속성 식별자와, 해당 XML 속성이 가질 수 있는 속성값의 범위를 나타내는 데이터 타입과, 해당 XML 속성값의 개수를 나타내는 다중도를 포함할 수 있으며, 이를 통해 해당 XML 요소의 특성을 나타낸다.
구조 분석부(100)에 의해 수행되는 S100 단계는 S110 단계 내지 S130 단계를 포함할 수 있다.
S110 단계는 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하는 단계를 말한다.
S120 단계는 ARXML 구조에 포함된 각각의 XML 요소의 XML 속성을 각각의 노드의 속성으로 매핑하는 단계를 말한다.
마지막으로, S130 단계는 노드와 노드의 속성을 기반으로 기준 문서와 원본 문서 각각에 대한 그래프 데이터베이스를 구현하여 구조를 분석하는 단계를 말한다.
S110 단계 내지 S130 단계는 구조 분석부(100)에 의해 수행될 수 있다.
즉, 구조 분석부(100)는 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하기 위하여, 먼저 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하고, 다음으로 각각의 XML 요소의 XML 속성을 각각의 노도의 속성으로 매핑할 수 있다.
ARXML의 구조는 XML 스키마에 맞게 XML 요소와 XML 속성이 텍스트 형태로 구성되어 있다. 텍스트 형태로 구성된 정보는 해당 정보를 구성하는 문자의 나열과 위치를 통해 비교 가능하기에 비록 동일한 문자의 나열을 갖더라도 서로 다른 위치에 존재한다면 서로 다른 XML 요소로 식별될 수 있다.
따라서, ARXML 구조는 XML 요소 식별자와 XML 속성 식별자를 기준으로 비교할 수 있도록 적절한 형태로의 변환이 필요하므로, 이를 고려하여 트리 형태를 갖는 그래프 데이터베이스(Graph Database)로 변환하여 ARXML 구조를 저장할 수 있다.
그래프 데이터베이스는 노드(Node)와 간선(Edge)으로 구성될 수 있다. 각각의 노드는 이름과 속성으로 구성되는데, 노드는 ARXML 구조에서의 XML 요소와 매핑되며, 노드의 속성은 XML 속성으로 매핑될 수 있다. 다시 말해, XML 요소는 그래프 데이터베이스의 노드로 매핑될 수 있고, 각각의 XML 요소에 대한 XML 속성은 그래프 데이터베이스에서 해당 노드에 대한 속성으로 매핑될 수 있다.
즉, 구조 분석부(100)는 ARXML 구조에 포함된 각각의 XML 요소를 그래프 데이터베이스의 각각의 노드로 매핑하고, ARXML 구조에 포함된 각각의 XML 요소의 XML 속성을 각각의 노드의 속성으로 매핑할 수 있으며, 이를 통해 기준 문서와 원본 문서 각각에 대한 그래프 데이터베이스를 구현함으로써 각 문서의 구조를 분석할 수 있다.
구조 비교부(200)는 제1 비교 유닛(210), 제2 비교 유닛(220) 및 검토 유닛(230)을 포함할 수 있다.
구조 비교부(200)에 의해 수행되는 S200 단계는 S210 단계 내지 S230 단계를 포함할 수 있다.
S210 단계는 제1 비교 유닛(210)에 의해 수행되며 기준 문서와 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, XML 요소의 추가, XML 요소의 삭제, XML 속성의 추가, XML 속성의 삭제 또는 XML 속성의 변경이 있는지 여부를 판단하는 단계를 말하고, S220 단계는 제2 비교 유닛(220)에 의해 수행되며 기준 문서와 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, XML 요소의 위치 이동 또는 XML 속성의 위치 이동이 있는지 여부를 판단하는 단계를 말하고, S230 단계는 검토 유닛(230)에 의해 수행되며 상기 S210 단계 및 상기 S220 단계에서의 판단 결과와, 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
예를 들어, 사용자 인터페이스는 후술할 도 12에 도시된 바와 같이 제공될 수 있다.
즉, 제1 비교 유닛(210)은 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, XML 요소의 추가, XML 요소의 삭제, XML 속성의 추가, XML 속성의 삭제 또는 XML 속성의 변경이 있는지 여부를 판단하도록 구성될 수 있고, 제2 비교 유닛(220)은 기준 문서와 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, XML 요소의 위치 이동 또는 XML 속성의 위치 이동이 있는지 여부를 판단하도록 구성될 수 있고, 검토 유닛(230)은 제1 비교 유닛(210) 및 제2 비교 유닛(220)에 의한 판단 결과와, 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성될 수 있다.
제1 비교 유닛(210)에 의해 수행되는 S210 단계는 S211 단계 내지 S215 단계를 포함할 수 있다.
S211 단계는 XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하는 단계를 말한다.
S212 단계는 XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하는 단계를 말한다.
S213 단계는 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하는 단계를 말한다.
S214 단계는 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하는 단계를 말한다.
마지막으로, S215 단계는 특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하는 단계를 말한다.
즉, 제1 비교 유닛(210)은 XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하고, XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하고, 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하고, 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하고, 특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하도록 구성될 수 있다.
도 4는 원본 문서의 그래프 데이터베이스를 나타낸 도면이고, 도 5는 XML 요소가 추가된 변환 문서의 그래프 데이트베이스를 나타낸 도면이고, 도 6은 XML 요소가 삭제된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 4 내지 도 6을 참조하면, XML 요소의 추가는 원본 문서의 구조에서는 존재하지 않던 XML 요소가 기준 문서의 구조에는 존재하는 경우를 의미한다.
반면, XML 요소의 삭제는 원본 문서의 구조에서는 존재하던 XML 요소가 기준 문서의 구조에는 존재하지 않는 경우를 의미한다.
기본적으로 XML 요소는 XML 요소 식별자를 통해 식별되므로, XML 요소의 추가와 삭제는 원본 문서의 구조와 기준 문서의 구조가 갖는 XML 요소 식별자를 모두 비교함으로써 파악할 수 있다.
단, 이는 XML 요소의 XML 속성이 모두 동일할 때만 성립한다.
도 7은 XML 속성이 추가된 변환 문서의 그래프 데이터베이스를 나타낸 도면이고, 도 8은 XML 속성이 삭제된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 4, 도 7 및 도 8을 참조하면, XML 속성의 추가는 특정 XML 요소에 대하여 원본 문서의 구조에서는 존재하지 않던 XML 속성이 기준 문서의 구조에는 존재하는 경우를 의미한다.
반면, XML 속성의 삭제는 특정 XML 요소에 대해 원본 문서의 구조에서는 존재했던 XML 속성이 기준 문서의 구조에는 존재하지 않는 경우를 의미한다.
기본적으로 XML 속성은 XML 속성 식별자를 통해 식별되므로, XML 속성의 추가와 삭제는 원본 문서의 구조와 기준 문서의 구조가 갖는 모든 XML 요소에 대해 모든 XML 속성 식별자를 비교함으로써 파악할 수 있다.
단, 이는 XML 속성을 구성하는 데이터 타입과 다중도가 모두 동일할 때만 성립한다.
도 9는 XML 속성이 변경된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 5 및 도 9를 참조하면, XML 속성의 변경은 동일한 XML 속성 식별자를 갖는 특정 XML 속성이 서로 다른 구성을 갖는 경우를 의미한다.
다시 말해, 특정 XML 요소 내에 존재하는 특정 XML 속성이 서로 같은 XML 속성 식별자를 가질 때, 원본 문서의 구조와 기준 문서의 구조에서의 XML 속성이 서로 다른 데이터 타입이나 다중도를 갖는 경우를 의미한다.
이는 동일한 이름의 XML 요소 식별자 및 XML 속성 식별자에 대하여 XML 속성의 구성 요소(데이터 타입 또는 다중도)를 서로 비교함으로써 파악할 수 있다.
정리하면, 제1 비교 유닛(210)에 의해 수행되는 S210 단계는 원본 문서의 구조와 기본 문서의 구조를 비교하여 그 차이를 판단함으로써 수행될 수 있다.
제2 비교 유닛(220)에 의해 수행되는 S220 단계는 S221 단계 및 S222 단계를 포함할 수 있다.
S221 단계는 XML 요소가 원본 문서의 구조에서는 삭제되고 기준 문서의 구조에서는 추가된 경우, XML 요소의 위치 이동이 있는 것으로 판단하는 단계를 말한다.
S222 단계는 XML 속성이 원본 문서의 구조에서는 삭제되고 기준 문서의 구조에서는 추가된 경우, XML 속성의 위치 이동이 있는 것으로 판단하는 단계를 말한다.
즉, 제2 비교 유닛(220)은 XML 요소가 원본 문서의 구조에서는 삭제되고 기준 문서의 구조에서는 추가된 경우, XML 요소의 위치 이동이 있는 것으로 판단하고, XML 속성이 상기 원본 문서의 구조에서는 삭제되고 기준 문서의 구조에서는 추가된 경우, XML 속성의 위치 이동이 있는 것으로 판단하도록 구성될 수 있다.
도 10은 XML 요소의 위치가 이동된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 4 및 도 10을 참조하면, XML 요소의 위치 이동은 특정 XML 요소가 원본 문서의 구조와 기준 문서의 구조에 모두 존재하나, 그 위치가 다른 경우를 의미하는데, 간단히 말해 XML 요소의 계층 구조가 변경되었음을 의미한다.
일반적으로 XML 요소 사이의 관계 정보는 XML 속성으로 표현되므로, 이는 XML 속성에 대한 차이를 통해 파악할 수 있다.
도 11은 XML 속성의 위치가 이동된 변환 문서의 그래프 데이터베이스를 나타낸 도면이다.
도 4 및 도 11을 참조하면, XML 속성의 위치 이동은 동일한 XML 속성 식별자, 데이터 타입 및 다중도를 갖는 특정 XML 속성이 원본 문서의 구조와 기준 문서의 구조에서 서로 다른 XML 요소 내에 존재하는 경우를 의미한다.
XML 속성은 XML 요소 내에 포함되어 해당 XML 요소의 특성을 표현하기 때문에, 동일한 XML 요소 식별자를 갖는 XML 요소 간의 비교를 통해 원본 문서의 구조와 기준 문서의 구조 사이의 차이를 분석하게 된다.
그러나 XML 속성의 위치 이동은 동일한 구성의 XML 속성이 서로 다른 XML 요소 내에 포함되어 있는지를 확인하여야 하므로, 일반적인 방법으로 파악하기 어렵다.
그러나 단순하게 생각하면 XML 속성의 위치가 변경되기 위해서는 동일한 구성의 XML 속성에 대해 추가와 삭제가 동시에 발생되어야 한다. 보다 상세히 말하면, 위치가 이동되기 전의 XML 속성은 원본 문서의 구조에만 존재하므로 이는 XML 속성의 삭제에 해당하고, 위치가 이동된 후의 XML 속성은 기준 문서의 구조에만 존재하므로 이는 XML 속성의 추가에 해당한다.
따라서 동일한 구성의 XML 속성에 대해 원본 문서의 구조에서의 XML 속성 삭제와 기준 문서의 구조에서의 XML 속성 추가가 동시에 발생된 경우, 이를 XML 속성의 위치 이동으로 판단할 수 있다.
정리하면, 제2 비교 유닛(220)에 의해 수행되는 S220 단계에서는 삭제된 정보가 다른 위치에 추가되는 과정을 통해 수행되므로, 동일한 구성을 갖는 XML 요소 또는 XML 속성이 원본 문서의 구조에서는 삭제되고, 기준 문서의 구조에서는 추가되는지를 판단함으로써 수행될 수 있다.
하지만, 경우에 따라 동일한 구성을 갖는 XML 요소 또는 XML 속성이 추가 및 삭제되더라도 서로 문맥이 동일하지 않는 경우에는 위치 이동으로 판단할 수 없으며, XML 요소 또는 XML 속성이 각각 추가되고 삭제되었다고 판단해야 한다.
이를 위해, 후술할 검토 유닛(230)에서는 사용자에게 사용자 인터페이스를 제공하여, 판단 결과를 수정할 수 있도록 할 수 있다.
도 12는 검토 유닛(230)에 의해 제공되는 사용자 인터페이스를 나타낸 도면이다.
도 12를 참조하면, 검토 유닛(230)에 의해 수행되는 S230 단계는 S231 단계 내지 S235 단계를 포함할 수 있다.
S231 단계는 XML 요소의 추가 또는 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
S232 단계는 XML 요소의 삭제 또는 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
S233 단계는 XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
S234 단계는 XML 요소의 위치 이동 또는 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
마지막으로, S235 단계는 원본 문서에서의 XML 요소의 삭제와 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 원본 문서에서의 XML 속성의 삭제와 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 원본 문서에서의 XML 요소의 삭제와 기준 문서에서의 XML 요소의 추가로 수정하거나, XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 원본 문서에서의 XML 속성의 삭제와 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 말한다.
즉, 검토 유닛(230)은 XML 요소의 추가 또는 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하고, XML 요소의 삭제 또는 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하고, XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하고, XML 요소의 위치 이동 또는 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공한다.
또한, 원본 문서에서의 XML 요소의 삭제 및 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 원본 문서에서의 XML 속성의 삭제 및 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 원본 문서에서의 XML 요소의 삭제 및 기준 문서에서의 XML 요소의 추가로 수정하거나, XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 원본 문서에서의 XML 속성의 삭제 및 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성될 수 있다.
예를 들어, 도 4와 같은 구조를 갖는 원본 문서가 도 5 내지 도 11에 해당하는 변경이 있을 경우, 사용자 인터페이스는 도 12와 같이 도시될 수 있다.
구조 변환부(300)에 의해 수행되는 S300 단계는 S310 단계 및 S320 단계를 포함할 수 있다.
S310 단계는 S200 단계에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 단계를 말한다.
S320 단계는 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하는 단계를 말한다.
즉, 구조 변환부(300)는 구조 비교부(200)에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하여 변환 문서를 출력하고, 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하도록 구성될 수 있다.
보다 상세히 말하면, S300 단계는 S200 단계에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 기준과 동일하게 변환하는 단계를 말한다.
즉, S300 단계에서는 특정 XML 요소 또는 특정 XML 속성을 삭제하거나 삭제 후 추가하는 작업을 수행할 수 있다. S300 단계는 기준 문서의 구조와 동일하게 원본 문서의 구조를 변환하는 것이므로, 존재하지 않는 정보를 새로 추가할 수 없다. 따라서 추가 작업만을 따로 수행하지 않는 것은 자명할 것이다.
삭제 작업은 XML 요소의 삭제, XML 속성의 삭제를 대상으로 수행된다. 말그대로 관련된 정보를 삭제함으로써 완료할 수 있다. 다만, 기존에 작성된 정보들은 모두 필요에 의해 작성된 것이므로 대상 구조에 존재하지 않더라도 그대로 유지하는 것이 바람직하다. 따라서 S300 단계를 통해 삭제되는 모든 정보는 별도의 데이터베이스에 따로 저장될 수 있다.
삭제 후 추가하는 작업은 XML 요소의 위치 이동, XML 속성의 위치 이동, XML 속성의 변경을 대상으로 수행된다. 삭제 작업은 앞서 소개한 것과 동일하게 진행된다. 삭제 후 그 정보가 기준 문서의 구조에 동일하게 추가되지만, 이 역시 삭제 과정을 동반하기에 삭제되는 모든 정보는 별도의 데이터베이스에 따로 저장될 수 있다.
본 발명의 일 실시예에 따른 문서 구조 변환 시스템(10) 및 문서 구조 변환 시스템(10)에 의해 수행되는 문서 구조 변환 방법(S10)은 ARXML의 버전이 업데이트 될 경우 기존 버전의 ARXML에 의해 작성된 문서인 원본 문서의 구조를 새로 업데이트된 버전의 ARXML에 의해 작성된 문서인 기준 문서의 구조와 동일하게 변환할 수 있다.
이를 통해, 원본 문서의 구조를 분석하여 수동으로 기준 문서의 구조와 일치하도록 변경하거나, 기존에 작성된 문서를 새로 업데이트된 버전의 ARXML 구조에 맞게 새로 작성하는데 드는 시간과 비용의 낭비를 줄일 수 있다.
이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.
10: 문서 구조 변환 시스템
100: 구조 분석부
200: 구조 비교부
210: 제1 비교 유닛
220: 제2 비교 유닛
230: 검토 유닛
300: 구조 변환부
S10: 문서 구조 변환 방법

Claims (14)

  1. (a) 구조 분석부에 의해, XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하는 문서 구조 분석 단계;
    (b) 구조 비교부에 의해, 상기 기준 문서와 상기 원본 문서 간의 구조 상의 차이를 비교하는 문서 구조 비교 단계; 및
    (c) 구조 변환부에 의해, 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 문서 구조 변환 단계를 포함하는,
    문서 구조 변환 방법.
  2. 제1항에 있어서,
    상기 (a) 단계는:
    (a-1) 상기 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하는 단계;
    (a-2) 상기 ARXML 구조에 포함된 상기 각각의 XML 요소의 XML 속성을 상기 각각의 노드의 속성으로 매핑하는 단계; 및
    (a-3) 상기 노드와 상기 노드의 속성을 기반으로 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 구현하여 구조를 분석하는 단계를 더 포함하는,
    문서 구조 변환 방법.
  3. 제2항에 있어서,
    상기 (b) 단계는:
    (b-1) 제1 비교 유닛에 의해, 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 추가, 상기 XML 요소의 삭제, 상기 XML 속성의 추가, 상기 XML 속성의 삭제 또는 상기 XML 속성의 변경이 있는지 여부를 판단하는 단계;
    (b-2) 제2 비교 유닛에 의해, 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는지 여부를 판단하는 단계; 및
    (b-3) 검토 유닛에 의해, 상기 (b-1) 단계 및 상기 (b-2) 단계에서의 판단 결과와 상기 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 더 포함하는,
    문서 구조 변환 방법.
  4. 제3항에 있어서,
    상기 (b-1) 단계는:
    (b-1-1) XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하는 단계;
    (b-1-2) XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하는 단계;
    (b-1-3) 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하는 단계;
    (b-1-4) 특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하는 단계; 및
    (b-1-5) 특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하는 단계를 더 포함하는,
    문서 구조 변환 방법.
  5. 제3항에 있어서,
    상기 (b-2) 단계는:
    (b-2-1) 상기 XML 요소가 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 요소의 위치 이동이 있는 것으로 판단하는 단계; 및
    (b-2-2) 상기 XML 속성이 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 속성의 위치 이동이 있는 것으로 판단하는 단계를 더 포함하는,
    문서 구조 변환 방법.
  6. 제3항에 있어서,
    상기 (b-3) 단계는:
    (b-3-1) 상기 XML 요소의 추가 또는 상기 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계;
    (b-3-2) 상기 XML 요소의 삭제 또는 상기 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계;
    (b-3-3) 상기 XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하는 단계;
    (b-3-4) 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하는 단계; 및
    (b-3-5) 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, 상기 XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가로 수정하거나, 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하는 단계를 더 포함하는
    문서 구조 변환 방법.
  7. 제3항에 있어서,
    상기 (c) 단계는:
    (c-1) 상기 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하는 단계; 및
    (c-2) 상기 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 상기 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하는 단계를 더 포함하는,
    문서 구조 변환 방법.
  8. XML 스키마를 통해 작성되어 ARXML 구조를 갖는 기준 문서와 원본 문서의 구조를 분석하도록 구성되는 구조 분석부;
    상기 기준 문서와 상기 원본 문서 간의 구조 상의 차이를 비교하도록 구성되는 구조 비교부; 및
    상기 구조 비교부에서의 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하도록 구성되는 구조 변환부를 포함하는,
    문서 구조 변환 시스템.
  9. 제8항에 있어서,
    상기 구조 분석부는:
    상기 ARXML 구조에 포함된 각각의 XML 요소를 각각의 노드로 매핑하고;
    상기 ARXML 구조에 포함된 상기 각각의 XML 요소의 XML 속성을 상기 각각의 노드의 속성으로 매핑하고;
    상기 노드와 상기 노드의 속성을 기반으로 상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 구현하여 구조를 분석하도록 구성되는,
    문서 구조 변환 시스템.
  10. 제9항에 있어서,
    상기 구조 비교부는:
    상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 추가, 상기 XML 요소의 삭제, 상기 XML 속성의 추가, 상기 XML 속성의 삭제 또는 상기 XML 속성의 변경이 있는지 여부를 판단하도록 구성되는 제1 비교 유닛;
    상기 기준 문서와 상기 원본 문서 각각에 대한 그래프 데이터베이스를 비교하여, 상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는지 여부를 판단하도록 구성되는 제2 비교 유닛; 및
    상기 제1 비교 유닛 및 상기 제2 비교 유닛에 의한 판단 결과와 상기 판단 결과를 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성되는 검토 유닛을 더 포함하는,
    문서 구조 변환 시스템.
  11. 제10항에 있어서,
    상기 제1 비교 유닛은:
    XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 요소가 추가된 것으로 판단하고;
    XML 속성이 동일한 XML 요소가 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 요소가 삭제된 것으로 판단하고;
    특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되지 않고 기준 문서의 구조에는 포함된 경우, 상기 XML 속성이 추가된 것으로 판단하고;
    특정 XML 요소에 대하여 데이터 타입과 다중도가 동일한 XML 속성이 원본 문서의 구조에는 포함되고 기준 문서의 구조에는 포함되지 않는 경우, 상기 XML 속성이 삭제된 것으로 판단하고;
    특정 XML 요소에 대한 특정 XML 속성에 대하여 데이터 타입 또는 다중도가 서로 다를 경우, 상기 XML 속성이 변경된 것으로 판단하도록 구성되는,
    문서 구조 변환 시스템.
  12. 제10항에 있어서,
    상기 제2 비교 유닛은:
    상기 XML 요소가 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 요소의 위치 이동이 있는 것으로 판단하고;
    상기 XML 속성이 상기 원본 문서의 구조에서는 삭제되고 상기 기준 문서의 구조에서는 추가된 경우, 상기 XML 속성의 위치 이동이 있는 것으로 판단하도록 구성되는,
    문서 구조 변환 시스템.
  13. 제10항에 있어서,
    상기 검토 유닛은:
    상기 XML 요소의 추가 또는 상기 XML 속성의 추가가 있는 것으로 판단된 경우, 추가된 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하고;
    상기 XML 요소의 삭제 또는 상기 XML 속성의 삭제가 있는 것으로 판단된 경우, 삭제된 원본 문서의 구조가 표시된 사용자 인터페이스를 제공하고;
    상기 XML 속성의 변경이 있는 것으로 판단된 경우, 변경 전의 원본 문서에서의 XML 속성과 변경 후의 기준 문서에서의 XML 속성이 표시된 사용자 인터페이스를 제공하고;
    상기 XML 요소의 위치 이동 또는 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우, 위치 이동이 있기 전의 원본 문서의 구조와 위치 이동이 있은 후의 기준 문서의 구조가 표시된 사용자 인터페이스를 제공하고;
    상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가가 있는 것으로 판단된 경우 이를 XML 요소의 위치 이동으로 수정하거나, 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가가 있는 것으로 판단된 경우 이를 XML 속성의 위치 이동으로 수정하거나, 상기 XML 요소의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 요소의 삭제와 상기 기준 문서에서의 XML 요소의 추가로 수정하거나, 상기 XML 속성의 위치 이동이 있는 것으로 판단된 경우 이를 상기 원본 문서에서의 XML 속성의 삭제와 상기 기준 문서에서의 XML 속성의 추가로 수정할 수 있는 팝업 메뉴가 표시된 사용자 인터페이스를 제공하도록 구성되는,
    문서 구조 변환 시스템.
  14. 제10항에 있어서,
    상기 구조 변환부는:
    상기 비교 결과를 기반으로 원본 문서의 구조를 기준 문서의 구조로 변환하고;
    상기 원본 문서의 구조에 포함되었던 XML 요소 또는 XML 속성이 삭제되거나 위치 이동된 것으로 판단된 경우, 상기 원본 문서의 구조에서는 XML 요소 또는 XML 속성을 삭제하되 삭제된 XML 요소 또는 XML 속성에 포함된 정보는 별도의 데이터베이스에 따로 보관하도록 구성되는,
    문서 구조 변환 시스템.
KR1020210016714A 2021-02-05 2021-02-05 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법 KR20220113030A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210016714A KR20220113030A (ko) 2021-02-05 2021-02-05 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법
PCT/KR2021/001625 WO2022169010A1 (ko) 2021-02-05 2021-02-08 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210016714A KR20220113030A (ko) 2021-02-05 2021-02-05 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20220113030A true KR20220113030A (ko) 2022-08-12

Family

ID=82742180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210016714A KR20220113030A (ko) 2021-02-05 2021-02-05 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20220113030A (ko)
WO (1) WO2022169010A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101487192B1 (ko) 2013-08-19 2015-01-29 인포뱅크 주식회사 서버 장치 및 그의 오토사 관련 서비스 제공 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132906A1 (en) * 2004-10-27 2009-05-21 Justsystems Corporation Document processing device and document processing method
KR100733054B1 (ko) * 2005-07-27 2007-06-27 주식회사 유텍 구조화 문서의 동기화를 이용한 문서변환 시스템 및문서변환 방법
KR100653189B1 (ko) * 2005-12-06 2006-12-04 한국전자통신연구원 엑스엠엘 문서 변환 장치 및 그 방법
KR100762712B1 (ko) * 2005-12-13 2007-10-02 한국과학기술정보연구원 규칙기반의 전자문서 변환방법 및 그 시스템
JP2018036972A (ja) * 2016-09-01 2018-03-08 ポップコーンサー コー リミテッド ファイルフォーマット変換装置及びその変換方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101487192B1 (ko) 2013-08-19 2015-01-29 인포뱅크 주식회사 서버 장치 및 그의 오토사 관련 서비스 제공 방법

Also Published As

Publication number Publication date
WO2022169010A1 (ko) 2022-08-11

Similar Documents

Publication Publication Date Title
US7853553B2 (en) Engine for converting data from a source format to a destination format using user defined mappings
US6785689B1 (en) Consolidation of multiple source content schemas into a single target content schema
US7885983B2 (en) Apparatus and method for producing a virtual database from data sources exhibiting heterogeneous schemas
US7162469B2 (en) Querying an object for properties
US6502239B2 (en) Method and apparatus for round-trip software engineering
US7478111B2 (en) System and method for carrying out legacy application transitions
KR101572299B1 (ko) 시스템의 모델을 변환하는 방법, 컴퓨터 프로그램 및 시스템 모델 변환 장치
US20070192290A1 (en) Difference-based database upgrade
US20120124550A1 (en) Facilitating database application code translation from a first application language to a second application language
US20030088857A1 (en) Method for facilitating application development
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
US20070038686A1 (en) External evaluation processes
US7600186B2 (en) Generating a synonym dictionary representing a mapping of elements in different data models
US6980995B2 (en) Method, computer program product, and system for automatically generating a hierarchial database schema report to facilitate writing application code for accessing hierarchial databases
KR20220113030A (ko) Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법
Nešic et al. Applying multi-level modeling to data integration in product line engineering
US7058651B2 (en) Method, computer program product, and system for automatic class generation with simultaneous customization and interchange capability
US11461217B2 (en) Transferring data from a source complex variable to a target complex variable
Hardt et al. Integrating ECUs in vehicles-requirements engineering in series development
KR100428710B1 (ko) 모델링 객체 조립을 통한 모델링 시스템 및 그 방법
US20110137959A1 (en) Representing relational schema information using generic meta schemas
US11928096B2 (en) Systems and methods using generic database search models
US11270038B2 (en) Redundancy detection with function models
SRAI et al. INTEGRATION OF THE MDA APPROACH IN DOCUMENT-ORIENTED NOSQL DATABASES, GENERATION OF A PSM MODEL FROM A PIM MODEL
Pardillo et al. Towards the Automatic Generation of Analytical End-User Tools Metadata for Data Warehouses

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application