⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled.pr

📁 手机软件系统的设计(MSC图及SDL图) 本系统实现的是一个简易的手机软件系统
💻 PR
📖 第 1 页 / 共 2 页
字号:
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy,4)*/
system CentralSys;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),209(65,20))*/
signal PutOn,PutOff,Num, PhoneNum_Out,PhoneNum_In;
signallist UserInput = PutON,PutOff,Num;
signal Available,BusyLine,BusyNetWork;
signal Release,NormalRing,BusyLR,BusyNR,stopRing;
signallist RingType = NormalRing,BusyLR,BusyNR,stopRing;
signallist CalledUser_State= Available,BusyLine,BusyNetWork;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),164(36,82))*/
channel /*#E*/ 
User_Interface nodelay from env to Call_Handle with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),165(42,92))*/
(UserInput);
endchannel User_Interface;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),155(177,75))*/
channel /*#E*/ 
Interface_User nodelay from Call_Handle to env with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),156(152,95))*/
PutOn,PutOff,PhoneNum_Out;
from env to Call_Handle with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),157(130,82))*/
(CalledUser_State),(RingType),PhoneNum_In;
endchannel Interface_User;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy(1),149(75,75))*/
block Call_Handle referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CentralSys.ssy,4)*/
endsystem CentralSys;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk,4)*/
block Call_Handle;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),338(60,20))*/

signallist UserCtrl = PutOn,PutOff;

signal toRing , dsplCtrl ;
signal dsplIn,dsplOut,dsplNo,dsplRmv,dsplCnt;

/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),278(145,82))*/
signalroute /*#E*/ 
CallIn_State from CallIn to env with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),279(170,117))*/
PutOn,
PutOff;
from env to CallIn with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),280(153,95))*/
PhoneNum_In,(RingType);
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),185(72,82))*/
signalroute /*#E*/ 
CallIn_Manage from UserCtrlManage to CallIn with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),186(97,90))*/
PutOn,
PutOff;
from CallIn to UserCtrlManage with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),187(55,107))*/
Release;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),122(32,117))*/
signalroute /*#E*/ 
to_Manage from env to UserCtrlManage with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),123(37,127))*/
(UserInput);
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),197(75,160))*/
signalroute /*#E*/ 
CallOut_Manage from UserCtrlManage to CallOut with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),198(95,170))*/
(UserCtrl);
from CallOut to UserCtrlManage with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),199(72,140))*/
Release;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),287(148,172))*/
signalroute /*#E*/ 
CallOut_State from CallOut to env with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),288(165,130))*/
PhoneNum_Out,
PutOff;
from env to CallOut with 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),289(154,152))*/
(CalledUser_State);
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),140(115,80))*/
process CallIn referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),119(60,115))*/
process UserCtrlManage referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),143(115,155))*/
process CallOut referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),134(2,127))*/
connect User_Interface and to_Manage;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk(1),293(192,122))*/
connect Interface_User and CallIn_State, CallOut_State;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Call_Handle.sbk,4)*/
endblock Call_Handle;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr,4)*/
process UserCtrlManage
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr,1)*/
;fpar
NormalRing integer,
BusyLineR integer,
BusyNR integer,
dsplIn integer,
dsplOut integer,
dsplNo integer,
dsplRmv integer,
dsplCnt integer;
signalset PhoneNumIN;

/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),146(5,60))*/
signal PutOn,PutOff;
signal PhoneNumIN;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),140(5,85))*/
procedure Deal_Key_Down referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),143(5,110))*/
procedure Deal_Signal_In referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),116(95,35))*/
start /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),155(80,65))*/
task {/*#E*/ 
NormalRing:=0;
BusyLineR:=1;
BusyNR:=2;
dsplIn:=0;
dsplOut:=1;
dsplNo:=3;
dsplRmv:=4;
dsplCnt:=5;
};
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),173(95,110))*/
nextstate /*#E*/ 
idle;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),173(95,110))*/
state /*#E*/ 
idle;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),167(90,130))*/
input /*#E*/ 
PhoneNumIN;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),197(85,155))*/
call /*#E*/ 
Deal_Signal_In;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),200(85,180))*/
call /*#E*/ 
Deal_Key_Down;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),209(100,205))*/
stop /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr(1),173(95,110))*/
endstate;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\UserCtrlManage.spr,4)*/
endprocess UserCtrlManage;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd,4)*/
procedure Deal_Key_Down
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd,1)*/
;fpar
in KeyInput integer,
dsplCtrl integer,
toRIng integer; 
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),263(5,40))*/

dcl KeyInfo integer;
dcl PutOn integer;
dcl PutOff integer;

/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),119(100,15))*/
start /*#E*/ 
;
grst0:
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),269(90,50))*/
task {/*#E*/ 
KeyInfo:=KeyInput;
PutOn:= 11;
PutOff:=10;};
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),185(90,85))*/
decision /*#E*/ 
KeyInfo = PutOff;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),194(112,107))*/
(false):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),191(90,115))*/
decision /*#E*/ 
KeyInfo = PutOn;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),251(145,125))*/
(false):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),341(140,140))*/
task /*#E*/ 
dsplCtrl:=dsplNo;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),269(90,50))*/
join /*#E*/ 
grst0;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),212(112,140))*/
(true):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),329(95,155))*/
task /*#E*/ 
dsplCtrl := dsplOut;
grst1:
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),203(105,215))*/
return /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),191(90,115))*/
enddecision;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),200(52,97))*/
(true):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),317(40,140))*/
task /*#E*/ 
dsplCtrl := dsplRmv;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),203(105,215))*/
join /*#E*/ 
grst1;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd(1),185(90,85))*/
enddecision;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Key_Down.spd,4)*/
endprocedure Deal_Key_Down;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd,4)*/
procedure Deal_Signal_In
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd,1)*/
;fpar 
toRing integer,
dsplCtrl integer,
PhoneNumIN integer;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),116(70,25))*/
start /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),188(60,40))*/
decision /*#E*/ 
PhoneNUmIN>0;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),191(55,45))*/
(true):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),167(25,55))*/
task /*#E*/ 
dsplCtrl:=dsplIn;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),176(20,85))*/
task /*#E*/ 
toRing:=NormalRing;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),194(90,67))*/
(false):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),188(60,40))*/
enddecision;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd(1),149(32,115))*/
return /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Deal_Signal_In.spd,4)*/
endprocedure Deal_Signal_In;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr,4)*/
process CallIn
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr,1)*/
;fpar
PhoneNum_In integer,
dsplCtrl integer,
toRing integer;

/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),122(5,45))*/
dcl IsAvailable boolean ;
dcl IsPutOn boolean;
dcl PhoneNo integer ;


/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),146(10,70))*/
procedure On_Busy referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),149(5,90))*/
procedure Get_Through referenced;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),116(105,20))*/
start /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),182(95,45))*/
task {/*#E*/ 
PhoneNo:=PhoneNum_In;
toRing:=-1;
dsplCtrl:=-1;};
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),152(95,75))*/
decision /*#E*/ 
IsAvailable;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),161(90,80))*/
(false):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),158(50,110))*/
call /*#E*/ 
On_Busy;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),167(137,80))*/
(true):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),164(140,110))*/
call /*#E*/ 
Get_Through;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),152(95,75))*/
enddecision;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr(1),215(105,165))*/
stop /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\CallIn.spr,4)*/
endprocess CallIn;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\On_Busy.spd,4)*/
procedure On_Busy;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\On_Busy.spd(1),116(95,45))*/
start /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\On_Busy.spd(1),119(100,75))*/
return /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\On_Busy.spd,4)*/
endprocedure On_Busy;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd,4)*/
procedure Get_Through
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd,1)*/
;fpar
dsplIn integer,
NormalRing integer,
dsplCtrl integer,
toRing integer;

/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),128(5,50))*/
dcl IsPutOn,UserSet boolean ;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),116(90,55))*/
start /*#E*/ 
;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),194(85,75))*/
task /*#E*/ 
dsplCtrl:=dsplIn;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),200(80,100))*/
task /*#E*/ 
toRing:=NormalRing;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),182(80,125))*/
task /*#E*/ 
IsPutOn:=UserSet;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),149(85,155))*/
decision /*#E*/ 
 IsPutOn;
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),158(120,157))*/
(true):
/*#SDTREF(SDL,E:\协议工程_075590_林昕\PE_075590_林昕\Get_Through.spd(1),155(120,200))*/
nextstate /*#E*/ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -