6/08/2018

Verification and Validation



가. Verification
    - 개발자의 의도에 맞게 모델이 구성되고 해가 풀이되는지 검증하는 것
    - 개념적 모델로부터 유도된 수학적 모델이 컴퓨터 코드에 의해 정확히
      풀이되는지 평가


    1. code verification
        1.1. numerical algorithm verification
            - 수치적 알고리즘이 의도한 것처럼 기능하고 정확하게 수행되는지
              증명하기 위해 증거를 축적하는 과정
            - 예) 단순화된 물리적 문제에 대한  해의 분석
                   보존 관계 테스트
                   시스템의 좌표 변환 테스트
                   대칭 테스트
                   반복적인 수렴 테스트
                   상미분, 편미분 식의 benchmark solutions


        1.2. software quality engineering
            - 코드적인 측면이 아니라 소프트웨어 시스템 부분에 대한 검증
            - 규정된 컴퓨터 하드웨어나 소프트웨어 환경
              (컴파일러, 라이브러리 등등)에서  실행되는지 검증
            - 믿을 수 있고 반복적인 결과를 생산하는지 검증
            - 주로 소프트웨어 개발 단계나 수정 단계에서 필요



    2. solution verification
            - 주어진 해에 대해 정량적인 수치적 정확도의 평가
            - 반복 에러 수렴 제시
            - 이산화(discretization)에 의한 에러

 



나. Validation
    - 모델이 관심 영역의 현상을 얼마나 정확하게 예측하는지 확인하는 것
    - verification 완료 후 진행할 수 있음

    1. 전산 모델이 실험을 얼마나 정량적으로 잘 예측하는지 평가
    2. 평가 범위 밖의 관심 영역에 적용 가능한지 평가
    3. 평가 범위 밖의 관심 영역에서 적절한 정확도를 가지는지 평가




출처 : Oberkampf, W. L., & Trucano, T. G. (2008). Verification and validation benchmarks. Nuclear engineering and Design, 238(3), 716-743.

댓글 없음:

댓글 쓰기