PowerPoint 프레젠테이션

Similar documents
<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

쿠폰형_상품소개서

텀블러514

SMV Vending Machine Implementation and Verification 김성민 정혁준 손영석

Index

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서


10X56_NWG_KOR.indd

대학교육151호-합침

°¡°Ç2¿ù-ÃÖÁ¾

Macaron Cooker Manual 1.0.key

PowerPoint 프레젠테이션

나눌건강세상시안 판형수정

09드림파크cover 97%

DA C.4.

Buy one get one with discount promotional strategy

untitled

User Guide

LCD Display

174..1,2,7,8..*****

사운드네트워크(주)_소개서 KEYNOTE( )

B _01_M_Korea.indb

서울대소식지24호_최종

야쿠르트2010 3월 - 최종

B _00_Ko_p1-p51.indd

2힉년미술

키오스크12 p

Solaris Express Developer Edition

Index

Remote UI Guide

[회사소개] INTRODUCTION 1-1. 회사 개요 1-2. 기업연혁 1-3. 브랜드 스토리 1-4. 입점 현황 [특징] CHARACTERISTIC 2-1. 아이스크림 젤라또의 시장변화 2-2. 아이스크림 vs 젤라또 차이점 2-3. 제품특징 2-4. 젤라또 제품

2012-1¿ùÇ¥Áö.ps

Index

목차도비라

#KM-350AB..

사무엘하 적용

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

영어-중2-천재김-07과-어순-B.hwp

2

추천DVD_1308

휠세미나3 ver0.4

00 SPH-V6900_....

비지니스 이슈(3호)


H3050(aap)

?햷숏

I care - Do you?

untitled

Orcad Capture 9.x

KM-380BL,BLB(100908)

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

삼교-1-4.hwp

3 Gas Champion : MBB : IBM BCS PO : 2 BBc : : /45


<C1F6BDC4B0E6BFB5BFACB1B83136B1C734C8A33132BFF92E706466>

# KM

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

µðÇÃÇ¥Áö±¤°í´Ü¸é

<4D F736F F D20B0D4C0CCC6AEBFFEC0CC5FBFB9B9AEC7D8BCAE5FB7B9BDBC33342D36362E646F63>

untitled

Microsoft Word - USB복사기.doc

untitled

발간등록번호

#KM-250š

K7VT2_QIG_v3

AMP는 어떻게 빠른 성능을 내나.key

Sovereign debt concerns mask Asian strength

歯Chap1-Chap2.PDF

내가 생애 최초로 외국인 저명인사를 인터뷰한 것은 무모하게도 입사 3년차에 미숙약관의 나이 25살이던 1961 년 대만에서 후시( 胡 適 ) 작사를 만난 것이다. 그는 철학자로 중국의 백화문( 白 話 問 =구어체)운동을 지도한 근대 화의 선구자요 대표적인 지식인이었다.

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

슬라이드 1

CD-RW_Advanced.PDF

manual pdfÃÖÁ¾

003_°³Á¤3ÀúÀ۱dz»Áö

Voice Portal using Oracle 9i AS Wireless

HX - Operation Manual MC / TC / CUT / QT HX Series(V2.x) Operation Manual for MC / TC / CUT / QT CSCAM

±â¾÷¼³¸íȸ

#KM560

차례 사용하기 전에 준비 및 연결 간편 기능 채널 관련 영상 관련 음성 관련 시간 관련 화면잔상 방지를 위한 주의사항... 4 각 부분의 이름... 6 제품의 설치방법 TV를 켜려면 TV를 보려면 외부입력에 연결된 기기명을 설정하려면..

Health Essay 성경훈 대표원장의 척추 관절 전문의 고르는 법 척추 관절 질환, 의사를 잘 만나야 합니다 글 성경훈 21세기병원 대표원장 사진 백기광(스튜디오100) 환자에게 적극적으로 많이 질문하는 의사를 만나세요. 최소한 성의 있는 의사일 것입니다. 나아가

2014년 유료방송심의2팀 심의의결현황(10월).xls

한국 전자결제시장의 구조적 특징과 발전방안

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


150430_PG-9037_manual

¿ì¸®Áö07¿ù

Publisher s Letter - 사진 글 신동옥 시인 CONTENTS 2014 WINTER 04 _ Theme Story 겨울이 더욱 행복해지는 엘리시안 강촌 樂 樂 樂 페스티발! 10 _ Golfer s Story 공을 다스리는 남자, 최고의 골퍼 배상문 12

MAX+plus II Getting Started - 무작정따라하기

untitled

13.08 ②분석

00_표지.indd

. "" "",.... :...,,....,.. :..,,,..,,...,.... 2

레이아웃 1

p. 10 Before You Read p. 26 Understanding the Story ( ).,.,..,,...,...

#KM-235(110222)

Microsoft Word - Week Ahead_Economy.docx

<28C3D6C1BE3129C0DAC1D6C7D020C1F6B5B5BCAD28C3CAB5EEC7D0BBFDBFEB292E687770>

PowerPoint 프레젠테이션

LCD Monitor

대학연합교회 샤인 강단 문서답같은 대답을 제자들에게 주 었던 것은 사실 숨겨진 칭찬이었습 무식하고 가난한 제자들이었 생활, 사회생활 등 말씀대로 하지 않는 모습이 너무 많습 특별 히 일주일에 한 번밖에 없는 주일예 신앙인 것입 하나님께서 한국 교회에 경고하시는 부분이

Transcription:

Cadence SMV Vending Machine 김그린김바울

INDEX 1. Problem Analysis 2. Modeling 3. Model Checking

1. Problem Analysis Default Money Inserted Count Money Reject Money Cancel Give Change Default Not Enough Money Cancel Enough Money Select Beverage & Coffee Selected Dispense Not Selected

1. Problem Analysis Money Inserted input_money total_money Count Money Default Reject Money Cancel Not Enough Money Give Change in_50,in_100,in_500,in_1000 out_50,out_100,out_500,out_1000 Cancel Default no,apple_can,beer_can,coke_can water,coffeepowder,sugar,cream Enough Money refund_button,apple_button.beer_button Coke_button,drpepper_button apple,beer,coke,drpepper,energy Select Beverage & Coffee Selected Dispense black,sugar,cream,milk,max Not Selected

1. Problem Analysis money dispense input_money : {input_0,input_50,input_100,input_500,input_1000}; total_money :{0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1150,1200,1250, 1300,1350,1400,1450,1500,1550,1600,1650,1700,1750,1800,1850,1900,1950,2000,2050,2100,2150,2200,2250,2300,2350,2400,245 0,2500,2550,2600,2650,2700,2750,2800,2850,2900,2950,3000,3050,3100,3150,3200,3250,3300,3350,3400,3450,3500,3550,3600,3 650,3700,3750,3800,3850,3900,3950,4000,4050,4100,4150,4200,4250,4300,4350,4400,4450,4500,4550,4600,4650,4700,4750,4800,4850,4900,4950,5000}; in_50,out_50 :{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,4 1,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83, 84,85,86,87,88,89,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100}; in_100,out_100 : {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,4 6,47,48,49,50}; in_500,out_500 : {0,1,2,3,4,5,6,7,8,9,10}; in_1000,out_1000 : {0,1,2,3,4,5}; dispense : {no,apple_can,beer_can,coke_can,drpepper_can,energy_can,black_cup,sugar_cup, cream_cup,milk_cup,max_cup} display button stock apple_display : {on,off,out_of_stock} beer_display: {on,off,out_of_stock} coke_display : {on,off,out_of_stock} drpepper_display: {on,off,out_of_stock}; energy_display : {on,off,out_of_stock}; black_display : {on,off,out_of_stock}; sugar_display : {on,off,out_of_stock}; cream_display : {on,off,out_of_stock}; milk_display : {on,off,out_of_stock}; max_display : {on,off,out_of_stock}; lamp : boolean; extra_display : {money_display,water_display}; input_button :{no,refund,apple,beer,coke,drpeppe r,energy,black,sugar,cream,milk,max}; refund_button : boolean; apple_button : boolean; beer_button : boolean; coke_button : boolean; drpepper_button : boolean; energy_button : boolean; black_button : boolean; sugar_button : boolean; cream_button : boolean; milk_button : boolean; max_button : boolean; apple_stock : {0,1,2,3,4,5,6,7,8,9,10}; beer_stock : {0,1,2,3,4,5,6,7,8,9,10}; coke_stock : {0,1,2,3,4,5,6,7,8,9,10}; drpepper_stock : {0,1,2,3,4,5,6,7,8,9,10}; energy_stock : {0,1,2,3,4,5,6,7,8,9,10}; water_stock : {0,1,2,3,4,5,6,7,8,9,10}; coffeepowder_stock : {0,1,2,3,4,5,6,7,8,9,10}; sugar_stock : {0,1,2,3,4,5,6,7,8,9,10}; cream_stock : {0,1,2,3,4,5,6,7,8,9,10};

2. Modeling 50 550 1050 4550 4050 3550 3050 2550 2050 1550 500 1000 1500 5000 4500 4000 3500 3000 2500 2000 100 600 1100 4600 4100 3600 3100 2600 2100 1600 150 650 1150 4650 4150 3650 3150 2650 2150 1650 200 700 1200 4700 4200 3700 3200 2700 2200 1700 250 750 1250 4750 4250 3750 3250 2750 2250 1750 300 800 1300 4800 4300 3800 3300 2800 2300 1800 350 850 1350 4850 4350 3850 3350 2850 2350 1850 400 900 1400 4900 4400 3900 3400 2900 2400 1900 450 950 1450 4950 4450 3950 3450 2950 2450 1950 input_0 input_50 input_1000 input_500 input_100 apple_button

2. Modeling input_0 input_50 input_100 input_500 input_1000 apple_button 50 100 500 1000 next(total_money) := total_money +0 next(in_50) := in_50 +1 next(total_money) := total_money +50 next(in_100) := in_100 + 1 next(total_money) := total_money +100 next(in_500) := in_500 +1 next(total_money) := total_money +500 next(in_1000) := in_1000 + 1 next(total_money) := total_money +1000 total_money 500 && apple_stock 1 total_money 500 && beer_stock 1 total_money 300 && coffeepower_stock 1&&water_stock 1 &&sugar_stock 1&&cream_stock 1&&cup_stock 1 next(apple_displa y) := on next(beer_display) := on next(milk_coffee) := on next(max_coffee) := on

2. Modeling next(apple_displa y) := on next(beer_display) := on next(milk_coffee) := on next(max_coffee) := on Default next(display) := on or off out_of_stock next(dispense) := can or cup next(total_money) := total_money - price next(stock) := stock - 1 refund_button next(display) := off or out_of_stock next(total_money) := 0 next(in_50) := 0

test1 : Assert G(total_money = 3600 & input_money=input_500&refund_button=0 -> X(total_money=4100)); test2 : Assert G(total_money = 3600 & input_button=apple & refund_button=0 & input_money=input_500 -> X(total_money=4100)); test3 : Assert G(total_money = 3600 & input_button=apple & input_button=drpepper -> X(dispense=apple_can & dispense=drpepper_can)); test4 : Assert G(total_money = 3600 & input_button=apple & refund_button=1 -> X(dispense=apple_can & total_money=0)); test5 : Assert G(total_money = 3600 & input_button=black & input_button=max -> X(dispense=black_cup & dispense=max_cup));

test6 : Assert G(total_money = 3600 & apple_display=on & apple_stock=0 -> X(apple_display = out_of_stock)); test7 : Assert G(total_money = 600 & input_button=apple & apple_display=on & refund_button=1 -> X(apple_display = off)); test8 : Assert G(total_money = 1000 & refund_button=1 -> X(out_1000 = 1)); test9 : Assert G(total_money = 600 & apple_button=1 & refund_button=1 -> X(out_100 = 1 & dispense=apple_can)); test10 : Assert G(total_money = 600 & max_button=1 & coffeepowder_stock > 1 & water_stock > 1 & cream_stock > 1 & sugar_stock = 0 -> X(dispense~=max_cup));

test1 : Assert G(total_money = 3600 & input_money=input_500&refund_button=0 -> X(total_money=4100));

test2 : Assert G(total_money = 3600 & input_button=apple & refund_button=0 & input_money=input_500 -> X(total_money=4100));

test3 : Assert G(total_money = 3600 & input_button=apple & input_button=drpepper -> X(dispense=apple_can & dispense=drpepper_can));

test4 : Assert G(total_money = 3600 & input_button=apple & refund_button=1 -> X(dispense=apple_can & total_money=0));

test5 : Assert G(total_money = 3600 & input_button=black & input_button=max -> X(dispense=black_cup & dispense=max_cup));

test6 : Assert G(total_money = 3600 & apple_display=on & apple_stock=0 -> X(apple_display = out_of_stock));

test7 : Assert G(total_money = 600 & input_button=apple & apple_display=on & refund_button=1 -> X(apple_display = off));

test8 : Assert G(total_money = 1000 & refund_button=1 -> X(out_1000 = 1));

test9 : Assert G(total_money = 600 & apple_button=1 & refund_button=1 -> X(out_100 = 1 & dispense=apple_can));

test10 : Assert G(total_money = 600 & max_button=1 & coffeepowder_stock > 1 & water_stock > 1 & cream_stock > 1 & sugar_stock = 0 -> X(dispense~=max_cup));

Any question? Thank you