디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 58 추천 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/18 - -
AD 전자제품 세일쇼! 운영자 25/08/19 - -
2882344 태연 ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 08.18 36 0
2882343 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08.18 28 0
2882342 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08.18 27 0
2882341 저 졸업작픔 주제 추천좀 [7] 공기역학갤로그로 이동합니다. 08.18 68 0
2882340 자격증은 따볼까 생각중이다. 근데 3개월전 검색했던 자격증이 뭔지 몰라요 넥도리아(14.35) 08.18 26 0
2882339 여행은 시원할때만 가는게 맞당 ♥냥덩이♥갤로그로 이동합니다. 08.18 28 0
2882338 [애니뉴스] 귀인환등초 鬼人幻燈抄 - 오후우 おふう 프갤러(121.172) 08.18 24 0
2882336 c#이 c++++이었음? [2] 뉴진파갤로그로 이동합니다. 08.18 67 0
2882335 다시 맑아졌다. 넥도리아(14.35) 08.18 22 0
2882333 짱깨들 코딩 개잘하노 [2] 뉴진파갤로그로 이동합니다. 08.18 81 0
2882332 sql 파일 포맷인거 처음암 뉴진파갤로그로 이동합니다. 08.18 41 0
2882331 러스트 빠돌이들 눈돌아갈 Ada의 주요 특징 ㅋㅋ 나르시갤로그로 이동합니다. 08.18 30 0
2882330 당월 익월 이런 용어는 왜쓰는거냐? [7] 헬마스터갤로그로 이동합니다. 08.18 64 0
2882329 빌게이츠 한국오노 ㅇ.ㅇ(59.151) 08.18 37 0
2882328 전략은 분석선행 필수 ♥냥덩이♥갤로그로 이동합니다. 08.18 28 0
2882327 나의 웹앱땔깜개발자들과의 싸움 이렇게 쉽게 이기면 안되는데 [1] 네오커헠(1.237) 08.18 128 0
2882326 숨고 코딩 강사들 보면 [1] 루도그담당(118.235) 08.18 68 0
2882325 4050 썩은물로 부패하는 한국 ♥냥덩이♥갤로그로 이동합니다. 08.18 67 0
2882320 인지과학조져라 [4] 손발이시립디다갤로그로 이동합니다. 08.18 70 0
2882319 자바 문법 GR 같아서 못 해 먹겠네 증말. [4] 프갤러(59.16) 08.18 71 0
2882317 나님 왤케 특별하실깡? ♥냥덩이♥갤로그로 이동합니다. 08.18 49 0
2882316 나님 끙야즁❤+ ♥냥덩이♥갤로그로 이동합니다. 08.18 28 0
2882315 토요코키즈 ♥냥덩이♥갤로그로 이동합니다. 08.18 32 0
2882314 요새 집필 중인 1.2 Ada의 주요 특징 나르시갤로그로 이동합니다. 08.18 35 0
2882313 러스트 팬들이 놀랄 만한 Ada의 특징들 나르시갤로그로 이동합니다. 08.18 45 0
2882311 일본인을 한국의 기준으로 판단이 힘든 이유 프로외노자갤로그로 이동합니다. 08.18 63 0
2882310 동일노동 동일임금이 잘 되려면 노동강도 조사가 잘 되야 발명도둑잡기갤로그로 이동합니다. 08.18 42 0
2882309 건설업종 안전관리자가 직업에 회의감 발명도둑잡기갤로그로 이동합니다. 08.18 49 0
2882308 2030 줄고 4050 고인물천국된 판교 - 뉴스 ㅇㅇ(183.101) 08.18 75 0
2882307 이번달은 안정권이다 씨발ㅋㅋㅋ 저번달 통수만 안당했어도 ㅆㅇㅆ(124.216) 08.18 66 0
2882306 쿠팡 개발자는 노동자 죽이는 앱 개발 하다가 [6] 발명도둑잡기갤로그로 이동합니다. 08.18 102 0
2882305 오늘도 외주하나 깔쌈하게 끝냈다 [1] ㅆㅇㅆ찡갤로그로 이동합니다. 08.18 88 0
2882304 쿠팡 노조 가입 희망자 발명도둑잡기갤로그로 이동합니다. 08.18 49 0
2882303 음기 충전 발명도둑잡기갤로그로 이동합니다. 08.18 64 0
2882302 AI 는 패턴매칭 맞지만, 알려지지않은 패턴도 거의없잖아? 피치(183.101) 08.18 51 0
2882301 ㄹㅇ 아빠회사가 최고다 [1] 프갤러(1.226) 08.18 79 0
2882299 이불 안에서 태블릿 하는 보니 발명도둑잡기갤로그로 이동합니다. 08.18 39 0
2882297 영화 <숟가락 살인자> 있대서 생각나는 것 발명도둑잡기갤로그로 이동합니다. 08.18 49 0
2882295 참 살기좋은 아름다운 나라여 ㅋㅋ 뒷통수한방(1.213) 08.18 42 0
2882294 <토이 스토리4> 예고편 보고 생각나는 것 발명도둑잡기갤로그로 이동합니다. 08.18 130 0
2882292 C로 이것저것 만들다보면 어디라도 취직은 할까? [4] 프갤러(59.24) 08.18 112 0
2882291 인공지능 시대 없어진 직업 드라마 발명도둑잡기갤로그로 이동합니다. 08.18 71 0
2882289 찬란하진 않지만 순방은 가능하자나? 프갤러(61.79) 08.18 43 0
2882287 냥덩이란 캐릭터는 참 편리하단 말이지.. 키킼 ♥냥덩이♥갤로그로 이동합니다. 08.17 54 0
2882286 오늘의 작명 실마리: 밴드명 숫가락, 멤버 금은동흙 발명도둑잡기갤로그로 이동합니다. 08.17 25 0
2882285 물리적으로 기억조작 가능 ♥냥덩이♥갤로그로 이동합니다. 08.17 73 0
2882284 오늘의.작명 실마리: 예명을 불우이웃으로 [2] 발명도둑잡기갤로그로 이동합니다. 08.17 31 0
2882281 명주실 뽑는 유상아 발명도둑잡기갤로그로 이동합니다. 08.17 27 0
2882278 음의 시간이 국부적으로 가능하면 나님만 제외시키면 ♥냥덩이♥갤로그로 이동합니다. 08.17 50 0
2882276 나님..우주의비밀을 탐구 [3] ♥냥덩이♥갤로그로 이동합니다. 08.17 65 0
뉴스 1980년대 스크린 뒤편 이야기, 이하늬 주연 넷플릭스 시리즈 ‘애마’ 공개 디시트렌드 08.19
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2