Structure Analysis & Structure Design 유진혁 이찬희 최현빈 한경미

Similar documents
S A S D 발표 : 구태환

Requirement Definition Wheel Motor 작동하는경우장애물인식후 - Ultrasonic Sensor 홀수번누를경우 +10 Touch Sensor 누를경우 TouchSensor 계속누르고있을경우 (0.5) +10 짝수번누를경우 -10 빛이어두워졌다다

Requirement Definition Wheel Motor 작동하는경우장애물인식후 - Ultrasonic Sensor 홀수번누를경우 +10 Touch Sensor 누를경우 TouchSensor 계속누르고있을경우 (0.5) +10 짝수번누를경우 -10 계속누르고있을경

RVC Robot Vaccum Cleaner

PowerPoint 프레젠테이션

차례 마인드스톰 NXT NXC 예제소스코드

Microsoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx

PowerPoint Template

Microsoft PowerPoint - T3 SASD(2).pptx

PowerPoint Template

Index Process Specification Data Dictionary

API 매뉴얼

PowerPoint Template

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

슬라이드 1

PowerPoint 프레젠테이션

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

슬라이드 1

UI TASK & KEY EVENT

chap 5: Trees

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

API 매뉴얼

Microsoft PowerPoint - Java7.pptx

UI TASK & KEY EVENT

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션



JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft Word - USB복사기.doc

Lab 3. 실습문제 (Single linked list)_해답.hwp

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

쿠폰형_상품소개서

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

PowerPoint Template

ez-shv manual

Microsoft Word - PLC제어응용-2차시.doc

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

hwp

282서비스업관리-마트

PJTROHMPCJPS.hwp

Microsoft Word - [TP_3][T1]UTP.docx

실험 5

PowerPoint Presentation

PowerPoint 프레젠테이션

Contents. Phase Revise Plan --- Phase Synchronize Artifacts --- Phase 2130 Analyze Activity2131. Define Essential Use Cases --- Activity21

untitled

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Promise for Safe & Comfortable Driving

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

KEY 디바이스 드라이버

Ver. 1.0 Unit Testing Plan for POS System Test Plan Test Design Specification Test Cases Specification Project Team Team 3 Date Team Inform

PowerPoint 프레젠테이션

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

Microsoft PowerPoint - polling.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

IoT FND8 7-SEGMENT api

2002년 2학기 자료구조

istay

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

슬라이드 1

02-1기록도전( )

03-1영역형( )

목 록( 目 錄 )

adfasdfasfdasfasfadf

슬라이드 1

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

Microsoft PowerPoint - 07-Data Manipulation.pptx

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

슬라이드 1

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

Javascript

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Digital watch system

서보교육자료배포용.ppt

Microsoft Word - src.doc

jy-i3000.indd

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft PowerPoint - e pptx

±Â¸ð´×ÀÎõ ÃÖÁ¾

(SW3704) Gingerbread Source Build & Working Guide

BY-FDP-4-70.hwp

Copyright 2007 Hewlett-Packard Development Company, L.P. Windows 는 Microsoft Corporation 의 미국 등록 상표입니다. 본 설명서의 내용은 사전 통지 없이 변경될 수 있습니다. HP 제품 및 서비스에 대

CANTUS Evaluation Board Ap. Note


untitled

LCD Display

Microsoft PowerPoint - chap-03.pptx

歯FDA6000COP.PDF

Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

슬라이드 1

슬라이드 1

C프로-3장c03逞풚

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Transcription:

Structure Analysis & Structure Design 200811440 유진혁 200811449 이찬희 200811462 최현빈 200811464 한경미

문제정의 모터 ( 바퀴 + 브레이크 ) 동작 정지상태에서시작 - 속도값이 0 이상이면직선으로전진 - 전방장애물인식시, 방향전환후다시전진 방향전환시 - 전방에장애물발견 : 왼쪽 90도회전후직진 - 여전히장애물존재 : 왼쪽 180도회전후직진 - 그래도여전히장애물존재 : 오른쪽 90도회전후직진 방향전환방법 - 왼쪽 90도전환할때 : 0.5초간오른쪽모터 50% 속도로앞으로 0.5초간왼쪽모터 100% 속도로뒤로 - 180도전환할때 : 1초간오른쪽모터 50% 속도로앞으로 1초간왼쪽모터 50% 속도로뒤로 - 오른쪽 90도전환할때 : 0.5초간오른쪽모터 100% 속도로뒤로 0.5초간왼쪽모터 50% 속도로앞으로

문제정의 (Cont.) Display 동작 시작상태 : Working 출력 시작후 - 모터동작중 : Working 출력 - 모든모터정지시 : Sleeping 출력 스피커동작 어두워질경우 : Night 출력 다시시작할때 : Good Morning 출력 박수소리에맞춰서 Thank You 출력 정지와직진시에만동작한다.

문제정의 (Cont.) Interrupt 로동작한다. 직진시에만유효 Ultrasonic 센서동작 터치센서동작 터치가 1회발생시마다, 1회터치마다속도가 10씩증가 ( 감소 ) 출력값 1이지속되면, 0.5초마다속도가 10씩증가 ( 감소 ) 정지와직진시에만유효

문제정의 (Cont.) 빛센서동작 출력값이 40 이하이면브레이크작동 - 5초후센싱하여출력값이 40을초과할경우다시전진 - 5초후센싱하여출력값이 40이하일경우모든모터를정지 - 5초에한번씩센싱하여 40 초과의출력값이들어오면다시전진 정지와직진시에만유효 소리센서동작 출력값이 70 이상이면 Thank You 출력 직진시에만유효

문제정의 (Cont.) 시스템범위및구조 - Input Sensor : 입력센서를통해상황을인식한다. - Speaker : 제어결과에따라소리를출력한다. - Wheel : 제어결과에따라로봇을이동시킨다. - Display : 제어결과에따라화면에정보를표시한다. - Break : 제어결과에따라로봇을정지시킨다. - Control : 입력센서의입력정보에따라로봇의작동을제어한다.

문제정의 (Cont.) 입력센서 - Ultrasonic Sensor : 장애물인식 - Sound Sensor : 박수소리인식 - Light Sensor : 밝기인식 - Touch Sensor : 터치인식

문제정의 (Cont.) 주요시나리오 - 장애물인식 1) 왼쪽 90 도 2) 왼쪽 180 도 3) 오른쪽 90 도 - 터치를이용해속도조절 - 박수소리에반응해서 Thank You 소리출력 - 빛에반응해서동작제어

DFD Level 0 Ultrasonic Sensor Sound Sensor Light Sensor Light Robot Control 0 Motor Speaker Touch Sensor Display Digital Sensor

로봇제어정보테이블 정보 설명 Distance Ultrasonic Sensor 를통해들어오는사물과의거리정보를나타낸다. Sound Sound Sensor 를통해들어오는소리의정보를나타낸다. Light Light Sensor 를통해들어오는밝기의정보를나타낸다. Touch 터치센서를사용자가눌렀음을나타낸다. Time 타이머인터럽트로서 10ms 주기로입력된다. Motor 모터의속도와방향전환, 브레이크을위한모터제어를가진정보 Speak Speaker 를통해서외부로의출력정보를나타낸다. Display 외부로출력할단어정보를나타낸다.

DFD Level 1 Light Input Light 1.1 [Periodic Device] Break 1.6 Break Distance Input Sound Input Ultrasonic 1.2 [Periodic Device] Sound 1.3 [Periodic Device] Sensor Control 1.5 Motor 1.6 Speaker 2.4 Motor Speak Touch Input Touch 1.4 [Asynchronou s Device] Display 2.5 Display

프로세스명세 1.1 Light Stereotype Input Output Periodic Function Light Input (int) Light(1~100) Process Light Sensor 에서 Light Input 을받으면 Sensor Control 프로세스에 Light 정보를보낸다. Light 는 Light Sensor 에서감지한밝기정보데이터이다. 1.2 Ultrasonic Stereotype Input Output Periodic Function Distance Input (bool) Distance Process Ultrasonic Sensor 에서 Distance Input 을받으면 Sensor Control 프로세스에 Distance 를보내어장애물이있음을알린다. Distance 는 True/False 로구분되며 0~255cm 사이에장애물이있으면 True 이다.

프로세스명세 1.3 Sound Stereotype Input Output Periodic Function Sound Input (int) Sound(0~100) Process Sound Sensor 에서 Sound Input 을받으면 Sensor Control 프로세스에 Sound 정보를보낸다. Sound 는 Sound Sensor 에서감지한소리의크기정보데이터이다. 1.4 Touch Stereotype Input Output Asynchronous Function Touch Input (bool) Touch Process Touch Sensor 에서 Touch Input 을받으면 Sensor Control 프로세스에 Touch 를보내어 Touch Input 이들어왔음을알린다. Touch 는 True/False 로구분되며입력이들어왔을때가 True 이다.

프로세스명세 1.6 Motor Stereotype Input Output Asynchronous Function Motor Action Motor Process Motor Action 데이터를받아 Motor 에게데이터를보내어움직이게하는프로세스이다. 1.7 Speaker Stereotype Input Output Asynchronous Function Speak Info Speak Process Speak Info 데이터를받아 Speaker 에게 Speak 데이터를보내어소리를내게하는프로세스이다.

프로세스명세 2.5 Display Stereotype Input Output Asynchronous Function Display Info Display Process Display 데이터를받아 Display 에게 Display 데이터를보내어화면을출력하게하는프로세스이다.

DFD Level 3 Information Move Forward 2.1.3 Motor Action Sensor Control 1.5.2 Unit Controller 1.5.1 Turn 2.1.4 Motor Action Informationuc Time Break 2.1.5... Break Action

DFD Level 3(Cont.) Information... Speak GoodMorning 2.1.6 Sound Info Sensor Control 1.5.2 Unit Control 1.5.1 Speak Night 2.1.7 Speak ThankYou 2.1.8 Sound Info Sound Info Display Working 2.1.9 Display Info Informationuc Time Display Sleeping 2.1.10 Display Info

프로세스명세 2.1.1 Unit Control Stereotype Input Output Control (bool)isdark, (bool)isclap, (bool)isobstacle, (int)speed Trigger, Enable/Disable, (int)speed Process 현재의상태에서입력에따라행동을결정하고, 행동을수행하기위한이벤트를발생시킨다 2.1.2 Move Forward Stereotype Input Output Synchronous Function Enable/Disable, (int)speed Motor Action(int, int) Process Enable 이벤트가발생시수행이되며 Wheel 에게 Wheel 데이터를보내어 Motor A, C 가앞으로동작하도록하는프로세스이다.

프로세스명세 2.1.3 Turn Stereotype Input Output Synchronous Function Trigger, (int)obcount (int, int)break Process 0.5 초간 Motor A, C 에 50 의출력으로 A( 좌 ) 는뒤로 C( 우 ) 는앞으로출력을주어서왼쪽으로돌게한다. 2.1.4 Break Stereotype Synchronous Function Input Enable/Disable Output (True, int)break Process Enable 이벤트가발생시수행이되며브레이크가동작을하게한다.

프로세스명세 2.1.5 Speak GoodMorning Stereotype Synchronous Function Input Trigger Output Sound(Good Morning) Process Good Morning을 Speak하게한다. 2.1.8 Speak Night Stereotype Synchronous Function Input Trigger Output Sound(Night) Process Night을 Speak하게한다.

프로세스명세 2.1.9 Speak Thankyou Stereotype Synchronous Function Input Trigger Output Sound(Thank you) Process Thank you을 Speak하게한다. 2.1.10 Display Working Stereotype Input Output Synchronous Function Enable/Disable Display(Working) Process Enable 이벤트가발생시수행이되며, Display 에 Working 을띄우도록한다.

프로세스명세 2.1.11 Display Sleeping Stereotype Input Output Synchronous Function Enable/Disable Display(Sleeping) Process Enable 이벤트가발생시수행이되며, Display 에 Sleeping 을띄우도록한다.

FSM(Unit Control) /Enable Move Forward!isDark &!isobstacle & isclap / Trigger Speak Thank You!obStacle / obcount = 0 isdark &!isdarked &!darkagain /Enable Break, isdark = true darkagain = true Move Forward timeout(5) &!isdark / Disable Break ' darkagain = false Break!isDark & isobstacle[obcount == 1] / Disable "Move Forward", Trigger "Turn 180" obcount++ timeout(1) &!isobstacle / Enable Move Forward Turn Left Turn 180 Turn Right All Stop

1.1 [P] 1.2 [P] 1.3 [P] 1.4 [A] 1.5. 1 [C] Information Informationuc 2.1. 1 [C] 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2 [A] 2.3 [A] 2.4 [A] 2.1.8 2.5 [A] 2.1.10

데이터사전 데이터명 Clap Dark Obstacle Information 설명 Sound Sensor 를통해들어오는소리가 70 이이상임을 True/False 로보내어, Speaker 를통해출력을하게한다. True 는 70 이상일때 False 는 70 미만일때 Light Sensor 를통해들어오는빛의밝기가 40 이하임을알림을받아, True/False 로보낸다. True 는 40 이하. Ultrasonic Sensor 를통해 Distance 의 True/False 를받아서 True/False 데이터로내보낸다. True 는장애물이있을때, False 는장애물이없을때 bool isclap - 주변소리가일정이상을넘으면 True bool isobstacle - 장애물과의거리가 10 이하면 True bool isdark - 주변의밝기가 40 이하면 True int speed - speed 를저장함 bool speedsign - Touch 버튼을눌렀을때속도를더할지뺄지를알기위해서 bool signchanged - Sign 이바뀌고계속누르게될때더이상 Sign 을바꾸지않게하기위해서

데이터사전 데이터명 Informationuc Sound Wheel 설명 Unit Control 에관한 Information 을담는 struct int obcount - Turn 할시에순서를알리기위해서쓰이는변수 bool isdarked - Sleep 이된상태를나타내는변수 bool darkagain - Sleep 전브레이크만걸려있는상태를나타내기위한변수 Speaker 가실제로낼소리데이터를나타낸다. 내장되어있는값을연결시켜소리가나게할것이다. Sound 에연결할값을적어놓았다. Motor A, C 에연결이되어있다. 각모터는 (bool, int) 셋의값을받게되며전체 Wheel 은 (bool, int, bool, int) 의값을받는다. 왼쪽부터 A, C 를나타낸다. Break Motor B 에연결이되어있다. (bool, int) 값을받게된다. Display Display 가될화면을나타낸다. 내장되어있는값을연결시켜화면이뜨게할것이다. Display 에연결할값을적어놓았다.

Structure Design

Structured Charts - Transform Analysis 1.1 [P] Information 2.1.2 2.1.3 2.2 [A] 1.2 [P] 1.3 [P] 1.4 [A] 1.5. 1 [C] Informationuc 2.1. 1 [C] 2.1.4 2.1.5 2.1.6 2.3 [A] 2.4 [A] 2.1.7 2.1.8 2.5 [A] 2.1.10

Module Structure Application Main Unit Control Sensor Control Speak TY Speak Night Speak GM Move Forward Break Turn Display Working Display Sleeping Touch Time Sound Ultrasonic Light Input Speaker Motor Display Output

모듈정의 모듈 ID RC_AM01 모듈명 Unit Control 모듈개요 인터페이스 모듈 ID RC_AM02 모듈명 Sensor Control 모듈개요 인터페이스 Sensor Control 으로부터의입력값을이용해서 Speaker, Motor, Display 를제어함 CUnit() - Sensor Control 으로부터의입력값을이용해다른모듈을실행시킨다. 4 개의센서로부터입력을받아처리함 CSensor() - 입력된값들을처리하여구조체 (Information) 에저장하는함수 모듈 ID RC_AM03 모듈명 Move Forward 모듈개요 인터페이스 현재저장된속도로모터를정방향으로회전시킴 MoveForward(bool onoff, int speed) - onoff 정보와 speed 를받아서모터를출력시킴

모듈정의 모듈 ID RC_AM04 모듈명 Turn 모듈개요 인터페이스 회전시키는함수 Turn(int obcount) - obcount 를받아서그에맞게모터의출력값을정함 모듈 ID RC_AM07 모듈명 Break 모듈개요 인터페이스 브레이크를내림 Break(bool onoff) - onoff 정보를받아서브레이크출력값을정함 모듈 ID RC_AM08 모듈명 모듈개요 인터페이스 Good Morning 이라는 Sound Info 를넘겨줌 SGoodMorning() - Speaker 에 "GoodMorning.rso" 을넘겨줌 Speak GoodMorning

모듈정의 모듈 ID RC_AM09 모듈명 Speak Night 모듈개요 인터페이스 Night 를실행시킴 SNight() - Speaker 에 "Night.rso" 을넘겨줌 모듈 ID RC_AM10 모듈명 모듈개요 인터페이스 Working 이라는 Display Info 를보낸다 Display Working DWorking() - Display 에 "Working" 이라는값을넘겨줌 모듈 ID RC_AM11 모듈명 모듈개요 인터페이스 Sleeping 이라는 Display Info 를보낸다 Display Sleeping DSleeping() - Display 에 "Sleeping" 이라는값을넘겨줌

모듈정의 모듈 ID RC_AM12 모듈명 Touch 모듈개요 인터페이스 Touch 센서의상태를가져옴 ITouch() - 터치센서에서의인풋이 1 이면 True, 0 이면 False 를반환함 모듈 ID RC_AM13 모듈명 Sound 모듈개요 인터페이스 주변의소리크기를받아옴 ISound() - 소리크기의값을측정하여리턴함 모듈 ID RC_AM14 모듈명 Ultrasonic 모듈개요 인터페이스 주변에장애물이있는지있다면장애물과의거리를받아옴 IUltrasonic() - Ultrasonic Sensor 의인풋을리턴함

모듈정의 모듈 ID RC_AM15 모듈명 Light 모듈개요 주변밝기를받아옴 인터페이스 ILight() - Light Sensor의인풋을리턴함

구조차트 Unit Control Information Sensor Control Move Forward Turn Break SENSOR_2 Touch Sound Ultrasonic Light Motor Break

구조차트 (Cont.) Information Unit Control Sensor Control SENSOR_2 Speak GM Speak Night Speak TY Display Working Display Sleeping Touch Sound Ultrasonic Light Speaker Display

Balanced System Unit Control Input Function Output 외부입력 Touch Sound Light Distance 데이터저장소입력 SensorControl 내부프로세스 MoveForward TurnLeft TurnRight Turn180 Break SpeakGoodmorning SpeakNight SpeakThankYou DisplayWorking DisplaySleeping 외부출력 Motor Speaker Display

데이터정의 데이터명설명타입 Information Event 와 Unit Control 관계에서필요한변수들을저장한변수 Structure isclap, - type bool // Clap event isobstacle, - type bool // 장애물발견시 isdark, - type bool // 어두워졌을때 speed, - type int // 속력을 int 형저장 speedsign, - type bool ( 속력을증가시킬지감소시킬지판별하는변수 ) signchanged - type bool ( 터치센서에연속적인입력이올때 speedsign 이변하지않게하는변수 ) obcount Turn Left, Right, 180 의옵션을선택해주는변수 int(1,2,3) SENSOR_1 터치센서의입력정보를가진변수 bool SENSOR_2 소리센서의입력정보를가진변수 int(0 ~ 100) SENSOR_3 거리센서의입력정보를가진변수 bool SENSOR_4 빛센서의입력정보를가진변수 int(0 ~ 100) Motor Action 모터의동작을선택하는변수 string Sound Info 스피커의출력을선택하는변수 string Display Info 화면의출력을선택하는변수 string