디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 68 추천 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/08/25 - -
AD 가전디지털, 신학기 페스타! 운영자 25/08/29 - -
2882258 기괴 ㅌㅊ ♥냥덩이♥갤로그로 이동합니다. 08.17 76 0
2882257 ai도 모르면 모르겠다고 해야할텐데 ㅇㅇ(121.159) 08.17 77 0
2882256 ai가 진실보다는 그럴듯하게 거짓말하는게 목적 [1] ㅇㅇ(121.159) 08.17 99 0
2882255 정신병있는 프갤러들 보니 [1] 밀우갤로그로 이동합니다. 08.17 109 0
2882254 냥덩이두 이제 늙고 병들엇나바.. [1] ♥냥덩이♥갤로그로 이동합니다. 08.17 101 0
2882253 세 ai의 답변이 모두 다르구나 [3] 헬마스터갤로그로 이동합니다. 08.17 133 0
2882252 나님 영생 프로토콜 가도오옹~! ♥냥덩이♥갤로그로 이동합니다. 08.17 77 0
2882251 paddle 연동법 좀 개 빡친다 진짜 [1] 프갤러(116.47) 08.17 97 0
2882250 일하는 사람들에게 기운을 북돋아주는 음악 발명도둑잡기갤로그로 이동합니다. 08.17 78 0
2882249 나님 주무시기전 소통⭐+ 질문받음 ♥냥덩이♥갤로그로 이동합니다. 08.17 75 0
2882248 요즘 일이 많아서 좀 힘들다 [2] 아스카영원히사랑해갤로그로 이동합니다. 08.17 86 0
2882247 고양이와 염색체 수 같아서 교배 가능한 종 발명도둑잡기갤로그로 이동합니다. 08.17 92 0
2882246 한국 힙합가수가 퓰리처상을 받는다면 발명도둑잡기갤로그로 이동합니다. 08.17 56 0
2882245 오늘의 발명 실마리: 모든 이미지 집개 손가락으로 합성 발명도둑잡기갤로그로 이동합니다. 08.17 58 0
2882244 냥덩열전 ♥냥덩이♥갤로그로 이동합니다. 08.17 63 0
2882243 한동근 ‘이 소설의 끝을 다시 써보려 해’ 발명도둑잡기갤로그로 이동합니다. 08.17 83 0
2882242 25살 고졸인데 인데 학원 없이는 웹개발자 불가능하지? [2] 프갤러(106.101) 08.17 206 0
2882241 M6 이상 모델 맥미니 풀옵션 사야징 [6/1] ♥냥덩이♥갤로그로 이동합니다. 08.17 108 1
2882240 저기 혹시 숫자를 암호화 하는거 중에서 [2] 감자쿤갤로그로 이동합니다. 08.17 91 0
2882239 수학을 암기 안하고 직접 증명한다고 하면 발명도둑잡기갤로그로 이동합니다. 08.17 75 0
2882238 저녁 발명도둑잡기갤로그로 이동합니다. 08.17 81 0
2882237 한 5년 이후엔 일반적인 코더로 일자리는 구하기 힘들거다.txt Kyle(203.99) 08.17 129 0
2882236 아 플러터 업뎃하니깐 린트에러 300개 뜨네 시발 [2] 프갤러(59.17) 08.17 91 0
2882235 왜 사람들은 냥덩이를 못 만지면 안달나는걸깡..? ♥냥덩이♥갤로그로 이동합니다. 08.17 76 0
2882234 미국 민주당이 망한 이유는 결국 에미넴 같은 백인 중하자산계급을 무시하고 발명도둑잡기갤로그로 이동합니다. 08.17 78 0
2882233 어우 끔찍해 박민준갤로그로 이동합니다. 08.17 89 0
2882232 나님 씼었어양⭐+ [1] ♥냥덩이♥갤로그로 이동합니다. 08.17 100 0
2882231 오늘의 발명 실마리: 코드 보고 자연어로 알아듣기 쉽게 설명하는 인공지능 [2] 발명도둑잡기갤로그로 이동합니다. 08.17 92 0
2882230 알고리즘 사실상 풀이 방법 암기잖아. [2] ㅆㅇㅆ(124.216) 08.17 114 0
2882229 국민 96% "전혀 안듣는다" 힙합 어쩌다 이지경 됐나? 발명도둑잡기갤로그로 이동합니다. 08.17 85 0
2882228 나씻주준⭐ ♥냥덩이♥갤로그로 이동합니다. 08.17 65 0
2882227 이재명: 좀비기업좀 줄여야 하지않나, 지원예산도 줄여야? ㅇㅇ(183.101) 08.17 109 0
2882226 일본에는 국민들이 예산 감시하는 제도가 있다고 이재명이 그러네 ㅇㅇ(183.101) 08.17 68 0
2882225 졸리당 ♥냥덩이♥갤로그로 이동합니다. 08.17 76 0
2882224 기재부 "내년 예산 지출구조조정으로 27조 절감…역대 최대" ㅇㅇ(183.101) 08.17 92 0
2882223 '케데헌' OST 작곡 이재 참여 광복 80년 기념곡 오늘 공개 발명도둑잡기갤로그로 이동합니다. 08.17 74 0
2882222 알고리즘 공부 어케 함? [4] 프갤러(114.205) 08.17 93 0
2882221 22년 전의 예언 발명도둑잡기갤로그로 이동합니다. 08.17 70 0
2882220 ㅇㅅㅇ ♥냥덩이♥갤로그로 이동합니다. 08.17 78 0
2882215 한글 프로그래밍의 꿈은 결국 인공지능 시대에 이루어졌다 [1] 발명도둑잡기갤로그로 이동합니다. 08.17 99 0
2882214 뀨? ♥냥덩이♥갤로그로 이동합니다. 08.17 63 0
2882212 오늘의 소설, 영화 실마리: 프갤 MT 발명도둑잡기갤로그로 이동합니다. 08.17 75 0
2882211 정신이 돌아오고 있는 냥덩이 발명도둑잡기갤로그로 이동합니다. 08.17 63 0
2882210 나같은 도태남은 주위에 여자가 없다 발명도둑잡기갤로그로 이동합니다. 08.17 73 0
2882209 나님 배뷰륩니댱⭐+ ♥냥덩이♥갤로그로 이동합니다. 08.17 68 0
2882205 배급재명 왕따인증참사에 기어간 극좌좀들 수준 ㅁㅌㅊ? ♥냥덩이♥갤로그로 이동합니다. 08.17 75 0
2882198 고수들은 프라이빗 말고 프리베이트라고 읽더라 [4] 카드캡터체리갤로그로 이동합니다. 08.17 112 0
2882197 나님은 천재가 아님 ♥냥덩이♥갤로그로 이동합니다. 08.17 59 0
2882193 21세기초 짱깨국 갓엇는대 ♥냥덩이♥갤로그로 이동합니다. 08.17 68 0
2882192 내일 출근이네 씨발 [3] 루도그담당(58.239) 08.17 89 0
뉴스 ‘불후의 명곡-임영웅과 친구들’ 이적·로이킴 등, 장르불문 임영웅의 음악 친구들 총 출동! 디시트렌드 08.29
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2