SDL软件设计技术.ppt_第1页
SDL软件设计技术.ppt_第2页
SDL软件设计技术.ppt_第3页
SDL软件设计技术.ppt_第4页
SDL软件设计技术.ppt_第5页
已阅读5页,还剩299页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; dial_tone_on) set(now+10*sec,t) dial_tone (lineno) signal hellworld; signal terminated; blk helloworld etos stoe stoe procs(1,1) helloworld etos c1c2 ready helloworldterminated helloworld via c2 * syntype dev_no=integer constants 0:127 endsyntype dev_no; syntype dial_no=integer constants 0:9,11,12 endsyntype dial_no; signal off_hook(dev_no),on_hook(dev_no), digit(dev_no,dial_no); signal dial_tone_on(dev_no),ring_back_tone(dev_no),tone_off(dev_no), busy_tone_on(dev_no), null_tone_on(dev_no),tone_off(dev_no), ringing_on(dev_no),ringing_off(dev_no), path_connect(dev_no,dev_no),disconnect(dev_no,dev_no); signallist from_env=off_hook,on_hook,digit signallist to_env1=dial_tone_on,ringback_tonf_on,busy_tone_on, null_tone_on,tone_off,path_connect,disconnect; signallist to_env2=ringing_on,ringing_off; synonym sec duration=external; ready helloworldterminated helloworld via c2 ;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; dial_tone_on) set(now+10*sec,t) dial_tone (lineno) ready off_hook lineno128 ldata(lineno) caller(lineno) ltopid(lineno):=offspring; ldata(lineno)!line_status:=s_busy ltopid(lineno)=null off_hook(lineno) toltopid(lineno) caller(lineno) false true else true false dcl div_no dev_no; flag:=call numtodev(div_num,div_no) flag ldata(lno)!new_s_type:=diversion_c; ldata(lno)!diversion_no:=div_no; false true flag remote procedure dgt_ana; fpar in dial_no; returns ana_rslt; remote procedure numtodev; fpar in num, in/out dev_no; returns boolean; remote procedure set_idle; fpar in dev_no; syntype idx4=integer constants 0:3 endsyntype; newtype num array(idx4,dial_no) endnewtype; newtype ana_rslt literals normal_c,set_new_s, reset_s,wrong_no endnewtype; synonym s_idle character=“0”; synonym s_idle character=“0”; ;fpar in code dial_no; returns ana_rslt; code 113 else 12 set_new_s normal_c wrong_no reset_s ;fpar in cd_num num,in/out cd_dev dev_no; returns boolean; dcl dev_int integer; dev_int:=cd_num(3)+cd_num(2)*10+cd_num(1)*100 dev_int128 cd_dev:=dev_int cd_dev:=0 true false true false 2(6) init exported dgt_ana exported numtodev exported set_idle init ready ;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; dial_tone_on) set(now+10*sec,t) dial_tone (lineno) stoe procs(1,1) helloworld etos c1c2 ;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; dial_tone_on) set(now+10*sec,t) dial_tone (lineno) ;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; imported procedure numdodev; fpar in num,in/out dev_no; returns boolean; imported procedure set_idle; fpar in dev_no; dial_tone_on) set(now+10*sec,t) dial_tone (lineno)(lineno)(lineno) true ready on_hook(lineno) lineno128 ltopid(lineno)=null on_hook(lineno) to ltopid(lineno) false true false 0 15 when idle connected off_hook dial_tone_on digit dial_tone_off digit digit ringback_tone_on ringback_tone_on connect ringing_on off_hook ringing_off msc connection app_sys syntype dev_no=integer constants 0:127 endsyntype dev_no; syntype dial_no=integer constants 0:9,11,12 endsyntype dial_no; signal off_hook(dev_no),on_hook(dev_no), digit(dev_no,dial_no); signal dial_tone_on(dev_no),ring_back_tone(dev_no),tone_off(dev_no), busy_tone_on(dev_no), null_tone_on(dev_no),tone_off(dev_no), ringing_on(dev_no),ringing_off(dev_no), path_connect(dev_no,dev_no),disconnect(dev_no,dev_no); signallist from_env=off_hook,on_hook,digit signallist to_env1=dial_tone_on,ringback_tonf_on,busy_tone_on, null_tone_on,tone_off,path_connect,disconnect; signallist to_env2=ringing_on,ringing_off; synonym sec duration=external; use sig_def; call_handle system mini_switch env_in to_env manage(1,1) caller(0,128)called(0,127) c_in env_in to_env (from_env) seizure_req m_ca on_hook,cd_code, reject m_cb off_hook,on_hook, sizure_ind a_brelease sizure_conf,answer, release c-out1 c-out2 (to_env1) (to_env2),busy_tone_on,tone_off remote procedure dgt_ana; fpar in dial_no; returns ana_rslt; remote procedure numtodev; fpar in num, in/out dev_no; returns boolean; remote procedure set_idle; fpar in dev_no; syntype idx4=integer constants 0:3 endsyntype; newtype num array(idx4,dial_no) endnewtype; newtype ana_rslt literals normal_c,set_new_s, reset_s,wrong_no endnewtype; synonym s_idle character=“0”; synonym s_idle character=“0”; dcl ltopid line_to_pid; dcl ldata line_data; dcl lineno dev_no,code dial_no,cripid pid; synonmy no_new_s character=0; synonmy diversion_c character=1; synonmy no_answer character=2; synonmy with_busy character=3; 2(6) init exported dgt_ana exported numtodev exported set_idle init ready dcl i integer; dcl int_num integer; itopid=(.null.) i:=0; int_num:=3000; ldata(i)!line_status:=s_idle; ldata(i)!line_no=i; ldata(i)!phone_num:=int_num; ldata(i)!new_s_type:=no_new_s; i:=i+1; int_num:=int_num+1; i128 ready off_hook lineno128 ldata(lineno) caller(lineno) ltopid(lineno):=offspring; ldata(lineno)!line_status:=s_busy ltopid(lineno)=null off_hook(lineno) toltopid(lineno) caller(lineno) false true else true false ready sizure_req ldata(lineno) reject to sender called(lineno) else sizure_ind ltopid(lineno):=offspring; ldata(lineno)!linestatus:= s_busy; crpid:=sender; true ready on_hook(lineno) lineno128 ltopid(lineno)=null on_hook(lineno) to ltopid(lineno) false true false ;fpar in code dial_no; returns ana_rslt; code 113 else 12 set_new_s normal_c wrong_no reset_s ;fpar in cd_num num,in/out cd_dev dev_no; returns boolean; dcl dev_int integer; dev_int:=cd_num(3)+cd_num(2)*10+cd_num(1)*100 dev_int128 cd_dev:=dev_int cd_dev:=0 true false true false ;fpar in lno dev_no; ldata(lno)!line_status:=s_idle; ltopid(lno):=null; ;fpr lineno dev_no; dcl cd_num num,cd_no idx4:=0,code dial_no; dcl called_no dev_no,cd_pid pid,a_rslt ana_rslt; dcl succ_flag boolean; timer t; imported procedure dgt_ana; fpar in dial_no; returns ana_rslt; imported procedure numdodev; fpar in num,in/out dev_no; returns boolean; imported procedure set_idle; fpar in dev_no; dial_tone_on) set(now+10*sec,t) dial_tone (lineno)(lineno)(lineno) ;fpr lineno dev_no; dial_tone cd_code(code) reset(t) tone_off(lineno) a_rslt:=call dgt_ana(code) a_rslt cd_num(cd_no):=code; cd_no:=cd_no+1; set(now+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论