들어가며나무는 존재할 뿐입니다 바람에 흔들리는 것을 제외하고는 움직이지도 않습니다 그러나 움직이지 않는 것처럼 보이는 그 속에서도 태양빛 그리고 토양과 끊임없이 교류를 합니다 태양빛과 수분 그리고 영양분을 받아들여 끊임없이 성장하고 변화하는 것입니다 그러나 이 작용들은 너무나 조용하게 일어나는 것이어서 마당에 서있는 저 늙은 느티나무는 내가 어렸을 때나 지금이나 아무것도 변한 것이 없는 듯이 보이는 것입니다목 차지구의 탄생지구 시스템누가 토를 달어?인간의 최후?Ι.Ⅱ.Ⅲ.Ⅳ.Ⅰ. 지구의 탄생목 차1. 지구의 형성 2. 달의 형성 3. 지구의 완성Ⅰ. 지구의 탄생Ⅰ. 지구의 탄생1. 지구의 형성1. 지구의 형성젊은(?) 행성 지구124지구의 생성오존층의 생성3대기와 바다의 생성Ⅰ. 지구의 탄생1. 지구의 형성지구의 생성가스 성운으로부터의 고체의 응축응축으로 생긴 암석 조각들의 충돌과 성장방사성 원소의 붕괴열과 충돌로 구성물질의 용해철 니켈 등의 무거운 물질은 하강하여 핵 형성 규산염 광물들은 상승하여 지각 형성Ⅰ. 지구의 탄생1. 지구의 형성젊은(?) 행성 지구다른 행성들 (수성, 화성, 금성) 과의 비교 화산활동 심해 열수 현상 46억 살이나 먹은 아직은 젊은 지구생명체증 거Ⅰ. 지구의 탄생1. 지구의 형성대기와 바다의 생성소천체와의 반복된 충돌로 원시 지구 형성 지구가 현재의 크기에 가까워 지면서 충돌이 줄게 됨 그 결과 대기의 급격한 냉각 원시대기의 80%를 이루던 수증기가 비가 되어 내림 뜨거운 지각에 내린 비는 암석과 열수 반응 암석의 다양한 성분을 녹이면서 원시 지구 표면을 덮는 바다를 이룸Ⅰ. 지구의 탄생1. 지구의 형성오존층의 생성분리된 산소가 산소분자와 오존을 형성현재의 산소농도를 모두 광해리 작용으로 설명할 수 없음 - 광합성화산폭발로 인해 원시대기에는 다량의 수증기 존재수증기는 자외선에 의해 광해리작용을 거쳐 수소와 산소로 분리Ⅰ. 지구의 탄생2. 달의 형성달의 형성달의 인력작용으로 생명체의 탄생 여건 조성화성만한 크기의 운석과 지구의 자이언3. 생명체의 탄생생명은 바다에서박테리아에서 조류로1. 번개와 자외선에 의해 분해된 분자가 재결합하여 복잡한 분자가 되고 이것이 바다에 녹아 유기물을 이룸 2. 심해 열수 현상 (아미노산 합성) - DNA의 가장 오래된 조상최초의 생물은 약 35억년 전 단세포 생물 다시 박테리아에서 조류 그리고 이산화탄소를 이용하여 광합성을 하여 산소를 합성하는 녹색식물로의 진화 -남아프리카와 캐나다에서 발견된 박테리아와 조류의 화석Ⅰ. 지구의 탄생3. 생명체의 탄생산소의 형성생명체의 적합한 환경 - 광해리 과정을 통한 오존층 형성 (자외선 차단) - 지구 표면 온도의 하강 - 바다속에서의 생명체 탄생 - 산소의 합성 (다시 오존 합성, 생물체의 육지 상륙) 현재 지구 대기의 99%는 생물이 만들어 낸 것산소 형성으로 생물체 번성, 동물 출현Ⅱ. 지구 시스템목 차1. 지질의 작용 2. 해양∙대기의 작용 3. 생태계의 작용Ⅱ. 지구 시스템Ⅱ. 지구 시스템1. 지질의 작용1순환적 이동동일 과정의 원리순환 사이의 연결231. 지질의 작용물의 순환구 분구조적 순환암석의 순환세부내용수권에서 단기간과 장기 간의 순환적 변화와 이동 이며, 이들은 빗물, 눈, 그 리고 유수와 같은 요소에 의해 분명해진다.지구 내부와 외부의 변화 과정에 의해 암석이 생성 되고, 변환되며, 분해되고, 변형되는 다양한 모든 과 정을 기술한다.암석권 판의 상호 작용과 이동 및 판의 운동을 일으키 는 지구 심부의 내부 과정을 다룬다.Ⅱ. 지구 시스템순환적 이동지질의 작용1. 지질의 작용퇴적물표 토마그마풍화작용침식 및 퇴적작용매몰 및 교결작용지구조적 융기관입 및 화산활동변성작용 암석의 순환용융퇴적암대륙 지각변성암화성암지구조적융기변성작용지열 에너지암석의 순환Ⅱ. 지구 시스템1. 지질의 작용구 름바 다식 물지표수와 빙하표 토지하수증발강수강수증발증발-증산강수유출심출침투물의 순환Ⅱ. 지구 시스템1. 지질의 작용지구조적 순환화성암해양지각맨틀내 암석마그마해저 확장관입 및 화산활동섭입에 대한 용융용융오래된 암석권은 맨틀과 혼합된융오래된 암석권은 맨틀과 혼합된다섭입섭입대퇴적물풍화작용침식 및 퇴적작용매몰 및 교결작용구조적 융기변성작용 암석의 순환용융퇴적암대륙 지각구조적융기변성작용화성암마그마변성암표 토지열 에너지해저 확장순환사이의 연결Ⅱ. 지구 시스템1. 지질의 작용세부내용허튼의 동일 과정의 원리 - 퇴적작용의 속도는 항상 일정하고 현재의 속도와 같다고 가정 지질학적인 변화의 속도는 일정하지 않다- 지구의 내부 열이 방출됨에 따라 지구가 매우 느리게 냉각되고 있다는 것이 한가지 이유 외적인 변화 과정들의 속도 역시 변화Ⅱ. 지구 시스템동일 과정의 원리와 지질 변화의 속도지질의 작용1. 지질의 작용세부내용지구상의 대륙 지각과 해수로 된 바다는 적어도 40억년 전부 터 존재하였기 때문에 지질학적 순환은 연속적Ⅱ. 지구 시스템순환 사이의 연결지질의 작용1. 지질의 작용Ⅱ. 지구 시스템2. 대기해양의 작용1대기해양22. 대기해양의 작용세부내용Ⅱ. 지구 시스템대기대기와 해양의 작용지구의 보호막 대부분의 기상현상(氣象現象)들은 대류권(Troposphere)), 즉 고도 약 15km 이하에서 일어난다 질소, 산소, 아르곤, 수증기, 탄산가스 그리고 기타 미량 기체들로 구성대기순환2. 대기해양의 작용세부내용Ⅱ. 지구 시스템해양대기와 해양의 작용대륙붕 해양의 순환 물의 특성땅의 침식 방지열염분순환생명유지생명의 후원자로서의 해양2. 대기해양의 작용Ⅱ. 지구 시스템3. 생태계의 작용1산소의 유지담요의 두께 조절데이지 모델233. 생태계의 작용세부내용Ⅱ. 지구 시스템산소의 유지생태계의 작용기체CO2N2O2ArCH4생물지구0.03%79%21%1%1.7ppm무생물지구98.0%1.9%0%0.1%0%대기의 화학조성지구 시스템 형성 후 대기조성 유지2. 대기해양의 작용세부내용Ⅱ. 지구 시스템담요의 두께 조절생태계의 작용지구의 담요 = 암모니아 생태계의 발전 과정에서 암모니아를 원료로 사용 했음에도 지구의 온도가 유지되는 것은 생태계가 암모니아를 먹이로 취한 만큼을 다 시 재 합성하여 대처시켰기 때문2. 대기해양의 작용도가 지구생물의 진화 동안 30%나 강해지는 조건 속에서도 데이지들이 행 성 지구의 기온을 섭씨 20∼ 30°의 범위 내에서 유지하는데 성공할 수 있다는 증거.2. 대기해양의 작용세부내용Ⅱ. 지구 시스템살아있는 지구지구라는 행성지질해양생물대기지구2. 대기해양의 작용Ⅲ. 누가 토를 달어?목 차Ⅲ. 누가 토를 달어?포드 두리틀학 자리차드 도킨스주 장. 생물진화는 아무런 사전 계획 이나 선견지명 없이 오직 자연선 택에 의해서 진행되는 것이라고 주장한다.자연선택이 이기성과 맹목성에 이끌려서 진행된다고 주장한다.Ⅲ. 누가 토를 달어?반대하는 학자들말라리아와 인간예꽃과 곤충의 일부내 용말라리아병원충은 기생생물, 인간은 말라리아병원충의 숙주 생물인 관계에 있다. 두 생물은 서로의 이득을 위해 같이 진화를 해왔다.꽃과 곤충 중 일부는 서로의 이 득을 위해 특정 곤충과 특정 꽃 의 형태로 양성적인 진화를 해왔 다.Ⅲ. 누가 토를 달어?공진화자기만의 이득Ⅳ. 인간의 최후?목 차Ⅳ. 인간의 최후?Ⅳ. 인간의 최후?고 생 대인간의 최후?중 생 대신 생 대아노말로카리스 - 고생대의 지배자 - 공진화 실패 - 멸종. 후손 없음공룡 - 중생대의 지배자 - 공진화 실패 - 멸종. 후손:파충류인간 - 신생대 이후의 지배자 - 공진화 실패? - 멸종? 후손은?Ⅴ. 질의 응답참고 문헌*******서적******* 『가이아 : 생명체로서의 지구』, Lovelock, J. E, 범양출판사, 1990 『작은 가이아(생명의 논리, 살림의 윤리)』, 조용현, 서광사, 2002 『생동하는 지구』, Skinner, Brian J, 시그마프레스, 2003 『전지구적 변환』, Held, David, 창작과 비평사, 2002 『화산 : 지구의 불꽃』, ce Krafft, 서울 시공사, 1995 『땅, 가이아의 갑옷』, 김동영, 동아사이언스, 2002 『지구라는 행성』, 최진범, 춘광, 1995 『가이아 : 지구의 체온과 맥박을 체크하라』, Lovelock, J. E, 김영사, 1995 *******VIDEO T영원한 신비 『제 2 편 위대한 실험』, KBS NHK, 1994 생명, 그 영원한 신비 『제 4 편 꽃과 공룡』, KBS NHK, 1994 생명, 그 영원한 신비 『제 8 편 숲에서 나온 두발 동물』, KBS NHK, 1994 *******Internet Page******* http://nongae.gsnu.ac.kr/%7Ejbchoi/index/earth/chap2.htm http://www.korearth.net/ http://ysgeo.yonsei.ac.kr/geology/geo_main.htm http://nongae.gsnu.ac.kr/%7Ejbchoi/index/earth/chap3.htm http://venus.semyung.ac.kr/~jmc65/envidata/earth/earth2.htm http://nature.chosun.com/n_book/bookreview/bookreview_991215_p9.html http://www.biokr.com/bio/jplifedna.htm http://www.geo4u.info/ 지오포유 http://nongae.gs http://nongae.gsnu.ac.kr/%7Ejbchoi/index/earth/chap2.htm http://www.korearth.net/ http://ysgeo.yonsei.ac.kr/geology/geo_main.htm http://nongae.gsnu.ac.kr/%7Ejbchoi/index/earth/chap3.htm http://venus.semyung.ac.kr/~jmc65/envidata/earth/earth2.htm http://nature.chosun.com/n_book/bookreview/bookreview_991215_p9.html http://www.biokr.com/bio/jplifedna.htm http://www.biokr.com/bio/jplifedna.htm http://nongae.gsnu.ac.kr/~jbchoi/index/earth.htm 지구라w}
살아있는 지구 『가이아』하면돼 조☆목차Ⅰ. 지구의 탄생1. 지구의 생성 과정1) 대기의 생성2) 바다의 생성2. 살아있다는 증거 ; 지구 내부의 열이 갖는 의미1) 화산활동2) 심해 대류, ‘열수 대류 현상’3. 생명의 행성1) 생명은 바다에서 탄생2) 박테리아에서 조류로3) 환경과 원시생명의 진화4) 산소의 생성5) 동물의 출현4. 순환 ; 암석의 순환5. 지구조적 순환6. 가이아 가설(Gaia hypothesis)Ⅱ. 지구 시스템1. 지구의 구조1) 지각2) 판의 경계① 확장 경계② 수렴 경계③ 유지 경계2. 지질의 작용1) 순환적 이동① 물의 순환② 암석의 순환ⅰ) 세 종류의 암석ⅱ) 순환③ 지 구조적 순환3) 동일과정의 원리와 지질 변화 과정의 속도4) 순환사이의 연결5) 지구를 움직이는 힘① 고지자기② 극의 이동(Polar Wandering)③ 지자기의 역전(Geomagnetic Reversal)④ 자기 줄무늬(Magnetic Anomaly)⑤ 열점⑥ 지구 내부의 열ⅰ) 열원(Heat Source)ⅱ) 대륙의 열류량(Polar Wandering)ⅲ) 해양저의 열류량⑦ 맨틀 대류⑧ 표류하는 대륙: 과거, 현재, 미래2. 대기와 해양의 작용1) 대기권2) 해양① 원시 바다의 탄생② 해양의 형태와 규모ⅰ) 해양의 구조1) 대륙붕(Continental Shelf)2) 대륙사면(Continental Slope)3) 대양저(Ocean Basin)ⅱ) 해수의 운동1) 해류(Ocean Current)2) 파랑(Wave)3) 조류(Tidal Current)ⅲ) 해수의 조성ⅳ) 해양의 층상 구조1) 표층수대(Surface Zone)2)저층수대(Pycnocline Zone)3) 심층수대(Deep Zone)ⅴ) 해양 환경의 특징1) 서식 공간2) 유광층과 무광층3) 중력의 영향③ 엘니뇨(El Nino)와 남방진동④ 생명의 후원자로서의 해양ⅰ) 심해저의 생태계ⅱ) 블랙 스모커(Black Smoker)⑤ 해양과 대기의 상호작용ⅰ) 코리올리 효과(Coriolis Effect)ⅱ유리산소가 존재하지 않았기 때문에 처음 출현한 생물은 산소 없이 유기물을 분해하여 에너지를 얻는 발효형 미생물이었다고 생각된다. 발효에 의해 이산화탄소가 증가하면, 다음으로 이 이산화탄소를 이용하여 빛 에너지로 유기물을 합성(광합성)할 수 있는 '식물'이 나타난다. 여기에서 최초로 산소가 발생한다. 그 다음에 산소에 의한 에너지 획득수단으로 하는 동물이 발생했다고 생각되고 있다. 말하자면 환경의 변화가 생물을 변화시키고, 반대로 생물이 환경을 변화시키는(환경의 생물 화) 양자의 밀접한 상호작용을 볼 수 있다. 생물과 자연을 합쳐 생태계라고 하는데, 구조의 발전과 함께 생물은 보다 높은 단계의 생물로 진화하였다. 생명현상의 분자수준에서의 해명이 좀더 진행되고, 생명의 기원에 관한 문제점이 우주생물학이나 모델실험에 의한 기여 등으로 해결될 때, 생명의 정의는 다시 검토되지 않으면 안 된다.4) 산소의 생성식물들은 서로 힘을 합쳐 일하여 지구 환경을 놀랍게 변화시켰다. 녹색식물은 산소를 만들어 낸다. 그 무렵에는 대양은 녹색 식물로 가득차 있었기 때문에 산소는 지구 대기의 주성분을 이루게 되었으며 수소가 많은 원래의 대기는 돌이킬수 없는 변화를 가져왔다. 그리하여 생물과 관계없는 반응에 의해 생명의 재료가 만들어졌었던 지구역사의 한시대가 끝났다. 산소는 유기물의 분자를 낱낱이 분해해 버리는 성질을 갖고 있다. 우리들은 산소없이 살아갈 수 없지만 원래 산소는 벌거벗은 유기물에게는 독이 된다. 산소를 갖는 대기로의 이행은 생명의 역사상 아주 커다란 위기였다. 산소를 잘 받아들일 수 없는 생물은 멸종했다. 지구의 대기에 포함된 질소는 화학적으로 산소보다 훨씬 비활성 가스이며 따라서 산소보다 훨씬 해가 적다. 이 질소가스 역시 생물이 만들어내고 유지해 온 것이다. 지구 대기의 99%는 생물이 만들어낸 것이다. 푸른 하늘은 생물에 의해 만들어 졌다.5) 동물의 출현지구상에 녹색식물이 출현하자 대기 속에 산소가 방출되면서 산소의 양이 점점 증가하기 시작하였다. 이윽고 산소의 지배하며 기후대 분포에 영향을 미친다. 우리 주변에서 보는 다양한 지형은 물의 순환의 또 다른 결과이다. 강물과 파도와 빙하의 침식 작용과 퇴적 작용은 구조적 운동, 화산 활동 및 지각의 변형과 합동으로 지국 표면이 태양계 내의 어떤 행성과도 같지 않은 지형의 다양성을 형성하였다. 이 모든 방법과 그 이상으로 물의 순환은 우리들의 일상 생활에 영향을 미친다.② 암석의 순환암석의 순환을 논하기 위해서 우리는 우선 암석의 중요한 종류를 소개하여야 한다. 암석에는 크게 세 종류가 있으며, 이들은 생성과정에 따라 구분된다.ⅰ) 세 종류의 암석세 가지 중요 암석 중에 첫 번째가 화성암(igneous rock ; 불을 뜻하는 라틴어 igneous 에서 유래 됨)이다. 화성암은 마그마의 냉각과 고결에 의하여 생성된다.풍화작용의 산물 일부는 물에 용해되며 강물에 의해 용액 상태로 멀리 운반된다. 그러나 대부분의 풍화 산물은 표토내에 있는 미고결 입자이다. 물, 바람 또는 얼음에 의하여 운반된 표토의 입자들은 조만간 침전되어 퇴적물(sediment : settling, 가라앉다는 뜻)을 이룬다. 퇴적물은 결국 퇴적암이 되며, 퇴적암은 용액 상태로 강물에 의해 바다로 운반된 용액이 화학적인 침전작용에 의해 생성된 퇴적물을 포함한 모든 퇴적물이 교결작용에 의해 생성된 암석이다. 퇴적암은 두 번째 종류의 암석이다.마지막으로 중요한 암석의 종류는 변성암(metamorphic rock ; 그리스어로 meta 는 변화를 뜻하고, morphe 는 형태를 뜻한다 : 그러므로 형태의 변화를 뜻한다)이다. 변성암은 높은 온도, 높은 압력 또는 이들 둘 때문에 원래의 형태가 변한 암석이다. 변성작용(퇴적암이나 화성암으로부터 변성암이 생성되는 과정)은 도예가가 점토 도자기를 가마에서 구울 때 일어나는 과정과 비슷하다. 점토 속의 세립의 광물 입자는 높아진 온도 때문에 연속적인 화학 반응을 겪게 된다. 새로운 성분이 생성되고, 도예가가 빚은 부드러운 점토는 단단하고 견고해진다.ⅱ) 순환판 구조 운동가장 중요한 지구 에너지원이다. 실제 약 2x1020 cal 또는 1028 ergs의 에너지가 매년 내부로부터 지표로 도달되는데, 이 양은 인류가 현재 사용하는 에너지 전체의 2배에 해당되는 것으로, 록키 산맥을 1 cm 만큼 들어올리는데 필요한 에너지의 천 배 이상이 된다. 따라서 대륙을 이동시키고 산맥을 형성하는 원동력인 열류량은 육지와 해양저에서 자주 측정되어 왔으며, 그 결과 대륙과 해양저에서 방출되는 열류량의 분포로부터 내부 열의 이동에 관한 기구를 이해하게 되었다.ⅱ) 대륙의 열류량(Polar Wandering)대륙 지각은 두께가 수십 km로 매우 두껍다. 상부는 대부분 화강암으로 이루어졌으며, 화강암은 방사능 원소를 가장 많이 함유하고 있어 대륙의 열류량은 전부는 아닐지라도 상당 부분 화강암 내에서 유래된 것으로 생각된다. 그 외 심부 맨틀에서도 많은 양의 열류량이 유래될 것이다.대륙 지각에서는 크게 두 가지의 전형적인 열류량 값을 보여준다. 지질학적으로 오래되고 비활동적인 지역, 즉 선캠브리아시대의 암석이 넓게 노출된 캐나다 중앙부의 순상지 같은 곳에서 보여 주는 낮은 열류량(~1 μcal/cm2/sec) 수치와 알프스나 미국 서부 지역과 같이 최근에 조산 운동이나 화산 활동이 일어난 지역에서 측정되는 높은 열류량(~2 μcal/cm2/sec)이 그것이다. 모든 지역을 고려해 보았을 때, 대륙의 평균 열류량은 1.4 μcal/cm2/sec 정도이다. 대륙의 열류량을 지표 부근의 화강암에서 방출되는 것과 심부 맨틀 기원에서 방출되는 것으로 구분하고, 대륙 지각을 '뜨거운 곳'과 '차가운 곳'으로 구분함으로써 대륙 내부의 지체 구조를 해석하려는 새로운 시도가 행해지고 있다.ⅲ) 해양저의 열류량해양저는 중앙 해령에서 생성되어, 1억 내지 2억년이라는 시간의 주기로 침강 지대에서 소멸된다. 또한 얇은 해양 지각과 바로 아래의 상부 맨틀을 이루는 암석권(lithosphere)은 현무암과 감람암으로 이루어져 있어, 대륙의 화강암보다 방사능이 훨씬 적다. 따입자는 표면에서 아래로 내려갈수록 작아지며, 파장의 반 이하의 깊이에서는 물입자의 직경이 1/32 이하로 작아져 파랑의 영향을 무시해도 된다.해양의 파동 현상을 교란력에 의해 구분하면 바람에 의한 풍랑(sea wave), 달과 태양의 인력에 의한 조석파(tidal wave), 지진, 화산, 지각 변동 등에 의한 쯔나미(tsunami) 등이 있으며, 복원력에 의해 구분하면 표면 장력파(capillary wave), 중력파(gravity wave) 등이 있다.3) 조류(Tidal Current)그림 16. 태양, 지구, 및 달의 위치와 조석의 변화. (가) 대조, (나) 소조조석은 하루에 1회 혹은 2회씩 해수면이 상승과 하강을 반복하는 현상을 말하며, 이는 달과 태양의 인력에 의하여 일어난다 (그림 16). 조석에 의해 해수면의 변화가 생기면 이로 인해 필연적으로 수평적 인 해수의 흐름이 생기게 되는데, 이러한 주기적인 해수의 흐름을 조류(tidal current)라 한다.조석에 의해 변화하는 수면의 높이를 조위(tidal level)라 하며, 조위가 증가하는 상태를 밀물(flood), 감소하는 상태를 썰물(ebb)이라 한다. 그리고 조위가 가장 높은 순간을 만조(high water)라 하며, 가장 낮은 순간을 간조(low water)라 한다. 만조 때의 조위와 간조 때의 조위의 차이를 조차(潮差, tidal range)라 하며, 조차는 달의 공전 주기에 따라 변한다. 보름 혹은 그믐일 경우, 조차는 최대가 되며 이 때를 대조(spring tide)라 하며, 상현 혹은 하현일 경우조차는 최소가 되며 이 때를 소조(neap tide)라 한다.연속되는 간(만)조 사이의 시간을 조석 주기라 하는데 이 조석 주기가 평균 12시간 25분인 조석을 반일 주조(半日 週潮, semidiurnal tide)라 하며, 이에 비해 주기가 24시간 50분인 조석을 일주조(diurnal tide)라 한다. 우리 나라의 서해와 남해는 전형적인 반일 주조 현상을 나타내고 있다.ⅲ) 해수의문이다.
Exercise 6. The SDL Editor : Process Diagram(1) Exercise에서 완성한 MSC를 참고하여, Process DoorController의 기본적인 Version을 완성한다. 이 프로세스에는 하나의 상태와 하나의 입력 그리고 OpenDoor 신호만이 쓰인다. MSC위의 MSC에서 볼 수 있듯이 DoorController에는 입력으로 OpenDoor신호가 들어오고, 출력으로는 Open signal이 Environment로 DoorOpened signal이 Controller로 전달됨을 알 수 있다.이를 이용해 기본적인 DoorController의 프로세스를 구성하면 다음 그림과 같이 구성할 수 있다.< 그림 > DoorController의 기본적인 Version위의 프로세스를 분석해 보면, 우선 state의 시작을 나타내주어 프로세스의 시작을 알려주고, 다음 입력이 들어올 때까지 wait state에서 대기해주어야 한다. 처음 프로세스를 구성하면서, start와 input이 연결되지 않아 상당한 시간동안 고민을 했었다. 하지만, start이후 새로운 input이 들어올 때까지 대기해야 한다는 기본적인 사실을 인식하고 부터는 쉽게 진행해 나갈 수 있었다. 앞의 MSC에서 확인 한 것과 같이 OpenDoor signal을 입력받고, 출력으로 Open signal 과 DoorOpened signal을 내보내는 구조를 쉽게 구현할 수 있었다. DoorOpened signal의 출력옆의 표시는 주석을 나타내는 것으로 DoorController에서 Controller로 출력이 전달됨을 알려주는 것이다.(2) Organizer의 ControlBlock을 열어서 프로세스 그래프를 형성한다.① Exeption / not so usual Case를 추가하기 위해, Abort Signal을 추가한다.- Abort Signl이 들어오는 경우에는 모든 상태를 초기로 되돌린다.② Central로부터 응답(signal OK)을 기다리는 경우를 위해 다음과 같은 신호를 추가한다.- NotOK, NotRegistered가 들어오는 경우에는 DisplayNotOK 신호를 내보내고 초기상태로 되돌아간다.- Registered가 들어오는 경우에는 DisplayRegistered를 보내고 초기상태로 되돌아간다.- StartRegister가 들어오는 경우네는 DispalyStartReg 신호를 내보내고 초기상태로 돌아간다.< 그림 > Controller Process의 최종 Version< Part 1 MSC 분석 >MSC에서 Controller에 연결된 신호의 입출력을 살펴보면 매우 복잡한 구성을 가지고 있는 것을 알수 있다. Controller에 들어오는 입력신호는 Card, Code, OK, DoorOpend의 4개의 신호가 있고 출력신호로는 CardAndCode, DIsplayOk, OpenedDoor, DisplayDoorOpened의 4개의 신호가 있다는 것을 확인할 수 있다. MSC의 세로축은 시간에 따른 진행 상황을 나타냄으로 이를 이용해 process를 구성하면 된다.제일 처음 start로부터 idel state를 연결해 초기상태를 설정해 준다. 위의 여러조건에서 초기상태로의 환원을 요구할 경우에 초기 state로 잡은 idel state로 연결을 설정해 주기만 하면 된다.최초의 Idle 상태에서부터 MSC에서 설명된 순서대로 Card signal이 들어오고 Code signal이 들어온후 CardAndCode signal이 이 출력으로 나가게 된다. 그 후에 OK signal을 입력으로 받게 되면 DisplayOK와 DoorOpen signal이 출력되게 된다. 마지막으로 DoorOpened signal이 입력으로 들어오게 되면 DisplayDoorOpened signal이 출력되고 초기상태로 환원되게 된다.이번에도 상당히 고생한 것은 input 앞에 신호를 기다리는 wait state를 넣는 것이었다. 매우 간단한 사실인데도 불구하고 MSC만을 참고해 작성하려다보니 많은 오류가 발생했었다.중요한점은 Wait state의 이름을 각 wait state마다 달리해주어야 한다는 것이다. 이름을 같이 해줄 경우 같은 state로 여겨져 예기치 못한 동작을 할 수 있기 때문이다.첫 번째 예외상황은 어느 state에서든지 Abort signal이 들어오면 초기상태로 돌아가는 것이다. 처음에 이를 구현할 방법이 없어 오랜 시간을 고민했었는데 의외로 쉽게 해결될 수 있었다. state에 *을 넣은 state가 모든 state를 나타내기에 이를 이용하면 옆의 그림과 같이 쉽게 첫 번째 예외사항의 요구조건을 구현할 수 있었다.두 번째 예외 사항은 Signal OK를 기다릴 때 OK signal 대신, NotOK 이나 NotRegistered signal이 들어올 경우의 예외 사항이다.이는 Wait_OK라는 state를 이용해 구현을 하면 쉽게 구현할 수있다.Wait_OK state에서 NotOK가 들어오거나, NotRegistered가 들어올 경우 DisplayNotOK를 출력하고 초기상태인 idel state로 되돌아감을 확인 할 수 있다.처음에는 이를 if문을 통해 구현을 하려 하였으나, 조건이 없는 상태에서는 if문을 사용할 수 없고 게다가, 더욱 쉬운 위와 같은 방법이 있었다.세 번째 예외 사항은 Signal OK를 기다릴 때 OK signal 대신, Registered 혹인 StartRegister signal이 들어올 경우의 상태를 나타내 주는 것이다. 예외 2에서와 마찬가지로 Wait_OK state를 통해 연결시켜주며, 각각의 입력에 따라 DisplayRegistered 와 DisplayStartReg를 출력시킨후 초기상태인 Idle 상태로 되돌아 간다.
Part 1. SDL을 사용한 System DemonGame의 작성1. SDT(SDL Design Tool)에서의 새로운 System Root를 생성한다.(1) Organizer우선 가장 먼저 설계에 들어가기에 앞서 organizer에서 구성을 확인하고 이를 단계적으로 표현해 주어야 한다. System레벨에서부터 Block 레벨을 거쳐 Process 레벨까지의 각 단계와 연결 관계를 organizer를 통해 확인 할 수 있어야 한다.Requirement chapter와 SDL Design chapter로 나누어 표현하였다. Requirement chapter에는 MSC를 넣고, SDL Design에는 System부터 Process까지의 각 단계별 세부설계를 넣었다.(2) System DemogameSystem Block은 두개의 Block으로 이루어져 있고, System Block을 통해서는 각 Block들의 입출력 관계를 알 있다. 또한 현재 System내에서 사용되어지는 signal들의 종류를 정의해 놓고 있다. 위의 그림에서 볼 수 있듯이, GameBlock은 Channel C1을 통해 외부로부터 Newgame, Probe, Result, Endgame등의 신호를 받아드리고, Channel C2를 통해 외부로 WIn, Lose. Score의 세 개의 신호를 내보낸다. EH한 DemonBlock과 GameBlock사이에는 Channel C3가 존재해 DamonBlock에서 GameBlock으로 Bump신호를 보냄을 알 수 있다.2. System Level -> Block Level의 구현Block level에서는 Block내에서 각 Process들의 입출력 관계를 확인할 수 있다.(1) GameBlockGameBlock은 Game Process와 Main Process로 구성되어있다. Game process는 외부로부터 Probe와 Result 신호를 받아드리고, Win, Lose, Score신호를 내보낸다. 그리고 DamonBlock으로부터 Bump 신호를 받아드린다. 또 Main Process로부터 Gameover 신호도 받아드린다. 이를 Diagram을 이용해 표현하면, 위의 그림과 같은 diagram을 얻을 수 있다. C1, C2, C3는 GameBlock 내부와 외부를 연결하는 Channel을 나타낸다. Block 내부에서 외부로 연결하기 위해서는 위의 System level에서 설정한 Channel을 사용하여야 한다.처음에 Block level에서 많은 에러가 발생했는데 가장 큰 이유중의 하나가 바로 이 channel을 생각하지 않고 바로 environment등과 연결을 해주었기 때문이다.또 다른 에러이유는 바로 새로운 신호에 대한 정의를 해주지 않았기 때문에 생겼다. Block내에서만 쓰이는 Gameover신호를 정의해 주지 않았기 때문에 에러가 발생했었다.(2) DamonBlockDemonBlock은 Damon process한개로 구성된 아주 간단한 구조로 되어있다. DemonBlock은 GameBlock과 C3 Channel을 통해 연결되어있는데, Demon process에서 Bump signal을 C3을 통해 GameBlock으로 전달해 준다.3. Block Level --> Process Diagram(1) GameProcessProcess Game은 동적으로 생성되고 종료되는 Process로 어떤 프로세스 생성에 대한 요구가 있을 경우에만 생성되는 프로세스이다.GameProcess는 Losing 상태로 초기화 되어있다.만약 모든 스테이트에서 Result라는 신호가 GameProcess로 들어오게 되면 Score를 출력하게 되고 초기상태로 되돌아 가게 된다.만약 Gameover라는 신호가 들어오게 되면 동적프로세스를 중단하게 된다.위의 초기 상태 조건과 예외 상태 조건을 포함해 Gameprocess를 구현하면 위와 같은 다이어그램을 얻을 수 있다. DCL을 통해 Counter를 정수형으로 선언하고 0을 초기값으로 대입해준다. Losing 상태에서 Bump가 들어오면 Winning으로 상태천이가 일어나고 WInning 상태에서 Bump가 들어오면 Losing 상태로 상태천이가 일어나는 것을 확인할 수 있다. 또한 Losing 상태에서 Probe가 들어오면 Lose 신호를 내보내고 Count에서 1을 빼준 후 초기상태로 환원한다.또한, Winning 상태에서 Probe 신호가 들어오면, Win 신호를 내보내고 Count에서 1을 더해준 후 초기 상태로 환원한다.(2) MainProcessProcess가 시작되면 먼저 Game이 시작되지 않은 상태 Non로 천이하며 이 상태에서 새로운 게임의 시작을 알리는 Newgame 신호가 들어오면 동적 프로세스 Game을 형성한다. 이후 Process id에 현재 생성된 가장 최근의 프로세스 주소를 입력하고 Game이 시작한 상태인 Begin 상태로 천이한다. 만약 이 상태에서 Gameover 신호가 들어오면, 생성된 주소를 Null로 되돌리고 동적프로세스를 종료시킨다 혹은 Newgame 신호가 들어오면, 무시하고 다시 Begin 상태를 유지한다.(3) DamonProcessDemonprocess에서는 1 time unit 만큼 시간이 지날 때 마다 Bump signal을 출력하는 역할을 한다. Demonprocess에서 가장 힘이 들었던 것은 무한 루프를 만드는 것이었는데 의외로 쉽게 해결되었다. 루프를 돌때 timing setting을 어떻게 구현할 것인가가 고민이었는데 아래에 한 블럭을 형성해 다시 timing setting을 해주고 처음 스테이트로 환원시켜주니 쉽게 구현할 수 있었다.4. MSC 생성과 삽입MSC에서 가장 어려웠던 점은 시간 타이머를 설정하는 것과 상태를 표현하는 것이었다. 처음 접하는 것이라 상당히 어려웠는데 조교의 도움을 받고, help를 참고해서 할 수 있었다. 위의 MSC는 초기에서 단하나의 루틴만을 표현한 것으로 lose상태에서 win 상태로의 단 한번의 천이만을 표현하고 있다.Part 2. Simulator 및 Validator의 사용1. Simulator를 통한 Trace(1) simulator 초기상태(2) n-t 명령어의 수행 : 각 단계마다의 Transition 상태를 표현해 준다.2. 외부환경에서의 Signal 입력3. 내부의 환경을 관찰하기위해 simulator를 다시 시작한다.(1) Active Process 관찰하기위의 그림을 살펴보면 트랜지션을 수행할 모든 리스트를 보여주고 있음을 알 수 있다.5. coverage viewerPart 3. 결과 고찰SDL을 하면서 가장 어려운 부분은 처음 만나는 툴을 이용해 시스템을 구현하는 것이었다. 아직도 SDL의 여러 부분들이 너무나 생소하고 또 프로그램을 시작하기에 너무나 어려움을 느낀다. 물론 Top Down 방식으로 자연스럽게 시스템을 구현할 수 있는 좋은 툴이라는 것은 알겠지만, 짧은 시간에 이러한 모든 기능을 익혀 프로젝트 하기에는 너무나 버거운 면이 많다. 또한 라이센스도 부족해 집에서의 연습조차 허락되지 않는 상태에서 다소 아쉬움이 많이 남는다.
Exercise 1. Finite State Machine for process MakingDrinkExercise 2. The Preference Manager(1) SDL Editor에 대한 Setting위의 화면은 SDL Editor의 여러 가지 옵션을 설정해 주기 위한 대호상자이다. 책에서 설명되어진 다양한 옵션 변경을 실행하고 이를 확인하고 싶었지만, 몇 몇 옵션들의 정확히 작동되지 않았다.이는 책에서 기술된 버전과 사용하는 소프트웨어의 버전이 일치하지 않기 때문이고, 또 다른 이유는 책에서 정확한 옵션의 의미와 역할에 대한 설명이 없기 때문에 실험을 하며 확인하지 못했기 때문이다. 옵션의 역할에 대한 자세한 설명이 교재에 기술되어 있지 않아 실험을 하면서 많은 어려움이 있었다.(2) SDL Editor를 제외한 다른 Tool들의 Setting첫 번째 옵션 변경은 매우 일반적인 옵션으로 글씨의 형식과 크기를 바꾸는 실험이었다. 누구나 쉽게 옵션의 기능과 역할에 대해 알 수 있었기 때문에 옵션에 따른 변화도 쉽게 관찰할 수 있다.위의 그림은 글씨체를 궁서체로 설정해주었을 경우의 MSC 윈도우의 모습이다. 한글일 경우에는 궁서체로 표현이 되지만 영어로 쓰여졌을 때에는 기본 글꼴인 굴림으로 표기되는 것을 확인할 수 있었다. 또한 텍스트의 높이를 36 넓이를 33으로 설정해 큰 크기의 글자가 나옴을 알 수있다.Show Grid를 on으로 설정해 놓아 grid가 화면에 나타남을 확인 할 수 있다.두 번째 옵션실습에서는 첫 번째 실습의 결과와 비교하기 위해 앞의 설정과는 매우 다른 옵션을 설정해주었다. 에서는 글씨 크기를 크게 해주었는데 반해 이번 실습에서는 글씨크기를 극단적으로 작게 해주었고 앞에서 설정해주었던 굵은 글씨 옵션을 풀어 주었다. text height를 6, width를 8으로 해주어 매우 작은 글씨가 화면에 나타남을 알 수있다. 앞의 예와는 달리 grid 옵션을 off로 해주니, grid가 표현되지 않음을 알 수 있다.Exercise 3. The OrganizerAdd Chapter to the OrganizerImport an existing system to the OrganizerAdd new Document to the OrganizerRearrange items to the Organizer(1) AccessControl.sdt Open 화면(2) Edit New를 선택했을 때의 대화상자(3) Organizer에 Text Documet symbol의 형성 (OpenDoor.txt)(4) Move Up/Down을 이용한 OpneDoor의 이동UP DOWN 키를 이용해 SDL Design chapter에 있던 Text OpenDoor 명령을 Requirement Documents chapterd로 이동시켜 주었다.