COBOL을 어떻게 JAVA와 같은 언어로 자동으로 바꾸는가 ?

우리는 구글의 언어변환을 사용한 경험을 가지고 있을 것이다. 구글의 언어변환은 매우 간단한 기술을 사용하고 있다. 즉, Line by Line 변환 기술로 한 문장을 자동으로 변환하는 방식을 사용하고 있기에 변환결과가 매우 어색하고 사람이 보완을 하여야 문맥이 통하는 방식인데 반하여 메타마이닝의 프로그램언어 변환 기술은 구글의 언어변환 방식과는 전혀 다른 방식을 사용하고 있다.

즉, 구글은 한 문장을 변환함으로 신속한 반면에 불완전한 번역을 하는 반면에 메타마이닝의 자동화 변환툴은 해당 프로그램 전체를 이해하고 이를 분해(Mining)하고 새로운 구조(Framework)에 맞게 재배치(deploy)하는 방식을 취함으로 전체적인 문맥의 이해도가 매우 높고 새로운 구조(framework)에 재배치 하기 때문에 오래된 프로그램언어 즉 COBOL과 같은 언어를 가장 최신의 프로그램언어인 JAVA, VB.net과 같은 언어로 매우 세련되게 자동으로 변환하기 때문에 결과물에 대하여 사용자가 매우 만족하는 결과물을 제공하고 있다는 점에서 구글의 변환기술과 다르다.

그러면 COBOL언어를 JAVA언어로 변환하는 과정을 설명하기로 하자.

첫째, COBOL언어를 자동으로 분해하여 작은 입자(Meta)로 만든다.

COBOL프로그램 소스코드를 한 문장씩 읽어(Scanning) 이를 한 단어씩 끊어(token)하여 이를 메타데이터로 전환을 하게 된다. 작은 메타데이터는 두 단계의 분해 과정(Parsing)을 거치게 되는데 문법적 분해(Lexical Parsing)와 의미론적 분해(semantic parsing)를 거치면서 프로그램언어가 가진 문법적 오류와 구조 그리고 이들이 가진 속성과 연계성을 통해 완전한 입자인 메타화로 데이터가 바뀌어 이를 메타저장소(Meta repository)에 저장하게 된가. 저장된 메타데이터는 다양한 자동화문서와 분석정보 그리고 새로운 언어로 바꾸는 정보등 다양한 형태로 사용되는 기업의 소중한 무형자산으로 관리가 가능하게 된다.

둘째, 분해된 메타(AS-IS)정보를 변환하고자 하는 프로그램언어(TO-BE)로 전환한다.

분해되어 저장된 정보는 사용자가 바꾸고자 하는 언어(TO-BE)로 전환하는 작업을 하게 되는데 이때 가장 중요한 것은 “Rule repository”를 생성하는 일이다. 즉, 프로그램언어의 AS-IS(COBOL..)의 룰(Rule)과 TO-BE(JAVA, VB.net..)의 Rule과 매칭하여 이를 외부에서 사용자가 직접 등록하는 시스템을 작성하게 된다. 물론 대부분 프로그램언어는 이미 메타마이닝의 룰저장소에 등록이 되어 있지만 추가, 수정, 보완 등에 의해 등록을 하게 되는데 이때 사용자는 “ABL, Application Building Language”라는 메타마이닝에서 직접 만든 간이언어를 통해 등록하게 된다. 대부분 ABL을 사용하는데 교육은 10시간 이내면 가능한 수준의 언어를 배우게 된다.

이를 등록하게 되면 어떠한 언어라도 체계성을 가진 문법이나 문장도 자동으로 변환하게 된다. 물론 2~3%는 자동으로 변환이 안되는 시스템적 오류나, 차이 그리고 지원이 안되는 경우를 제외하고는 100% 자동으로 변환이 가능하게 된다.

셋째, 룰저장소에 AS-IS와 TO-BE 룰을 등록하고 자동변환 버튼을 클릭한다.

이때 자동화솔루션은 분해되어 이미 저장된 메타저장소의 메타데이터를 읽혀드리고 이를 인식하여 사용자 혹은 메타마이닝에서 등록된 룰저장소의 정보와 매칭하여 이를 TO-BE 시스템에 맞게(Framework) 자동으로 변환하여 준다.

이럴 경우에 COBOL과 같은 비구조적 언어라도 이미 TO-BE시스템의 구조(Framework)가 구조적인 형태로 만들어진 상태에 메타데이터와 룰정보를 활용하여 변환정보를 재배치하기 때문에 사용자가 받아보는 결과물은 JAVA, VB.net과 같은 세련된 구조의 소스코드를 받아들게 된다.

이미 메타마이닝의 기술진은 이 기술에 투입된 특허가 세가지가 사용되어지고 있는데, 분해기술, 매칭기술 그리고 변환기술 3가지의 특허와 이론적인 논문 그리고 박사논문 3편과 석사논문 5편이 작성된 바 있다.

이렇게 이론적으로 만들어진 제품이 메타브릿지(MetaBridge)로 낡은시스템(AS-IS)을 현대화된 시스템(TO-BE)으로 자동으로 업그레이된 결과물로 자동변환 실제 적용사례가 약 200사이트 넘게 보유하고 있으며 이미 일본 중국에서도 5사이트 이상의 성공사례를 보유하고 있다.

많은 관심을 부탁드린다.