디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 67 추천 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 - -
2883702 경제대공황은 역시 이재명 ㅋㅅㅋ ♥냥덩Art♥갤로그로 이동합니다. 08.23 73 0
2883701 원격 데스크톱 연결로 회사 컴 연결해본사람??????? [4] 프갤러(118.32) 08.23 76 0
2883700 트럼프나 푸틴 둘다 적페의 아이콘 아닌던가? 넥도리아(220.74) 08.23 61 0
2883699 msp vs 오픈스택 머가낫냐? 프갤러(220.65) 08.23 55 0
2883698 러빨러가 러스트 플젝 안 하는 이유 나르시갤로그로 이동합니다. 08.23 62 0
2883697 러스트 악행, 어셈블리/c 코드를 unsafe 러스트로 래핑해서 나르시갤로그로 이동합니다. 08.23 57 0
2883696 편쿨섹좌가 알려주는 문크척수액의 진실 ♥냥덩Art♥갤로그로 이동합니다. 08.23 72 0
2883694 러빨러로 인하여 사람들이 러스트에 대해 혐오 나르시갤로그로 이동합니다. 08.23 53 0
2883693 밤샘하는 사람들의 공통점 ♥냥덩Art♥갤로그로 이동합니다. 08.23 51 0
2883692 러스트 빠돌이가 지능이 떨어지는 이유 [2] 나르시갤로그로 이동합니다. 08.23 67 0
2883689 Nimf는 실존 앱입니다. ㅎㅎ 나르시갤로그로 이동합니다. 08.23 54 0
2883688 권력자의 말로는 저격총이지. 넥도리아(220.74) 08.23 49 0
2883687 길거리에서 만난 도를아시나요가 나님 보고 한 말 [4] ♥냥덩Art♥갤로그로 이동합니다. 08.23 78 0
2883686 인류의 적 푸틴 죽이면 알바비 드립니다. [7] 넥도리아(220.74) 08.23 67 0
2883685 요즘 아무도 님프 추천 안합니다. 언급도 없어요 프갤러(110.8) 08.23 67 1
2883684 나르시 같은사람은 오픈소스하면서 거기 투자금먹고살면 딱인데 [3] 프갤러(211.193) 08.23 59 1
2883683 나르시님아 차세대 플젝 뭐할꺼임 [1] 프갤러(211.193) 08.23 54 0
2883682 다음에 시간날 때 러스트 빠돌이들의 범죄적 악행에 대해 나르시갤로그로 이동합니다. 08.23 45 0
2883681 나의 Nimf 프로젝트, 그 5년간의 나르시시즘 전쟁사 [1] 나르시갤로그로 이동합니다. 08.23 79 0
2883680 Nimf의 역사) 러빨러가 나를 비난하는 이유: 나르시시즘적 분노 나르시갤로그로 이동합니다. 08.23 72 0
2883679 Ada의 신뢰성과 안전성 나르시갤로그로 이동합니다. 08.23 87 0
2883678 러스트 쓰면 안 되는 이유 나르시갤로그로 이동합니다. 08.23 51 0
2883676 서버 방식 다국어 IME 만들 줄이나 아냐? 나르시갤로그로 이동합니다. 08.23 67 0
2883675 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩Art♥갤로그로 이동합니다. 08.23 50 0
2883674 청년세대가 극좌 기득권에 분노하는 이유 ♥냥덩Art♥갤로그로 이동합니다. 08.23 59 0
2883673 친중매국 이재명 때문에 IMF 경제공항 오는즁;; [2] ♥냥덩Art♥갤로그로 이동합니다. 08.23 76 0
2883672 ㅋㅅㅋ ♥냥덩Art♥갤로그로 이동합니다. 08.23 42 0
2883671 끙야기운 오다가셧당 ♥냥덩Art♥갤로그로 이동합니다. 08.23 52 0
2883670 물로켓 시절에 ime 하나 만든거 가지고 벗어나질 못하는구나. [2] 프갤러(110.8) 08.23 85 0
2883668 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩Art♥갤로그로 이동합니다. 08.23 63 0
2883667 ㄹㅇ 요즘 짱깨 맛 없더라 ♥냥덩Art♥갤로그로 이동합니다. 08.23 58 0
2883665 피해자없길바란다 프갤러(211.253) 08.23 78 0
2883664 이종각 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.23 60 0
2883663 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.23 58 0
2883662 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08.23 68 0
2883661 플머의 유일한 장점은 국가에 제한받지 않는다는거 아니겟냐 공기역학갤로그로 이동합니다. 08.23 67 0
2883660 Ada와 Rust는 그 점에서 흥미로운 대조 나르시갤로그로 이동합니다. 08.23 58 0
2883659 착 달라붙는 흰 티 입은 여자들 볼때마다 예쁘네 메쿠이로갤로그로 이동합니다. 08.23 77 0
2883658 프외자 이사람 ㄹㅇ 진짜 인생이 궁금함 ㅇㅇ(211.176) 08.23 101 0
2883657 도미노피자 예약 주문햇다 야옹아저씨갤로그로 이동합니다. 08.23 91 0
2883655 외국년 소주먹이고 반응 ㅇㅇ ㅇㅇ(58.229) 08.23 98 0
2883653 r&d예산 세계최고 또 증액 경재성장률은 씹운지 ㅋㅋㅋㅋ 뒷통수한방(1.213) 08.23 58 0
2883651 아마 2026년즘 Ada로 만든 Nimf 출시 예정이시다 나르시갤로그로 이동합니다. 08.23 63 0
2883649 IME(입력기)도 아키텍쳐가 얼마나 중요한데 [1] 나르시갤로그로 이동합니다. 08.23 78 0
2883647 역시 러스트로는 대규모 플젝 못해 나르시갤로그로 이동합니다. 08.23 70 0
2883646 뭐 대단한거 만든다고 아키텍처를 따지냐? 대충 해라 [1] 프갤러(110.8) 08.23 101 0
2883645 음기 충전 발명도둑잡기갤로그로 이동합니다. 08.23 58 0
2883644 좋은 일본노래 듣고갑시다 프로외노자갤로그로 이동합니다. 08.23 77 0
2883642 제 조립 릴스 보심? 방금 인스타그램. 넥도리아(223.38) 08.23 58 0
2883641 아키텍쳐 설계는 기술보단 노하우임 에이도비갤로그로 이동합니다. 08.23 74 0
뉴스 ‘백번의 추억’ 김다미-신예은-허남준, 80년대 청춘 3인방의 관계성은? 첫사랑 포스터 공개! 디시트렌드 08.28
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2