디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 85 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 우리나라를 대표해서 UN 연설자로 내보내고 싶은 스타는? 운영자 25/09/29 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47646 65
2894127 LG G5 샀다. 액정. H850 no frame으로... 넥도리아2025(220.74) 00:13 8 0
2894126 친구 시발새끼 하나 손절했음 [1] ㅇㅇ(118.235) 00:00 32 0
2894125 SK쉴더스 정보보안 보안관제 초봉 [4] 프갤러(118.235) 10.04 27 2
2894124 c레벨 대신에 족장 어떰 [2] 프갤러(110.8) 10.04 29 0
2894121 perpledity ceo는 나이도 어린데 부자됬으면 타이밍뒷.통수한방(1.213) 10.04 17 0
2894117 후라이드도 괜찬긴 하네 프갤러(210.217) 10.04 26 0
2894116 C레벨 <- 진짜 충격적인 판교어임 [8] 박민준갤로그로 이동합니다. 10.04 59 0
2894115 아씨발 닭강정 후라이드로 왔네 씨발 프갤러(210.217) 10.04 27 1
2894114 배달의`민족 3 만 원권 아무나 써 ! [1] ㅇㅇ(223.39) 10.04 13 0
2894113 토스도 고이면 문화가 죻아지지않을까? [2] 밀우갤로그로 이동합니다. 10.04 30 0
2894112 아 배달하는 새끼가 자전거네 씨발 프갤러(210.217) 10.04 28 1
2894111 햄버거 말고 닭강정 시킴 [1] 프갤러(210.217) 10.04 31 1
2894109 언리얼 제대로 쓸라면 문서에 있듯이 [5] ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 46 1
2894108 컴포지션 원탑으론 러스트 베비 게임 엔진이 있습니다. [4] 프갤러(110.8) 10.04 24 1
2894107 사실 엔진구조 자체는 유니티쪽이 더 신식임 [16] ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 55 0
2894106 ㅅㅂ 이직이많다는건 [2] 밀우갤로그로 이동합니다. 10.04 29 0
2894105 햄버거 떙기는데 햄버거 시킬까? [2] 프갤러(210.217) 10.04 32 1
2894103 C++ 잘아시는분? [8] ㅇㅇ갤로그로 이동합니다. 10.04 48 0
2894102 회사 평균퇴사율보면 토스는 오래가기 힘들어보이던데 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 48 0
2894101 이게 추석이지 [10] ㅇㅇ(121.168) 10.04 62 0
2894100 섹스<<이거 진짜 존재하는 행위냐? [2] ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 31 0
2894099 이력서 경력기술서 어케씀 ㅇ.ㅇ [6] 밀우갤로그로 이동합니다. 10.04 36 0
2894098 내 전문성은 비동기 프로그래밍과 클라 ui인데 ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 18 0
2894097 법원이 드디어 화난듯 ㅇㅇ(121.168) 10.04 30 0
2894096 국정농단 비선실세 논란 김현지 게이트 국감 특검 수사로 진실 밝혀야 [3] ♥덩냥이♥갤로그로 이동합니다. 10.04 26 0
2894095 나도 전문화라는걸 해야하는데 클라쪽 전문인데 ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 16 0
2894094 충격적임.. ♥덩냥이♥갤로그로 이동합니다. 10.04 21 0
2894093 대학원 수료한게 석사쪽 의뢰가 간간히 오는게 장점 ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 23 0
2894092 오늘 코퍼스 언어학 관련 말뭉치해석 파싱 파이프라인 만듬 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 10.04 25 0
2894090 웨이랜드 좆같은거 맞음 ㅇㅇ [5] 박민준갤로그로 이동합니다. 10.04 29 0
2894089 내란범 뇌물범만 골라서 빠는 2찍 일베들만 하겠냐 [3] 프갤러(110.8) 10.04 32 2
2894088 2찍은 민주당 정권이 하는 모든것에 반대하지 않는다 ㅇㅇ(121.168) 10.04 22 0
2894087 토스도 판교어쓰냐? [2] 밀우갤로그로 이동합니다. 10.04 39 0
2894084 내일 하루 쉬고 또 매일 일해야 하는구나 ㅠㅠ 나르시갤로그로 이동합니다. 10.04 19 0
2894082 weston 업무용 데탑에 대해 레딧에 나르시갤로그로 이동합니다. 10.04 15 0
2894081 속보) 이진숙 방통위원장 불법체포 기각 [4] ♥덩냥이♥갤로그로 이동합니다. 10.04 40 1
2894080 일단 사람 수준은 갖추고 정치 논하자 [2] 프갤러(61.74) 10.04 30 0
2894078 중졸 이하들이 위선이 어쩌고 저쩌고 [4] 프갤러(27.175) 10.04 34 0
2894077 민주당 정권이 위선을 독점하는게 아님 ㅇㅇ(121.168) 10.04 17 0
2894076 코딩을 너무 쉽게 생각해서 문제다. [1] 프갤러(59.16) 10.04 44 0
2894075 술은 무조건 낮술임 [8] ♥덩냥이♥갤로그로 이동합니다. 10.04 41 0
2894074 연휴 모하지 하는 달붕이들은 위한 유흥 가성비 대충 정리 ㅇㅇ(118.235) 10.04 17 0
2894073 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 10.04 15 0
2894072 인생 선배님들 질문을 여쭙습니다 RPA 직렬 [2] 케인즈갤로그로 이동합니다. 10.04 32 0
2894070 2찍이 실력 타령하는게 제일 이해 안돼 [3] 프갤러(223.63) 10.04 34 0
2894068 취미로 플밍하는새끼들 특징 [1] 프갤러(211.235) 10.04 46 0
2894067 판교어는 중견까지만 잘 쓰는듯. [2] 프갤러(211.177) 10.04 56 1
2894066 갈비 먹습니다. 넥도리아(220.74) 10.04 26 0
2894061 내가 맥주를 안먹는 이유 프갤러(210.217) 10.04 26 1
뉴스 악뮤 수현, 아이유 패션 지적 “예쁜 옷만 입지…” 울상 디시트렌드 10.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2