자메이카를 사용하였음
그 때도 논문에서 속도저하 이슈에 대해서 다음과 같이 극복했다고 설명함
------------------------------------------
임무 컴퓨터에서 실행 파일 생성을 위한 OFP
빌드는 다음과 같은 과정을 거친다. Fig. 5와 같이 JVM인 Jamaica VM을 기반으로 자바로 구현된 MFD OFP 소스 파일들은 Jamaica Builder에 의해 C 소스로 변경된다. 이후 링커에 의해 Jamaica VM과 C 컴파일러를 통해 생성된 오브젝트 파일의 링크이후 실행 가능한 이미지가 생성된다(4).
이러한 빌드 구조는 상대적으로 수행속도가 느린 인터프리터(Interpreter)의 방식을 개선한 것으로서, Fig. 6과 같이 PC상에서 OFP를 개발할 경우 자바 가상 머신 기반의 자바 바이트 코드를 이용한 시뮬레이터 (PC BENCH)를 개발하여 시뮬레이션을 수행한다.
하지만 바이트코드에 대하여 인터프리터하면 시스템에 대한 이식성은 뛰어나지만 성능 저하의 문제가 발생하므로, 실제 임베디드 시스템에 로드 시 에는 바이트 코드 형태로 되어있는 자바 어플리케이션을 수행되기 전에 미리 컴파일(Cross Compile)해서 최적화된 바이너리 코드를 생성하는 AOTC(Ahead Of Time Compile) 형태의 기술을 사용함으로써 수행속도에서 최대 성능을 낼 수 있도록 하였다.
AOTC 의 핵심인 자바 바이트 코드를 기계어 코드로 바꾸는 방식에는 직접 기계어 코드를 생성하는 방식과 C코드를 생성하는 방식이 있는데, 본 논문에서는 바이트 코드를 C코드로 변환한 후 C컴파일러로 컴파일 하는 방식이 사용 되었다(5).
실시간 임베디드 시스템용 자바 가상머신을 이용한 다기능 시현 비행운용 프로그램 및 미들
웨어 설계 및 구현
Design and Implementation of Multi-Function Display Operational Flight Program and Middleware Using Real-Time and
Embedded System Java Virtual Machine
저자
(Authors)
원현권, 정재훈, 최경식, 김종필, 김인규
아마 오리지널 T-50의 MC는 C로 되있는데 국산화는 굳이 자바로 만든거 보면 C개발인력이 모자라서 그런가 아닌가 싶음.
- dc official App
이런거 보면 미국이나 러시아나 영국이나 프랑스나 자국산 만든 나라들 위엄(?)이 새삼 느껴진다
진짜 인력난인가...
이렇다는 얘기는 각종 장비 소프트웨어개발은 c/c++로하고 전체체계통합소프트웨어는 java로해서 무슨 장비 어떤os를 써도 이 체계통합소프트웨어가 돌아가게 만들겠다는 비장한 각오네ㅎ 이거 그대로 kfx나 이 이후에 나올 모든 한국제작 전투기에 쓸 놈이네 설계사상은 맘에 든다ㅋㅋㅋ 미들웨어 어디거냐 정말 잘 만든 미들웨어여야겠는데 이거ㅋㅋㅋ
인력난 때문이 아니라 우리나라개발 전투기에는 이 체계통합소프트웨어 가져다 쓸거란 의지의 표명이네ㅋㅋㅋ
저게 KFX용은 아니고 최근 논문 보니까 미들웨어 C++로 KAI에서 새로 개발함. - dc App
나도 아까 니가 올린 AESA개발 글 보고 c++쓸 줄 알았는데 만약 저 논문대로면 저대로 kfx에도 올라갈 것 같네. 왜냐면 굳이 java로 만들 이유가 없는데 미들웨어 끼워넣고 c컴파일 거쳐가며 OFP구현한다는 건 우리나라제작 어떤 전투기(공격형 헬기도 포함)에서도 쓰겠다는 의지가 보여서 그래. 나중에 까봐야 알겠지만 이거 kfx에도 실린다에 500원!
미들웨어는 그럴수밖에 없는 게 java 인터페이스 띄우기 전에 c로 컴파일 해줘야 하니까. 그러니까 장비나 각종 부품들은 c/c++로 개발하고 그걸 java로 띄우기 위해 미들웨어에서 c/c++로 컴파일해서 보내준다는 거임. 이렇게 해야 kfx-a1이나 fa-50a1 나와도 그냥 넣으면 됨. 그래도 돌아감. ㅇㅇ(물론 미들웨어는 좀 건드려야하겠지만)
ㅇㅎ그렇구만 - dc App
체계통합PGM까지도 C계열로 짜면 되는거 아님? 굳이 자바로 한건? - dc App
C는 절차 지향이고 자바는 객체지향이라서.
C++이 객체지향아님? - dc App
객체지향때문은 아니고 범용성/이식성 때문인듯. 객체지향에 방점을 두기엔 자바를 체계통합메인인터페이스언어로둔 건 너무 약함. 그게 맞다면 미들웨어에 c/c++컴파일러가 들어오면 안되고 그냥 자바머신만 띄워야 맞지. 범용성/이식성 아니면 설명할 방법이 없음.
이게 진짜면 kfx용 체계통합소프트웨어가 이걸로 들어간다는 가정하에 개발기간, 비용, 인력까지 다 단축할 수 있는데 T-50에 실려서 실전같은 훈련을 얼마나 했을지 모르겠네. 거기서 나온 데이터값으로 계속 보정해줬어야 말이 되는데.