디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

Ada 프로그래밍: 9. 계약에 의한 설계(DbC)

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 72 추천 0 댓글 0

9. 계약에 의한 설계(DbC)

Ada 2012에서 표준화된 계약에 의한 설계(Design by Contract, DbC)는 프로그래머가 형식적이고 검증 가능한 명세를 소스 코드에 직접 내장할 수 있게 하여 Ada의 신뢰성 기능을 향상시킵니다. 이러한 계약은 실행 가능한 문서 역할을 하며, 고수준 요구사항을 구현에 연결합니다. 컴파일러 스위치(-gnata)로 활성화하면, 이러한 계약은 실행 시간에 검사되어 위반 시 Assert_Failure 예외를 발생시킵니다.

Ada에서 DbC의 핵심 구성 요소는 다음과 같습니다:

  • 전제조건(Preconditions): 서브프로그램이 호출되기 전에 참이어야 하는 조건입니다. 이는 호출자 측의 의무입니다. with pre =>...로 지정됩니다.

    function square_root (x : Float) return Float with pre => x >= 0.0;
    
  • 후조건(Postconditions): 서브프로그램이 성공적으로 완료되었을 때 참이 될 것을 보장하는 조건입니다. 이는 서브프로그램 구현 측의 의무입니다. with post =>...로 지정됩니다. 후조건은 'old 속성으로 매개변수의 초기 값을, 'result 속성으로 함수의 결과를 참조할 수 있습니다.

    procedure increment (value : in out Integer) with post => value = value'old + 1;
    
  • 형식 불변식 및 술어(Type Invariants and Predicates): 주어진 형식의 모든 객체에 대해 항상 참이어야 하는 조건입니다. 술어(with static_predicate => ...)는 해당 형식의 값이 생성되거나 수정될 때마다 검사되는 속성입니다. 불변식(with type_invariant => ...)은 개인 형식의 속성으로, 공개 연산의 경계에서 검사됩니다.

계약은 유용한 도구입니다. 컴파일된 코드와 일치하는 문서를 제공합니다. 테스트와 디버깅을 위한 정확한 기반 역할을 하며, 형식적 검증 도구에 대한 중요한 입력이 됩니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 순간의 말실수로 이미지 타격이 큰 것 같은 스타는? 운영자 25/09/01 - -
AD 가전디지털, 신학기 페스타! 운영자 25/08/29 - -
2886006 ai 안쓰는 시니어들 ai쓰는 주니어한테 좆털리네 ㅋㅋ ㅇㅇ(211.36) 09.01 93 0
2886001 코틀린 책 추천좀 [1] 밀우갤로그로 이동합니다. 09.01 75 0
2886000 조심해라 [1] 프갤러(118.128) 09.01 73 0
2885999 인지과학조져라 손발이시립디다갤로그로 이동합니다. 09.01 72 0
2885997 그래도 구글 vs 한국 어느게 더 빨리망하는거 관전가능해서 개꿀 뒷통수한방(1.213) 09.01 61 0
2885996 공부시간 평가좀 [1] ㅇㅇ(58.229) 09.01 74 0
2885993 uefi 비밀번호 초기화 어케 해야해? [2] Goop갤로그로 이동합니다. 09.01 71 0
2885992 리눅스갤은 왜 문재인이 금지어임??ㅋㅋㅋ국산리눅스도 금지어고 ㅋㅋ [1] 뒷통수한방(1.213) 09.01 96 0
2885987 원신 유즈맵(ugc) 나오면 만들거야? [1] 프갤러(175.215) 09.01 81 0
2885986 러스트 믿고 거르기 4 나르시갤로그로 이동합니다. 09.01 61 0
2885982 사는 게 쉽지 않다 [2] 아스카영원히사랑해갤로그로 이동합니다. 09.01 89 0
2885981 내 여자친구 사진인데 어떠니? 메쿠이료갤로그로 이동합니다. 09.01 122 0
2885980 나님 혼자 남겨두고 어딜간거야..ㅠㅅ ㅠ [1] ♥냥덩이♥갤로그로 이동합니다. 09.01 72 0
2885979 멍유야 돌아와줘.. 나님 마음이 너무 아푸당.. [1] ♥냥덩이♥갤로그로 이동합니다. 08.31 102 0
2885978 길냥이들이 자꾸 나님을 감시해.. [2] ♥냥덩이♥갤로그로 이동합니다. 08.31 117 0
2885977 멍유 진짜로 삐진듯.. ♥냥덩이♥갤로그로 이동합니다. 08.31 60 0
2885976 애널의 ⭐영상 ♥냥덩이♥갤로그로 이동합니다. 08.31 48 0
2885973 넥슨 ngs 분석 해봤는데 [29] 루도그담당(58.239) 08.31 138 0
2885969 키작남이 키큰남보다 인기 많던데 [3] ㅇㅇ(211.234) 08.31 64 2
2885951 나님 bbc가 뭔지 첨 알았넹;; [14] ♥냥덩이♥갤로그로 이동합니다. 08.31 163 0
2885946 멍유 예전에 여자인척 했을땐 그래도 정상인인척 하려고 [3/1] ♥냥덩이♥갤로그로 이동합니다. 08.31 91 0
2885943 사면발이 유레아플라스마 헤르페스 [2] 개멍청한유라갤로그로 이동합니다. 08.31 73 0
2885940 나님 내일부터 접을것들 목록 ㅇㅅㅇ [1] ㅇㅇ(223.38) 08.31 58 0
2885936 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ [3] ♥냥덩이♥갤로그로 이동합니다. 08.31 103 0
2885933 [애니뉴스] 사이트 복구 완료 안내 프갤러(121.172) 08.31 55 0
2885928 나님 누엇어양⭐+ [2] ♥냥덩이♥갤로그로 이동합니다. 08.31 67 0
2885924 벌렁벌렁 [4] ♥냥덩이♥갤로그로 이동합니다. 08.31 112 0
2885923 근로소득에 일희일비하지마라 아스카영원히사랑해갤로그로 이동합니다. 08.31 54 0
2885922 세종,대전 쪽 취업하려 하는데 [1] 프갤러(115.20) 08.31 154 0
2885921 잘못 샀나봐... 4pin Female Power Converter 넥도리아(119.195) 08.31 30 0
2885910 대학원때 친하게 지냈던 베트남 친구 이제 교수네. [2] ㅆㅇㅆ(124.216) 08.31 99 0
2885908 엄마가 치킨 사주셨어요 ㅇㅅㅇ 맛있게찌요? ㅎㅎ ㅇㅇ(223.38) 08.31 49 0
2885902 나씻주준⭐+ ♥냥덩이♥갤로그로 이동합니다. 08.31 83 0
2885898 도미노 병신 피자 서비스 마비 프갤러(110.8) 08.31 54 0
2885894 클라 프로그래머인데 웹 너무 어렵네 그냥 [2] ㅆㅇㅆ(124.216) 08.31 109 0
2885892 냥덩이가 알려주는 행복의 비밀☘+ ♥냥덩이♥갤로그로 이동합니다. 08.31 88 0
2885891 스스로 행복한줄 알아야된다?? 이거 재벌새끼들도 잘 못하는건데 뒷통수한방(1.213) 08.31 47 0
2885889 독학할거면 프론트 vs 백엔드 뭐가 나음? [1] ㅇㅇ갤로그로 이동합니다. 08.31 94 0
2885888 스스로 행복한줄 알아야된다?? 좇나 쳐맞고싶어서 놀리는거임 ㅋㅋㅋ 뒷통수한방(1.213) 08.31 41 0
2885887 애널의달성 2///3 ♥냥덩이♥갤로그로 이동합니다. 08.31 82 0
2885886 벗은거보다 입은게 꼴림 [4] ♥냥덩이♥갤로그로 이동합니다. 08.31 126 0
2885884 러스트 믿고 거르기 3 나르시갤로그로 이동합니다. 08.31 59 0
2885883 PC 파일이나 폴더명 다 한글로 하시나요 ㅈㅁ(210.217) 08.31 50 0
2885882 그래픽스 굳이 쓸려면 웹은 three.js 정도? [1] ㅆㅇㅆ(124.216) 08.31 73 0
2885879 충격적임.. ♥냥덩이♥갤로그로 이동합니다. 08.31 41 0
2885877 ❤✨☀⭐⚡☘⛩ㄴㅏ님 ㅅㅣ작합ㄴㅣ당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08.31 43 0
2885875 본인 오리지널 서울30년넘게 살았는데 서울혜택 받아본적없음 코레일,비행기 타이밍뒷.통수한방(1.213) 08.31 54 0
2885874 쇼츠랑 유튜브 자체를 좀 끊어볼까... 재미도 없는데 시간쓰는 느낌이네 [2] ㅇㅇ(223.38) 08.31 63 0
2885871 이클립스쓰는거 어캐생각함? [7] ㅇㅇ(211.235) 08.31 88 0
2885870 쇼츠는 나 죽을때까지 안봐두 이상없음 ㅇㅅㅇ?! ㅇㅇ(223.38) 08.31 43 0
뉴스 원조 미남 MC 정재환, 돌연 방송계를 떠난 이유...생활고까지 겪었던 긴 무명시절 디시트렌드 09.02
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2