제 6 장

적합성과 호환성의 검증

6.1 서론

 

  최근의 정보화 기반의 공학 시스템은 제품 데이터를 공유하는 다수의 구성 요소로 이루어져 있다. 이 구성 요소는 일반적으로 소프트웨어 엔티티이며 설계, 해석, 제조 및 데이터 관리 등의 특정 기능을 실행하도록 설계되어 있다. 어떤 하나의 구성 요소를 서로 다른 상용 시스템에서 구현되어진다는 것은, 사용자에 의해 만들어진 기능적 요구사항을 만족하는 것을 의미한다. 사용자는 데이터를 공유하거나 교환할 수 있는 능력에 따라 특정 어플리케이션의 특징과 기능에 가중치를 부여해야만 한다.

 

  데이터를 공유하기 위해서는 시스템내의 구성 요소가 공통의 인터페이스 스펙(specification)이나 표준에 준해야 한다. 기능적으로 동일한 응용 프로그램 구현에 대해 경쟁적으로 이루지고 있다는 사실과 공통의 인터페이스에를 고수해야 한다는 사실이 서로 상충되면서 난관에 봉착하고 있다. 어플리케이션이 경쟁에서 살아남기 위해서는 차별화 되어야 하는 동시에 데이터를 공유하기 위해서는 동일해야 한다. 벤더는 자신의 제품을 차별화하기 위해서 제품에 특별한 기능을 부여22)하는 경우가 많다. 표준 개발자는 까다롭고 세밀한 적합성을 정의함으로서 이러한 점을 보충하고 있다.  

 

  어플리케이션이 일반적으로 2개의 측면 가운데 하나에서 부적합성이 발견된다. 첫 번째는 특정 성질이 표준으로 정의된 동작에 적합하지 않을 경우, 혹은 그 특성이 구현된 모듈에 존재하지 않을 경우이다. 벤더는 스펙(specification)을 잘못 해석하거나 혹은 구현된 모듈의 동작을 전면적으로 검증할 수 없기 때문에 결과적으로 표준에 부적합할 가능성이 있다. 두 번째는 어플리케이션이 표준에 나타나 있지 않은 기능이나 특징을 허용하게 하기 위해, 인터페이스 스펙을 회피 했을 경우에 발생한다. 한 예로서, 벤터가 표준에 포함되어 있는 인터페이스의 속성보다 더 많은 속성을 정의 했을 경우에 이러한 부적합성이 발생하게 된다. 어떠한 경우라도 부적합성으로 인해 호환성 및 이식성에 문제가 생기면 개발 및 유지비용에 중대한 영향을 끼치게 된다.   

 

  어플리케이션 벤더는 자기 제품을 소개 할 경우에 「컴플라이언트」라는 용어를 사용하는 경우가 있다. 이것은 일반적으로 벤더가 표준을 충족시키면서 구현을 했고, 제품이 표준의 요구 조건을 만족시키는지에 대한 시험을 수행했음을 의미한다. 적합성 시험은 표준의 적합성을 검증하는 정식 수단이며 시험 방법과 요건이 제품을 개발하는 벤더 이외의 조직의 관리 하에 있다는 것을 나타낸다.  

 

  구현된 모듈들에 대한 적합성 시험은 표준을 준수했다는 벤더들의 주장을 입증하기 위한 프레임웍을 제공하기 위해, 시험 요구사항과 시험 방법들을 개발하기 위한 공식적인 접근을 의미한다. 공식적인 적합성 시험을 개발하기 위해 다양한 경로를 모색해 왔다. 가장 포괄적인 방법은 표준 작성과 관련하여 적합성 시험 요건을 개발하는 방법이다. 이 방법에서 표준 조직 내의 작업 그룹은 표준과 관련된 적합성 시험 방법의 개발을 위해 결성되었다. 전문 지식을 활용하여 공개 포럼에서 시험 요건에 관한 애매함을 해결할 수 있다면 표준 단체가 관리하는 간결하고 정확한 적합 시험 표준을 얻을 수 있다. ISO l0303 이외에도, 과거에 이 방법을 실행했던 예로는 : ANSI(ANSI)X3T9.5 파이버 분산 데이터 인터페이스(FDDI) 적합성 시험 작업 그룹, IEEE89.6 Futurebus+ 적합성 시험 작업 그룹 및 IEEE1003.3 POSIX 적합성 시험 작업 그룹[143] 등이 있다. 위의 시험 프로그램은 l0년이 지난 지금도 활용되고 있으며 이와 같은 활동을 통하여 바람직한 성과를 많이 얻을 수 있었다.

 

  ISO 10303의 개발 초기에는 STEP 제품의 시판을 위해 노력한 NIST, CALS, 영국의 CADDETC23) 및 장래의 주요한 STEP 유저는 적합성 및 조작 공통성 시험에 적합한 방법과 툴을 개발하기 위해 활동을 개시했다.  NIST는 시험 제품의 데이터 교환 표준에 관여한 적이 있다. l980년대 초, NIST는 CALS 프로그램으로부터 IGES 부분 집합의 시험 방법을 개발하는 데에 필요한 자금을 제공받았다. CALS는 먼저, 국립 PDES 시험대 활동의 일환으로서 PDES,Inc. CDIMS, 그 다음으로 ISO 10303의 초기의 버전에 대해서 비준 시험을 실행하는 NIST의 업무에 자금 제공을 했다.  I990년대 초, Navy Mantech 프로그램은 NlST 및 산업 NIST(ITI) 미시건의 합동 사업에 자금을 제공하고 적합성 시험 방법의 개발에 협력하였다. CALS 자금도 여기에 투입되었다. 이후 몇 년간 NIST는 상무성의 자금을 활용하여 시험 사업을 지속적으로 지원했다. 표준에 관한 경험을 통해 적합성이 있어도 정합성이 없는 STEP 구현 모듈의 개발을 막기 위해서는 STEP의 완결하고도 명확한 적합성 요건을 정의해야한다는 것이 명확해졌다. ISO 9646[144]와 같은 과거의 표준을 통해 얻은 교훈은, 적합성 시험의 요구사항에 반영되어야 한다는 점과, 시험 방법론은 표준이 공개되어지는 시점에서 유효해야만 한다는 점이다. 이번 장에서는 시험의 목적, 다양한 시험의 종류, 시험의 장점과 ISO 10303 AP에 대한 적합성 시험 방법론의 개발에 대한 내용을 기술하였다.  

6.2 시험

 

  복잡한 표준을 기준으로 제품을 개발하고 통합하는 것은 매우 까다롭다. 통합 프로세스에 가속도를 높여 줄 수 있는 효과적인 방법 가운데에 하나는 적합성 시험이다. 어떤 하나의 제품에 대해 상호 동의한 레퍼런스를 이용해서 시험을 하는 것은 그 제품이 같은 표준의 범주 내에서 개발되어진 제품들과 상호 작용을 할 수 있는 지를 결정할 수 있게 도와준다. 다양한 형태의 시험 방법론이 제품의 개발과 전개 과정에서 사용되어 진다.

  

  타당성 시험 - 제품이 개발되어지는 과정에서 기반이 되는 스펙에 대한 평가.  타당성 시험은 표준에 대해서 이용되는 데이터 모델의 완전성, 정확성 및 일관성 등의 평가가 이루어진다. 

 

  적합성 시험 - 그 제품의 구현 모듈이 어느 정도까지 적합한지를 판단하기 위해 표준에서 요구하는 특정한 특성의 존재의 유무에 대한 후보 제품의 시험.

 

  호환성 시험 - 어떤 제품에 대해, 같은 스펙으로 개발되어진 다른 제품과 정보를 교환하고 공유할 수 있는지 결정하는 평가  

 

  성능 시험 - 다양한 조건하에서 단위 시간당 처리량 및 응답 시간과 같은 제품 성능의 평가.  

 

  강건성 시험 - 데이터 크기가 엄청나게 크거나, 오류를 포함하고 있는 데이터와 같이 처리하기 어려운 데이터를 입력 받았을 경우 얼마나 잘 수행될 수 있는지를 결정하는 평가.

 

  타당성 시험 -  어떤 제품이 사전에 이미 정의된 요구조건을 만족시키는지 결정하는 과정. 타당성 시험은  제품이 유저 요건을 충족시킬 수 있는지를 증명하는 다른 종류의 시험과의 조합이다. 

 

  일반적으로 시스템 통합을 달성하기 위한 2가지 주요한 접근 방법은 적합성 시험과 호환성 시험이다.  

6.3 적합성 시험과 호환성 시험

 

  적합성이란 지정된 요건을 충족시키는 것을 의미한다. 적합성 시험(그림 6-1)에서 구현된 모듈은 지정된 시험 항목에 의해 시험되고 지원되는 옵션에 관해서, 지정 요건을 충족시키고 있는가를 검사한다. 적합성을 만족시키기 위한 조건들은 궁극적으로 호환성을 지원하는데 필요한 것들이 되어야 한다. 따라서 적합성 시험은 높은 수준의 신뢰도를 제공하지만, 반드시 그 시스템이 호환성을 갖고 있다는 것은 보장하지 못한다. 적합성 시험은 ISO 10303을 구현 한 제품이 호환성이 있는 지 여부를 판단할 수 있는 기준을 제공할 뿐이다.

 

  호환한다는 것은 함께 동작하는 것이다.  STEP의 문맥에서는 동일 AP를 구현하고 있는 두 시스템 간(상이한 시스템)의 정보를 교환하고 이해한다는 의미를 하고 있다. 호환성 시험(그림 6-2)은 상이한 두개의 구현 모듈이 효율적으로 기능하고 있는지를 판단하기 위한 시험이다.  호환성 시험의 이점은 적은 시험의 항목으로 진행되며 그 시험의 결과는 추론된 간접적인 것이 아니라 직접적인 것이다. 성공적인 적합성 시험이 이루어졌다는 것은 2개의 구현된 모듈의 비슷하게 상호 구동이 됐다는 의미인 반면, 성공적인 호환성 시험이 이루어졌다는 것은 구현된 모듈이 상호 구동이 가능하게 될 것이라는 의미가 된다. 이러한 의미에서, 유저의 관점에서 볼 때 호환성 시험이 적합성 시험보다 유리하다 : 그러나 하나의 구현된 모듈이 다른 구현된 모듈에서 제대로 작동하는지 판단하기 위해 시험을 할 때, 다소 광범위하게 한번 시험을 하는 것과 단순한 방법으로 여러 번 시험을 하는 것과는 서로 상충된 결과가 나타난다.  N개의 구현된 모듈이 주어질 경우, 각각의 구현된 모듈은 입력(후 처리)에서 1회, 출력(전 처리)에서 1회 시험되기 때문에 2*N회의 적합성 시험이 필요하게 된다. 동일 N개의 구현 모듈에서 N2 호환성 시험이 요구된다(그림 6-3).  시험할 시스템의 수가 증가해 감에 따라 필요한 시험의 수도 방대해지기 때문에 호환성 시험은 점차 비실용적으로 된다. 이 때문에 호환성을 보증하는 시험의 실행 수에 비례하여 비용이 증가한다.

 

  적합성 시험은 호환성 시험에 비해 큰 이점을 가지고 있다. 적합성 시험은 무엇보다도 표준에 대해 엄중한 주위를 기울이고 있다.  이것은 적합성 시험이 호환성 시험보다, 구현된 모듈에서 표준의 모든 요건을 만족시키고 있음을 증명하는 것이다. 전기 회로에 비유한다면 적합성 시험은 공유되는 모든 표준에 기반을 둔 구현 모듈에 대한 참조, 즉 접지점의 역할을 하고 있다. 적합성 시험을 하지 않고 호환성 시험을 한다면 페어와이즈 구현 모듈 드리프트의 결과를 낳는다 : 다소 어긋나는 동작을 하는 다른 구현 모듈에 대해 보상을 하기 위해, 구현된 모듈은 어떤 방법으로든 재구성을 하면서 끝내게 한다.  또한 적합성 시험은 문제가 발생한 위치도 간단하게 파악한다. 시험되는 구현 모듈이 1개밖에 없기 때문에 시험에 합격하지 않을 경우 어느 시스템에 결함이 있는지가 일목요연하게 알 수 있다.  

 

  이와는 반대로, 호환성 시험은 적합성 시험에 없는 장점을 가지고 있다. 호환성 시험은 표준의 요건에 제약을 받지 않기 때문에 관심이 있는 다른 요소에 관심을 둘 수 있다.  예를 들면 표준에 표현되어 있지 않은 호환성을 저해하는 요소에 대해 초점을 맞추기 위해 사용된다. 한 예로서, CAD 시스템의 정밀도가 공차 스펙에 대한 서로 다른 그래뉼얼리티를 사용하는 CAD 벤더들에 따라 서로 맞지 않는 경우가 있다.  또 다른 예로서는, 서로 다른 CAD 방법론이 있다. 호환성 시험을 할 경우에, 사용자는 표준에서 명시하고 있지 않고, 표준과는 독립적으로 존재하는 모델링 방법론 영역에 관심을 두고 있을 수 있다. 관심 영역에 특정 지어진 시험 데이터가 사용되어 진다. 이것은 시스템들이 실제 생산에 사용되어지는 동안에 정보를 교환할 수 있음을 추가적으로 확신시켜 준다.

 

  표 6-1은 각 방법의 대상 범위를 정리한 것이다.  두 시험을 모두 실시하는 것이 바람직하겠으나 여기에는 비용 상의 문제가 있다. 하나의 방법은 두 시험의 장점을 조합한다.  이와 같은 방법은 적합성 시험에서 사용되는 규범 및 툴의 일부를 호환성 시험 프로세스와 결합함으로써 가능해진다.  

6.4 ISO 10303 구현 모듈의 호환성

 

  앞장에서 말한 것처럼 ISO 10303의 구현 할 수 있는 부분은 AP(AP)이다.  AP는 적합성 클래스라고 불리는 구조에서 그룹으로 분류된 적합성 요건도 정의한다.  적합성 클래스란 구현 가능한 부분을 정의한 모든 AP 가운데 특정 부분 집합이다.  적합한 구현 모듈은 소정의 적합성 클래스내의 모든 조건을 지원해야한다.  벤더는 지원하는 적합성 클래스로부터 개념적인 것들의 하위 집합을 선택할 수는 없지만, 적합성을 주장할 수 있다.   

 

  제 4장의 표 4-1에서 보듯이 STEP AP에는 2개의 절을 가지고 있는데, 이것은 STEP 구현 모듈을 시험하기 위해 매우 중요하다.  

 

  4 절 : 정보 요건 - AP 의미적 요소의 특정 정의는 AP 유효 범위내의 어플리케이션 참조 모델(ARM)로부터 도출되는 오브젝트간의 오브젝트, 속성 및 어세션으로 구성된 어플리케이션의 요소로 주어진다.   

 

  5 절 : 어플리케이션 해석 모델 : 어플리케이션 해석 모델(AIM)은 EXPRESS[145] 스키마의 엔티티 및 데이터 형, 제약의 컴퓨터 감지 언어 정의를 제공한다.  또한 5 절은 사상표 - AIM으로 정의되는 구조에 관해서 4 절의 각 어플리케이션 요소의 정확한 부호화의 수단 - 을 정의한다.  

 

  앞에서도 말했듯이 각각의 ISO 10303 AP에는 관련된 추상 시험 세트(ATS)가 있다. ATS에는 적합성 요건을 지원하기 위한 AP의 추상 시험 항목(ATC)이 포함되어 있다.  각각의 ATC는 구현 모듈에 독립적인 스펙의 규정들을 제공한다. 이러한 규정들은 한개 또는 그 이상의 적합성 요건들의 일부에 대해 평가하는데 필요하다.

 

  각각의 적합성 요건은 복수의 시험 목적을 충족시키도록 설계된 복수의 ATS에 해당된다.  시험의 목적은  단일하다. 예를 들면「방향을 정의한 상태에서 부호 곡선으로 곡선의 생성을 시험한다.」와 같이 시험 목표가 정확하게 기술되어 있다.  AP의 엔티티가 정확한 유효 범위를 얻을 수 있도록 시험의 목적이 충분히 기술되어야 한다. 각 ATC에 관해서는 적합성 요건을 통해 판단 기준이 작성된다. 시험 기관은 그 시험 항목에 관해실장의 적합성을 평가할 수 있다.      

 

  ATC에 입각한 적합성 시험을 통해 실장이 복수의 적합성 요건[146]을 충족시키고 있는지의 여부를 판단할 수 있다. 시험 항목은 ISO 10303-34[147]에 명기된 형식적인 언어를 이용하여 정의된다. 그림 6-4는 ISO 10303-203[148]에 대한 시험 항목 예이다.  

 

  적합성 시험을 ISO 10303에 포함시켜야 한다는 사실은 STEP의 개발 초기 단계에서부터 인식되고 있었다. 제 3장에서 말한 것처럼, NIST는 적합성 시험의 가치를 평가하는 SC4의 의식을 향상시키는 데에 주도적인 역할을 했다.  30 시리즈의 각 부「적합성 시험 및 방법과 범위」는 ISO 10303에 대한 적합성 시험의 요건을 지정하고 지침을 내리며 절차를 지시하고 있다.  각 파트는 다음의 목표를 달성하는 데에 필요한 정보를 제공하고 있다 : 시험 결과에 대한 확신, 시험 결과간의 비교성 및 시험 담당자간의 의사소통이다.  30 시리즈 각 파트는 응용 프로토콜에 대한 추상형 테스트 슈트 조건들과 ISO 10303 구현 방법에 대한 추상형 테스트 방법들, 공통 용어와 개념, 그리고 실험실 실험에 의해 수행되어지는 적합성 평가 과정에 대한 정의를 내린다.


  ISO 10303 30 시리즈 각 파트 :

  31 : 적합성 시험 및 방법의 틀 ; 일반적인 개념

  32 : 적합성 시험 및 방법의 틀 ; 시험 기관 및 고객에 관한 요건

  34 : 적합성 시험 및 방법의 틀 ; AP의 구현을 목표로 한 추상 시험 방법

  35 : 적합성 시험 및 방법의 틀 ; SDAI

 

  IDEFO[149]는 ISO 10303에 대한 적합성 시험 과정을 문서화하는 데에 사용된다.  

  그림 6-5는 적합성 평가 과정의 개요를 나타낸다.  이 모델의 분해는 1030334의 시험 방법의 기반을 제공한다.  적합성 평가 프로세스를 시작하기(시험을 실시하다) 위해서는 시험 시스템을 작성해야 한다.  시험 시스템 자체는 표준화되어 있지 않지만 ISO 10303의 요건에 기초를 두고 있다.

 

  실시 가능한 시험 시스템의 요소는 표준 문서에서 도출된다.  실시 가능한 시험 세트는 ATS에서 직접 도 출 된다.  적합성 시험 및 증명에 대한 전체적인 범위는 10303-31[150]에 표시되어 있다.  시험 중인 시스템에 관한 여분의 정보를 수집하는 방법(PIXIT 형식)의 개발 지침은 10303-32[151]에 있다.  상세한 수속 매뉴얼  작성의 지침은 10303-32 및 -34에 제시되어 있다.  적합성 평가용인 소프트웨어 툴은 10303-34의 요건에 입각하고 있다.  

6.5 STEP 적합성 요건

 

 ISO 10303 AP는 적합성 실현을 위해 적합성 클래스의 모든 엔티티를 구현 하도록 요구한다. 이 명시적인 구현 요건은 필수 요소 및 선택 요소의 수단으로 인한 혼란을 막기 위해서 필요하다. 과거에는, 선택 요소를 갖고 있는 표준들은, 입맛에 맞게 구현된 모듈로서 나타났다. 즉, 입맛에 맞는다는 말은, 특정 어플리케이션에 의해 사용되어지는 선택적 요소로서 이루어졌다는 말이고, 이러한 요소들은 선택적 해석이 가능하다. 동일한 표준사양에는 따르지만, 서로 다른 선택적 요소를 사용하는 어플리케이션에는 정합성이 없는 경우가 있다. IGES 중립 포맷형태의 사양과 RS274 머신 툴 컨트롤 언어의 스펙이, 선택적 요소를 포함한 표준의 사례이고, 그것은 많은 상용 시스템 구현에 있어서, 호환성에 문제를 일으키게 되는 결과를 낳았다. 이러한 상황을 해결하기 위해 STEP 개발자는 엄밀한 적합성 요건을 포함시키고, 시험 목적을 정의하며, 구현의 적합성 선언의 요건을 추가, 각 AP에 대해 ATS를 표준화했다. STEP 개발자는 각 시험 그룹에 의한, 복수의 추상 시험 세트의 비공식적인 개발 비용을 경감시키기 위해 ATS를 표준화하였다 [153].

6.6 STEP 구현의 적합성 시험

 

  STEP AP의 구현은 전 처리기와 후 처리기로 구성되어있다. 전 처리기는 ISO 10303 AP 정보 모델 또는  교환 구조를 생성하는 구현 모듈이다.  후 처리기는 ISO 10303 AP 정보 모델 또는 교환 구조를 해석하는 구현 모듈이다. 어느 쪽이든 시험 중인 구현 모듈(IUT : Implementation Under Test)의 기능(동작)은 동일하며 : 소정의 입력 형식의 정보를 규정된 출력 포맷으로 변환한다.  이러한 변환에서 중요한 점은 모델에 포함된 정보의 의미적 내용을 보존하는 것이다.

STEP AP의 구현은 6장에서 기술되어진 2개의 정의된 구현 방법 가운데 하나를 이용해서 번역에 영향을 미치게 된다. ISO 10303-21[154]로 정의된 교환 구조를 이용한 파일 교환, 또는 ISO l0303-22[155]로 정의된 SDAI(SDAI)를 통하여 공유 데이터베이스의 표준 액세스.  

 

  일반적인 적합성 시험 프로세스는 ISO 10303 AP [l56]의 구현 시험에 직접적으로 적용되어 왔다. 시험 상태에서의 구현(IUT)은 소정의 입력 형식으로, STEP AP에 의해 정의된 AIM 스키마 인스턴스를 공급하고, 그것을 해당의 출력형식으로 변환한다. 시험 입력은 AP 스펙에 따라 구동되어지고, 시험 시스템에 따라 제어 된다. 그리고 직접적으로 출력 프로세스에 적용되어지는 해석에 관계된다.

 

  전 처리기의 경우, 입력은 발신 시스템 특유의 데이터 형식으로 정보를 표현한다.  이와 같은 입력은 AP 정보 요건의 부분 집합이다.  입력의 의미는 STEP으로 정확하게 정의되어 있지만, 특별한 입력 형태는 정의되어 있지 않다.  적합성 시험의 목적에서 이 형식은 「하드 카피」라고 불리는, 인간이 읽고 이해할 수 있는 문장 및 도식의 형태로 정의되어 있다.  출력 인스턴스 모델의 형식은 STEP 교환 구조(파일 교환 용) 또는 일련의 SDAI 콜(데이터베이스 구현용)이다.  

 

  후 처리기의 경우, 위의 상황이 반대가 된다.  입력은 EXPRESS AIM 스키마의 인스턴스로, STEP 교환 구조(파일 교환) 또는 일련의 SDAI 콜(데이터베이스) 형식이 된다. 후 처리기로 변환함에 따라 STEP으로 정의되지 않은 특정 형식이 출력된다.  적합성 테스트 목적을 위해, 후처리기의 출력은, 입력 모델의 인스턴스 안에 포함되어진 의미론적 정보에 대해, 쿼리들에 대한 일련의 반응이다.  후 처리기는 하드 카피를 출력할 가능성은 있지만 반드시 요구되어지는 것은 아니다.  

 

  IUT에 의해 생성된 출력의 해석은, 구문, 구조, 의미라는 3개의 영역에서의 능력을 평가한다.  STEP에서 시험 구문 및 구조 해석은 전 처리기 시험에만 적용되며, 의미 해석은 전 처리기와 후 처리기에 모두 적용된다.

 

  구문 해석 - 전 처리기의 출력 교환 구조에만 적용된다.  구문 해석은 어플리케이션의 구현 방법의 요건이 모두 충족되고 있는지, ISO 10303-21로 규정된 파일 형식과 ISO10303-22로 정의된 표준 액세스 방법을  검사한다.  

 

  구조해석 - 전 처리기 출력의 교환 구조에서 표현되는 데이터 모델은 AP에 의해 정의된다. AIM EXPRESS스키마의 모든 구조 요건을 충족시키고 있는지를 확인한다.  이것은 제한적이고 포괄적으로 정의되어진 제약요소와 더불어 모든 데이터 타입을 입증시키는 것을 포함한다.

 

  의미 해석 - 해당 AP의 정보 요건에 의해 정의되는 의미를 관찰할 수 있는 출력으로, 정확하게 전달되는지의 여부를 검증한다.  의미 해석은 전 처리기와 후 처리기 양방에 적용된다.  

 

  적합 시험은 하나의 형식인 입력 데이터가 주어지며, 다른 형식인 lUT에 의해 생성되는 출력의 정확성이 검증된다.  구현은 출력의 구문 및 구조가 표준의 요건에 적합하고, 출력의 의미 내용이 입력의 의미 내용과 같을 경우, 적합성 시험에 합격한다.  

6.7 ISO 10303 구현에 대한 호환성 시험

 

  호환성 시험은 ISO 10303 시리즈의 각 파트 중의 일부가 아니며, ISO 10303의 각 파트가 제시한 규범적 요건도 아니고, SC4 단체내의 공적인 활동도 아니다. 하지만 이것은 STEP의 채택을 성공시키기 위한 중대한 요소로 간주된다.  구현 모듈들 간에 성공적인 정보 교환이 이루어진다는 것은, STEP 채택을 위해 사용자들에게 자신감을 높여 준다는 의미이다.

 

  호환성 시험은, 통상 기존의 의미를 지닌 몇 개의 내부 모델에 근거한 하나의 IUT로부터 출력 교환 구조를 생성하며, 이 교환 구조를 다른 IUT의 입력으로서 이용한다. 거기에서 다른 IUT의 내부 모델이 정확한지를 점검한다. 내부적으로 첫 번째 IUT에 대한 표현이, 의미론적으로 두 번째 IUT(Figure6-2)의 내부 표현 방식에 대해 의미론적으로 같다면, 구현 모듈의 호환성 시험은 합격이 된다.

 

  이미 언급했듯이, 호환성 시험은 표준의 요건에 제약을 받지 않는다.  따라서 호환성 시험을 통하여 유저가 가장 흥미로워 하는 요인을 조사할 수 있다.  성공적인 호환성 시험은, 근본적인 시험의 설계에 의존한다.  시험에 앞서 호환성 시험의 요건과 절차를 완전하게 이해해야 한다.  아래의 시험 계획 요소는 시험 구현 모듈을 합격하기 위해서 매우 중요하다 :

 

교환 시나리오 - 데이터를 어떻게 사용할 것인가?

교환 측정 기준 - 합격을 어떻게 측정할 것인가? 「성공적인 데이터 교환」은 어떻게 구성되는가?

교환 절차 - 교환을 어떻게 할 것인가?  누가? 몇 회?

제어 - 교환 시에 발생하는 에러의 원인은?  이것을 어떻게 격리시켜야 하는가?

결과 분석 - 결과를 어떻게 정리해야 하는가?

6.7.1 교환 시나리오

 

  교환 시나리오는 테스트를 위해 특정 데이터의 교환에 대한 가상의 또는 이상적인 또는 바람직한 패러다임을 의미한다. 이것은 유효 범위를 정의하여 요건 및 시험 절차 개발의 기반을 제공한다.  교환 시나리오는 데이터 교환의 목적을 규명하고, 성공적인 데이터 교환을 위한 품질을 정의하고, 수행을 위한 파라미터를 규명하고, 적당한 테스트 파트를 선정하고, 교환 정도를 측정하기 위한 측정 기준을 만드는데 있다. 그림 6-6은 미국 자동차 산업 활동 그룹(AIAG)에서 진행 했던 STEP">AutoSTEP의 호환성 시험 프로그램[157]의 교환 시나리오의 예를 나타내고 있다.  

 

  교환 프로세스에서 모델 데이터는 단계 혹은 상태를 거쳐 이행해 나간다.  각 상태에서 각자의 측정 기준을 모아 그 상태에 있는 모델의 정보를 기록한다.  변환 과정에서 모델 내에 어떠한 에러와 이상이 존재하고 있는지를 조사하기 위해, 측정 기준의 수치를 검사한다.  시험 측정 기준은 다음의 조건에 맞아야한다.

 

l       시험 요건에 관련된 정보를 제공한다.  

l       시험 중인 모든 시스템에서 같은 의미를 갖는다.  

l       객관적이다 (해석을 해서는 안 된다).  

l       비교적 수집하기가 용이하다.  

 

  기본적으로 2가지 측정 기준이 있는데, 단순한 측정 기준과 프로세스 상의 측정 기준이 있다. 단순 측정 기준은 모델로 직접 계산할 수 있는 파라미터다.  이것은 모델에서 생기는 실제의 에러 상태를 검사할 때에 사용된다.  프로세스상의 측정 기준은 모델로 직접 계산할 수 없다. 이것은 교환 프로세스의 각 상태에서 모델의 단순 측정 기준과 비교할 때에 필요하다.  프로세스 상의 측정 기준의 예로써, 전달하는 모델과 전달 받는 모델 사이의 질량적 특징의 변화, 엔티티 수의 변화, 파일 사이즈의 변화를 포함한다. 변환 과정에서의 성공 여부를 판단하기 위해, 다양한 테스트와 측정기준이 마련되어 있다.  이 측정 기준은 어플리케이션 요건을 기초로 한다.  통상의 측정 기준과 유저에 해당하는 측정 기준의 관련 활동은 다음과 같다  :

 

데이터 교환

l       파일 사이즈(파일 증가)

l       변환 시간

 

진단   

l       시스템 에러

l       모델의 타당성 (시스템 의존적이다)

 

기하

l       닫힌 쉘

l       곡면의 면적                       

l       볼륨

l       질량의 특성(질량 중심 등)

l       곡면의 수 

l       면의 수  

l       어셈블리내의 솔리드의 수

l       특정 치수(곡선의 포인트 등)

l       컬러

l       레이어

l      

l       외측의 형상 생성(가늘고 긴 면, 미소(微少) 모서리)

l       모델의 복잡성

 

비 기하

l       관계

l       텍스트 문자열

l       변수

 

기능성

l       가시 검사

l       모델 조작

l       시스템 고유 (naitive) 파일의 저장

l       모델 변경

l       목표 어플리케이션 기능성

 

  대다수의 경우, 호환성 시험은 몇 종류의 시스템 연산자가 관계한 분산 환경에서 시행된다. 데이터의 교환이 실패하는 요인에는 몇 가지가 있으나, 그 중의 대부분은 시험 중인 시스템과 관련이 없다.  중간 데이터를 명확히 하고 변수의 수를 최소화하며, 시험 시스템을 격리하는 것은 매우 중요하다.  시험 데이터를 정확하게 기록하기 위해서는 시험의 절차를 확립해야 한다.   

6.7.2 결과의 해석 - 적합성 시험 툴

 

  적합성 시험 툴이 시험을 어떻게 개선하는지를 이해하기 위해서는, 개발 중인 툴의 특성을 파악해야 한다.   아래의 목록은 NIST와 산업기술연구원(ITI24), Ann Arbor, MI)가 개발한 툴을 보여준다. 

 

  시험 하니스(test harness) - 시험 세트의 구성, 시험의 실시, 결과의 해석, 결과 리포트의 정리, 전체적인 의견의 결정 등의 프로세스는 많은 노력을 필요로 한다.  재이용이 가능한 시험 하니스는 이와 같은 관리 임무를 처리하기 위해 개발되고 있다. 이 하니스는 해당되는 표준 특유의 시험 세트 및 해석 툴로 대체하면 다른 표준을 위해서도 이용이 가능하다.  

 

  시험 목적(test purpose) 생성자 - 시험 세트에서 요구되는 대부분의 시험 목적은, 스키마에서 자동적으로 생성된다.  이 툴은 AP로 정의된 스키마를 읽고 이해하며, AIM에서 유도된 시험 목적에 대한 목록을 작성한다.  또한, 이 툴은 ARM의 Application Element와 Assertion을 읽고, AE에서 유도되어진 시험 목적 목록을 생성한다.  

 

  대상 범위 해석 장치 (Coverage Analyzer) - 대상 범위 해석 툴은 표준사양에 대한 시험 데이터 세트의 포함 범위의 비율을 계산하기 위해 이용된다.  이것은 시험 목적에 대한 시험 세트의 포함 정도 또는 완전도를 평가한다. 입력 데이터에 의해 충족되어진 모든 시험 목적에 대한 비율은, 시험 세트가 시험 목적을 얼마나 포함 하는지를 측정하기 위해 사용된다. 대상 범위 분석 장치는 아래의 목적으로 이용된다.

l       시험 세트 개발 프로세스에서, AIM, ARM 및 기타의 시험 목적에 대한, 한 개의 시험 세트의 포함 범위(coverage)를 계산 한다.  

l       시험 목적에 대해서 시스템 간의 교환 파일로 얻을 수 있는 포함 범위를 계산함으로써, 2개의 STEP 구현 모듈의 호환성 정도를 평가한다.  

l       *  기존의 시험 데이터와 중복되는 정도를 계산함으로써, 시험 세트에 추가된 새로운 시험 데이터의 가   치를 평가한다.

 

  판단 기준 생성자 (Verdict Criteria Generator) - 판단 기준 생성자는 STEP 시험 세트의 입력 사양(input specification)을 읽고 이해하여, 판단 기준을 도출한다.  대부분의 시험 세트에는 중복되는 데이터가 절반을 차지하고 있다. 따라서 동일한 시험 목적은 다양한 시험 사례들에 대해 적용할 수 있다. 

 

  STEP 파일 체커 - 이 툴은 STEP 교환 파일(ISO 10303-21)의 형식이, 정확한 구문과 구조로 되어 있는지 체크한다. 이것은 AP에 정의된 모든 규칙이, STEP 교환 파일로 유지되고 있는지를 확인한다. 이 규칙에는 STEP 스키마의 단순한 데이터 제약조건뿐만 아니라, 기하 모델에 적용되는 보다 복잡한 기하와 위상 규칙도 포함되어 있다.  

 

  ARM/AIM 브라우저 및 에디터 - 이 툴은 ARM의 정보 요건 및 AIM EXPRESS라는 두 가지 관점에서, STEP 데이터를 작동시킬 수 있는 기능을 제공한다.  이것은 10303-21 파일을, ARM 정보 요구사항인 어플리케이션 요소(application element)에 대응하는 용어로 변환할 수 있다.  또한 ARM 용어를 이용하여 시험 데이터를 입력하며, 대응하는 l0303-21 구문으로 변환할 수도 있다. 이 툴을 사용함으로써 ARM 어플리케이션 요소 뷰를 10303-2l 교환 파일의 의미를 해석하는 과정에 사용하여, 입력된 의미가 올바르게 부호화 되었는지를 검증할 수 있다.  데이터 생성 기능은, 호환성(interoperability)과 적합성(conformance) 테스트 세트에서 사용할 수 있는, 데이터 초안을 만든다. 

 

기하 해석 장치 - 이 툴은 STEP 파일의 기하 부분의 의미를 검증한다.  

 

  그림 6-7은 효과적인 호환성 시험을 위하여 어떻게 툴을 사용할 것인가를 나타내고 있다.  대상 범위 해석 장치는 실제의 교환 파일의 내부를 조사하여, 호환성 시험 중에 ISO 10303이 어느 정도까지 대상 범위로 되어있는지를 찾는다.  적합성 시험 세트는 표준의 모든 영역을 포함하도록 설계된 시험 데이터를 포함하고 있다. 그러나 호환성 시험에서 사용되는 교환 파일이 IUT 전 처리기로 작성된 것이라면, 모든 시험 목적이 대상이 된다고는 말할 수 없다.  특히, 대상 범위 해석 장치는 표준에서 어떤 부분이 아직까지 시험되지 않고 있는지 찾아 낼 수 있다. 

 

  호환성 시험에서 STEP 파일 체커는 매우 중요한 툴이다.  이것은 ISO 10303 교환 파일 상에서 구문 및 구조를 분석하여, 그것이 적합한지를 검증한다.  마지막으로 ARM/AIM 브로우저 및 기하 해석 장치는 10303-21 교환 구조에서 의미를 해석하기 위해 사용할 수 있다.

 

  NIST는 NIST Expresso[158]를 개발하였다. Expresso는 EXPRESS 정보 모델과 표현 데이터 세트의 개발 및 검증에 도움이 되는 툴을 제공하기 위한, ISO 10303-11을 위한 언어 환경이다.  NIST Expresso는 Microsoft Windows95 및 NT 환경에서 사용할 수 있다.  다운로드가 가능한 PC 환경에서, 사용자는 EXPRESS 정보 모델을 지정하고 변경하여 해석, 검증할 수 있다.  이것은 대상 스키마에 대한 대표적인 데이터 세트의 구축에 사용할 수 있다.  현재 NIST Expresso는 베타 버전까지 개발되었다.  ISO 10303-202, -203, -213 및 -214에 대해 몇 가지의 시험을 실시하고 있다.  NIST Expresso는 ISO 10303-302 기술 리포트를 작성하는 데에도 이용되었다[159].  

6.8 제품의 인증

 

  US PRO는 ISO 10303 AP 구현 모듈을 인증하는 프로그램을 시작하였다. 인증을 받기 위해 제출된 이 프로그램은, NIST와 ITI가 공동으로 개발되어진 시험용 기술들과 도구들을 이용해서, 온라인상에서 수행되는 활동 가운데 하나이다.  이 시험 프로그램은 증명 단체, 시험 기관 및 증명 관리 위원회로 구성되어 있다.  US PRO는 증명 단체로서의 역할을 맡고 있다. 완전한 ISO 10303 시험 요건을 충족시키고 있는 구현 모듈에 대해 적합 증명서를 발행한다. (그림 6-8) 최초의 시험 서비스는 ISO 10303-203에 대한 시험 구현 모듈이다. 

 

  증명 시험에 대한 필요성은 사용자 단체에서부터 시작되었다.  제품이 ISO 10303의 요건에 적합하다는 것을 보증하는 것이 목적이다.  증명 시스템을 이용하는 것은, 사용자 회사들이 그들 사업 파트너들과 함께, 국제적으로 표준화된 솔루션을 기반으로, 제품 데이터 교환을 위한 정책을 설립할 수 있도록 권장 할 수 있다[160]. 결국 이것은 고비용의 맞춤 교환에 대한 의존성과 독점적인 솔루션들에 대한 의존성을 감소시킬 수 있다.

 

  과거 몇 년간, PDES, Inc.는 "STEPnet"이라는 활동을 운영해 왔다(CAx-IF).  1995년에 시작, "Plugfest"로 알려진 이 활동은, CAD 벤더 및 인터넷상에서 호환성 시험을 실시하는 제 2 , 제 3의 소프트웨어 개발자의 그룹이다. 

다음은 STEPnet의 목표이다;

 

l       현재의 요구사항에 적합한 기능을 실시한다.

l       장래의 요구사항에 적합한 기능을 특정화한다.  

l       합의된 방법을 확립함으로써 장애물을 없앤다.  

l       시스템 및 AP 호환성 시험을 제공함에 따라 사용자의 자신감을 높인다.  

l       새로운 기능으로 구현된 모듈이 기존에 구현된 모듈에 악영향을 미치지 않도록 한다[l61].  

 

  독일의 ProSTEP에도 벤더용의 시험 서비스가 있다. 무엇보다도 lSO 10303-214의 구현을 중시하는 ProSTEP은, 시험 활동을 「테스트 랠리」라고 부르고 있다.  STEPnet 및 테스트 랠리는 ISO 10303의 호환성을 증명했을 뿐 아니라, 적합성 시험의 이점을 시험하는 간접적인 수단을 제공해 왔다.

6.9 시험의 이점과 비용

 

  시험은 제품들의 호환성을 입증하기 위해 필요하다. 그러나 이러한 테스트는, 표준과 제품의 개발 프로세스에, 많은 시간과 비용이 추가로 들게 된다.  우수한 호환성은 표준 베이스 제품의 중요한 장점이다.  사용자는 표준의 지원을 필요로 하는 구현 모듈에 호환성이 있을 것으로 기대한다.  유저가 구입한 제품에 호환성이 있는지를 판단하기 위해, 다양한 형식의 시험이 이루어지고 있다.  적합성 시험의 방법 및 프로세스는 호환성 시스템 개발에 몇 가지의 혜택을 주고 있다.  

 

  에러의 조기 검출 - 적합성 시험은 구현 모듈의 초기 라이프사이클에서, 호환성의 문제점을 검출하기 때문에 보수비용이 매우 저렴하다. 

 

  최적화 시험 항목 - 적합성 시험은 불필요한 테스트 패턴과 중복된 절차를 최소화 하는 동시에, 중요한 입력과 상태의 범위를 최대화 시킬 수 있도록 설계된, 일련의 테스트 집합을 이용한다.  

 

  문제 해결 - 적합성 시험은 AP를 개발하는 과정에서 발생되는 구현 모듈의 문제를 초기에 발견하고, 필요한 수정 사항을, 표준 개발의 프로세스로 피드백하게 한다.

 

  초기 신뢰성 - 적합성 시험은 초기의 표준 라이프사이클에서, 제품 개발에 초기 신뢰성과 추진의 원동력을 제공한다.

 

  적합성 시험은 호환성을 평가하는 데에 있어 중요한 요소이지만, 이로 인해 표준과 제품의 개발이 장기화되며 비용도 증가한다.  시험으로 인해 표준 개발의 시간과 비용이 추가된다.  

 

  가상 시험 세트의 개발 - 완전한 시험 세트의 개발은 AP 개발과 병행하여 진행되고, 유효한 데이터를 만들기에 적당한 툴이 없는 경우에 많은 비용이 든다.

  

  시험 툴의 개발 - 시험을 위해서는, 시험을 관리하고 결과를 해석하며, 리포트를 작성하는 데에 도움을 주는 시험 툴을 개발해야 한다.  그와 같은 툴을 개발하고 유시하는 것은 매우 중요한 약속 사항이다.  보통 이것은 재정적으로 돌려받을 수 없는 투자이다.  

 

  데이터 입력, 시험 실시 및 결과 해석 - 시험을 실시하고 결과를 해석하기 위해서는 시간과 자원이 필요하다.  이것은 적합성 시험뿐만 아니라 STEP 표준 개발 과정에 있어서도 마찬가지다.  시험이 철저하게 이루어지는 것은 아니지만, 일반적으로 시험 횟수의 빈도수는, 구현 모듈의 라이프 사이클에서 초기 단계에서 매우 높게 발생된다.

 

  서비스로 형식화하기 전에 NIST 및 ITI는 벤더에 의한 달러의 절약을 이미 파악하고 있었다.  CAD 벤더에 의한 달러 절약은 AutoSTEP 및 STEPnet 사업의 적합성 시험을 통해 확인되었다.  STEPnet 시험의 12 라운드에서 10,000 건이나 되는 독자적인 구조 위반이 파악 되었다.  적합성 시험은 문제와 원인을 구현 모듈 개발의 초기 단계에서 파악하여 개입함으로써, 6,000만 달러의 돈을 절약하게 되었다.  

 

  이제까지 적합성 시험은 제품의 라이프사이클의 개발 단계가 종료되는 시간에 임박하여 실시되었다. 그러한 성향으로 인해 벤더는 제품을 시장에 급하게 내놓는 것이 보통이었다.  또한 개발 예산에서 초과되는 부분이 발생하기도 하였다.  시스템을 시험 기관으로 보내어 (표준의 여러 측면에 부적합한 것을 찾기 위해서) 시험하는 것은, 대부분의 벤더에게 있어 실로 번거로운 일이다.  구현 모듈에 어떠한 변경을 가하도록 벤더에게 강요한다면, 제품을 출시하는데 소비되는 비용도 증가되고, 이것은 라이프 사이클에 있어서 더 많은 비용 지출을 필요로 하는 단계가 된다. 또한 벤더는 독립된 시험 기관이 제시한 시설보다도, 자사의 시험 시설을 더 신뢰하고 있다.

 

  시험 기관에서 진행하기에 앞서, 구현 모듈이 적합성 시험에 합격할 것인가의 여부를 벤더가 미리 알 수 있다면, 이것은 매우 이상적인 일이다. 이것은 벤더가 시험 세트 및 툴에 접근해서 적합성 시험을 자사 제품 개발 프로세스 연결시킬 수 있는 경우이다.  비용을 삭감하고 적합성 시험 세트 투자의 가치를 증대시키는 방법 가운데 하나는, 적합성 시험을 공통의 플랫폼에서 광범위하게 이용할 수 있게 하는 일이다.  그에 따라 구현 모듈을 개발하는 사람들은 시험을 통해 쉽게 액세스할 수 있게 된다.  이 방법은 제품 개발의 최종 단계에서, 종래의 적합성 시험에 의해 부가된 불필요한 장해를 없앨 뿐만 아니라, 벤더가 시험 세트, 툴, 시험 시설을 개발하는 데에 생기는 부담을 경감한다.  엄밀한 적합성 시험보다는 동일한 툴을 적용하는 방법을 찾음으로써, 시장에 대한 툴의 전체적인 장점을 증대시킬 수 있다.  공통의 시험 환경과 툴을 광범위하게 적용함으로써 STEP 제품들을 개선할 수 있고, 이들 제품들을 개발하는데 필요한 비용을 줄일 수 있다. 그와 같은 광범위한 적용은 무역 장벽을 줄이고, 적합성 규칙에 따라 구현된 모듈들을, 세계 시장에서 더 나은 지원을 받을 수 있도록 한다.

6.10 마무리

 

  적합성 시험은 표준에 기반을 둔 제품의 개발에 많은 이점을 준다.  SC4는 장래를 예견하여 적합성 시험 방법 및 요건을, ISO 10303 표준 개발 프로세스의 중요 부분에 포함시켜 놓았다.  STEP 개발자는 적합성 시험의 2개의 클래스(30 및 300 파트 시리즈)에 전념하고 있으며, STEP AP는 적합성 요건을 명시적으로 기술하고 있다. 적합성 시험을 가능하게 하는 테크놀로지는 ISO 10303과 시험 절차에서 표준화되며, 테크놀로지에서 실행 가능한 시험 세트가 도출된다.  이 프로세스를 지원하기 위해서 NIST 및 파트너는 실행 가능한 지원 툴을 개발하고 있다.  

 

  시험 프로세스의 핵심이 되는 중심 부분을 자동화하는 툴을 개발함으로써, 적합성 시험의 비용을 줄일 수 있다.  이렇게 자동화하는 툴을 이용함으로써, 적합성 시험 세트와 툴을 개발하는 비용은, 호환성 시험과 같은 다른 종류의 시험에서 자동화하는 툴을 이용함으로써 보상 받을 수 있다.  좀 더 공식적인 적합성 시험 환경을 개발하기 위한 툴과 방법을 사용함으로써, 더욱 안정적인 시험 방범을 도출해 낼 수 있다. 이렇게 복합적으로 접근하는 방법은, 서로 각각의 접근 방법을 사용하는 것 보다 더 좋은 결과를 낼 수 있고, 이들 시험을 하 기 위해 지출된 비용과 시간을 상당 부분 줄일 수 있다. 이로 인해서, 개선된 구현 모듈은 단 기간에 적은 비용으로 시장에 출시될 수 있다.  비공식적으로 AutoSTEP 및 STEPnet 프로젝트는 이미 적합성 시험을 적용하여 막대한 비용을 삭감하고 있다.  NIST는 ISO 10303 구현 모듈에 이미 기득권을 갖고 있는 나라들 간에, 양자 간 합의를 이루어 낼 수 있는 국가 간 인증 프로그램을 만듦으로 인해, ISO 10303의 전 세계적인 인정을 이루어낼 수 있기를 희망하고 있다.

 

  적합성 시험 방법론과 인증 프로그램의 개발에, NIST가 주도적인 역할을 수행함으로써 얻을 수 있는 가장 큰 이익은, 소프트웨어를 테스트 할 때 NIST가 전면에 나선다는 점이다. 1901년에 만들어진 NIST는 길이, 질량 등과 같은, 7개의 기본 국제단위 시스템에 적용할 수 있는, 국가 도량형 기반 구축에 눈부신 활동을 하였다. STEP 적합성 시험을 통해, NIST는 지속적으로 요구되는 정보 기술의 표준 제정에, 매우 중요한 역할을 하고 있음을 목격할 수 있었다. NIST는 STEP 시험 방법론의 결과를, 더 넓은 정보 기술의 영역까지 지속적으로 확대 시켜 나갈 수 있도록 노력 할 것이다.


22) 제 8장에서 「제품」이라는 용어는 「구현」이라는 용어와 호환적으로 사용된다. 이것은 표준에 근거하여 시판되고 있는 소프트웨어를 의미하는 용어이다.

23) CAD-CAM 데이터 교환 기술 센터, 영국, 리드 대학.

24) 1998년 ITI는 그 명칭을 ERIM (Environmental Research Institute of Michigan : 미시간 환경 리서치 연구소)로 바꾸었다.