텔레매틱스(Telematics)
텔레커뮤니케이션(telecommunication)과 인포매틱스(informatics)의 합성어로, 자동차 안에서 이메일을 주고받고, 인터넷을 통해 각종 정보도 검색할 수 있는 오토(auto) PC를 이용한다는 점에서 '오토모티브 텔레매틱스'라고도 부른다.
운전자가 무선 네트워크를 통해 차량을 원격 진단하고, 무선모뎀을 장착한 오토 PC로 교통 및 생활 정보, 긴급구난 등 각종 정보를 이용할 수 있으며, 사무실과 친구들에게 전화 메시지를 전할 수 있음은 물론, 음성 이메일을 주고받을 수도 있고, 오디오북을 다운받을 수도 있다.
미국의 제너럴 모터스(GM)와 모토롤라의 합작회사인 온스타(On-Star)가 이 분야의 선두주자로, 이미 위성항법시스템(GPS:global positioning system) 위성을 이용해 서비스를 제공하고 있으며, 포드-퀄컴, 벤츠-도이치텔레콤 등 자동차 메이커와 이동통신 전문업체 간의 합작이 활발하게 이루어지고 있다.
한국도 텔레메틱스 서비스 개발을 위해 자동차 회사와 이동통신업체 간의 협력이 활발해 현대·기아자동차는 LG텔레콤과 무선차량 정보서비스 개발을 위한 전략적 제휴를 체결하였고, 대우자동차는 한국통신프리텔과 손잡고 이동통신과 위치추적기술을 접목한 드림넷 서비스 제휴를 체결하였다.
이처럼 텔레메틱스 서비스는 자동차 메이커와 이동통신업체 간의 합작 형태로 이루어지는 것이 일반적이다. 서비스 형태에 따라 뉴스수신, 주식투자, 전자상거래, 금융거래, 호텔예약, 팩시밀리 송수신, 게임, 차량 사고 및 도난 등 다양한 서비스가 가능하며, 특히 교통사고가 났을 경우 GPS위성을 이용해 자동적으로 사고차량의 위치를 추적, 가장 근접한 119구조대에 전달해 줌으로써 구난 활동에 용이하다는 장점이 있다.
------------- 살라미(salami)'전술 ------------------
하나의 과제를 여러 단계별로 세분화해 하나씩 해결해 나가는 협상전술의 한 방법으로, 얇게 썰어 먹는 이탈리아 소시지 '살라미(salami)'에서 따온 말
협상 테이블에서 한번에 목표를 관철시키는 것이 아니라 문제를 부분별로 세분화해 쟁점화함으로써 차례로 각각에 대한 대가를 받아냄으로써 이익을 극대화하는 전술을 말한다. 북한이 핵협상 단계를 최대한 잘게 나누어 하나씩 단계별로 이슈화하고 이를 빌미 삼아 미국 등 국제사회로부터 경제적 보상을 최대로 얻어내기 위해 사용한 전술이다.
------------- 버그 BUG ------------
PC(개인용 컴퓨터)나 스마트폰, 비디오게임기와 같은 컴퓨터 기기를 통해 각종 소프트웨어를 이용하는 과정에서 이유 없이 오류 메시지가 출력되거나 기기가 오작동하는 경우를 종종 볼 수 있다. 이런 현상은 단순한 기기 고장 때문에 일어나기도 하지만 이보다는 사용하는 하드웨어나 소프트웨어 자체의 결함에 의한 경우도 많다. 해당 하드웨어와 소프트웨어를 구성하고 있는 프로그램의 내용 중에 잘못된 코드가 들어있다는 의미다. 이렇게 프로그램 상의 결함에 의해 컴퓨터 오류나 오작동이 일어나는 현상을
버그(Bug)라고 한다. 버그는 일반적으로는 소프트웨어의 결함을 지칭하는 경우가 많지만, 본래는 하드웨어의 경우도 포함한다.
버그는 프로그램 상의 결함에 의해 컴퓨터 오류나 오작동이 일어나는 현상을 말한다. 1990년대 말 전세계적인 주목을 받았던 밀레니엄 버그 역시 버그의 예다.
나방 한 마리 때문에 일어난 최초의 ‘버그’ 본래 ‘벌레’라는 뜻을 가진 버그라는 단어가 컴퓨터 용어로 자리잡게 된 것은 1947년부터라고 알려져 있다.
당시 초창기 컴퓨터 개발자 중 한명인 그레이스 하퍼(Grace Murray Hopper, 1906~1992)가 운용 중이던 ‘하버드 마크 II(Harvard Mark II)’ 컴퓨터의 고장 원인을 조사하던 중, 회로 사이에 나방 한 마리가 끼어있는 것을 발견했다. 이 벌레(Bug) 한 마리 때문에 접촉불량이 일어나 마크 II가 고장 난 것이다. 이후부터 컴퓨터에 어떠한 문제가 생길 경우, 그것을 버그라고 부르게 되었다고 한다. 어쨌건 마크 II에서 발견된 나방은 공식적으로 보고된 최초의 컴퓨터 ‘버그’로, 해당 보고서와 나방은 지금도 미국 스미스소니언 박물관에 보관, 전시되어있다.
1947년에 최초로 공식적인 ‘버그’를 일으킨 나방은 스미스소니언 박물관에 보관중이다
다만, 기계의 오류를 버그라고 표현하는 관행은 이보다 훨씬 오래되었다는 주장도 있다. 미국의 발명가인 토머스 에디슨(Thomas Alva Edison, 1847~1931)이 1878년에 친구에게 보낸 편지의 내용 중에 기계의 오류를 ‘버그’라고 표현한 바 있어, 버그가 당시 기술자들 사이에서 널리 쓰이던 은어 중 하나가 아니었는가 추측하기도 한다.
단순한 해프닝부터 재앙 수준까지, 다양한 버그
버그가 일어나는 원인은 다양하지만 프로그램의 설계 자체가 잘못되었거나 프로그램 코드를 작성하던 도중의 실수로 인한 경우가 대부분이다. 설계 상의 오류라면 프로그램이 작동 중에 무한 루프 상태에 빠져 결과물을 출력하지 못하거나 해당 컴퓨터의 한계 능력을 넘는 연산을 요구해 컴퓨터가 과부하를 일으켜 동작이 정지되는 경우가 종종 발생한다. 이에 비해 코드 작성 중의 실수는 존재하지 않는 프로그램을 참조하도록 하는 구문을 집어넣거나 수치를 잘못 입력하는 사례가 대표적인데, 이 경우에는 오류 메시지가 출력되거나 의도하지 않은 엉뚱한 결과물이 출력되곤 한다.
일반 사용자가 가장 흔히 접할 수 있는 버그는 컴퓨터 게임에서 일어나는 오류 현상이다. 예를 들어 1991년에 출시되어 큰 인기를 끈 대전격투게임인 [스트리트 파이터 II(Street Fighter II)]의 경우, 등장 캐릭터 중 한 명인 ‘가일’로 플레이 할 때 특정 방향키와 버튼을 누르면 상대의 공격에 전혀 피해를 입지 않게 되거나, 상대방의 상태와 상관 없이 무조건 던지기 공격을 가할 수 있게 되는 등의 버그가 발생해 게이머들 사이에서 논란이 되곤 했다.
격투게임 [스트리트파이터 II]의 ‘가일’은 유난히 많은 버그를 가진 것으로 유명했다.
펜티엄 CPU(1993년)의 부동 소수점 연산 버그 사건은 인텔에 큰 손실을 끼쳤다.
다만, 이런 오락용 프로그램에서 일어나는 버그는 단순히 웃고 넘어가는 해프닝 수준에 그치는 경우가 많은 반면, 일부 프로그램의 버그는 해당 기업, 혹은 사회 전반에 큰 피해를 끼치는 경우도 있다. 대표적인 예가 1993년에 인텔에서 출시한 펜티엄(Pentium) CPU(중앙처리장치)의 버그 문제다. 인텔의 야심작이었던 펜티엄 CPU는 출시와 동시에 폭발적인 인기를 끌었으나 출시 1년 후, 부동 소수점 연산 과정에서 오류를 일으킬 수 있다는 것이 확인되었다. 이 때문에 인텔은 버그가 있는 펜티엄 CPU의 전체를 리콜(recall) 해야 했고, 총 4억 달러의 이상의 손해를 봤다.
이와 함께, 1990년대 말에는 밀레니엄 버그(millenium bug), 이른바 Y2K 문제가 전 세계적인 주목을 낳으며 심각한 우려를 자아냈다. 이는 초창기 컴퓨터 프로그램에서 메모리 공간을 아끼기 위해 연도의 표시를 ‘1999’와 같은 4자리가 아닌 ‘99’와 같이 2자리로 입력, 표기하는 것이 관행처럼 자리잡았기 때문이었다. 이러한 상태에서 만약 2000년이 되어 해당 컴퓨터의 연도가 ‘00’으로 표기될 경우, 프로그램에서는 이를 1900년으로 잘못 인식, 해당 컴퓨터로 통제되는 발전소가 정지하거나 의료 기기가 오작동하는 등의 심각한 문제가 발생할 수 있다고 지적되곤 했다. 이 때문에 1990년대 말에는 전 세계적으로 PC 및 운영체제, 응용 프로그램 등의 교체 및 수정 작업을 하는 붐이 일어나기도 했다. Y2K 문제에 대한 우려는 컸으나, 다행히도 2000년 1월 1일이 된 후에도 예상한 만큼의 큰 문제는 일어나지 않았다.
알파 버전, 베타 버전 거치며 이루어지는 ‘디버깅’ 작업
어떤 프로그램을 막론하고, 이제 막 만들어진 프로그램은 대부분 버그의 소지를 가지고 있다. 때문에 만들어진 프로그램을 테스트하고 버그를 고치는 FONT color=#000000>디버깅(Debugging) 작업이 필수적이다. 실제로 대부분의 개발사들은 프로그램 제작 기간과 맞먹는, 혹은 그 이상의 기간을 디버깅 작업에 소요한다.
기능적으로 아직 완성이 덜 되었고 디버깅 과정도 거의 이루어지지 않은 프로그램을 ‘프리 알파(Pre-Alpha)’ 버전이라고 한다. 여기에서 기능이 거의 완성되어 개발사 내부에서 기능 테스트 및 디버깅 작업을 거치고 있는 프로그램은 ‘알파(Alpha)’ 버전이라 불리게 된다.
그리고 알파 버전이 개발사 내부의 테스트 과정을 마치고 외부 사용자들에게 버그 및 각종 기능에 관한 의견을 받을 목적으로 배포되는 프로그램을 ‘베타(Beta)’ 버전이라고 한다. 베타 버전 중에는 개발사에서 허용한 소수의 인원들에게만 테스트 권한을 주는 ‘클로즈드 베타(Closed Beta)’ 버전과 아무나 테스트에 참여할 수 있는 ‘오픈 베타(Open Beta)’ 버전으로 나뉜다. 클로즈드 베타를 시작해 오픈 베타를 거치는 경우가 많지만, 프로그램의 성격이나 개발사의 사정에 의해 오픈 베타를 하지 않는 경우도 많다. 베타 버전의 경우, 기능적으로는 완성판과 큰 차이가 없기 때문에 베타 버전이 외부로 유출되면 완성판의 판매에 영향을 미치기도 하기 때문이다.
그리고 베타 테스트가 끝나면 출시 직전 버전인 ‘RC(Release candidate: 출시 후보)’ 버전이 배포되어 최종 점검을 받게 되며, RC 버전이 별 이상이 없다고 판단되면 첫 번째 정식 출시 제품인 ‘RTM(Release to manufacture)’ 버전이 나오게 된다. RTM 버전은 완성판과 같은 의미를 갖지만, RTM 버전 역시 출시 후에 예상하지 못했던 버그가 발견되곤 한다. 이러한 이유로 상당수 개발사에서는 얼마 후에 RTM 버전에서 디버깅 작업을 더한 ‘GA(General Availability)’ 버전을 추가로 내놓기도 한다. 이 때문에 GA 버전을 ‘최종 안정화’ 버전이라 부르기도 한다.
2012년 4월 현재 테스트중인 ‘윈도우 8’의 베타 버전. 바탕화면에 ‘베타’ 품종 물고기가 그려져 있다.
버그가 없는 프로그램은 존재하지 않는다?
모든 컴퓨터용 하드웨어나 소프트웨어는 모두 사람이 설계하는 것인 만큼, 버그가 전혀 없는 완벽한 제품은 없다고 봐도 무방하다. 알파와 베타 테스트 과정을 거쳐 출시된 제품이라도 버그가 발견되는 경우는 대단히 많다. 프로그래머들 사이에서도 “버그가 없다고 알려진 프로그램들도 실은 내부적으로는 상당 수의 버그가 있으며, 단지 발견이 되지 않았을 뿐”이라는 이야기가 정설처럼 돌 정도다.
몇몇 개발사 중에는 제품의 출시 일을 앞당기기 위해 디버깅을 제대로 마치지 않은 알파 버전이나 베타 버전 수준의 제품을 그대로 출시하는 경우도 있어 소비자들의 지탄을 받기도 한다. 버그로 인해 사용자들이 심각한 피해를 보는 경우도 종종 발생하는 만큼, 개발사 및 프로그래머들은 제품을 출시하기 전에 철저한 디버깅으로 버그 발생을 최소화할 의무가 있다.
출처 : 네이버캐스트 |