home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega CD-ROM 1
/
megacd_rom_1.zip
/
megacd_rom_1
/
MAGAZINE
/
DDJMAG
/
DDJ8910.ZIP
/
LAZAREV.LST
< prev
next >
Wrap
File List
|
1989-09-07
|
2KB
|
50 lines
_Executable Specifications With Prolog_
by Gregory Lazarev
[LISTING ONE]
project( i( User_req), o( System, Budg_sched) ):-
survey( i( User_req), o( Feas_doct) ),
str_anal( i( User_req, Feas_doct),
o( Struct_spec, Budg_sched, Phys_req) ),
hw_study( i( Phys_req), o( Config_data, Hardw) ),
str_design( i( Struct_spec, Config_data),
o( Test_plan, Pack_design) ),
implem( i( Hardw, Test_plan, Pack_design), o( System) ).
str_anal( i( User_req, Feas_doct),
o( Struct_spec, Budg_sched, Phys_req) ):-
study_curr_environ( i( User_req), o( Curr_phys_DFD) ),
derive_log_equiv( i( User_req, Curr_phys_DFD),
o( Curr_log_DFD) ),
model_new_log_sys( i( User_req, Curr_log_DFD, Feas_doct),
o( New_log_DFD, DD, Trans_desc) ),
model_new_phys_sys( i( New_log_DFD),
o( New_phys_DFD, Budg_sched, Phys_req) ),
produce_struct_spec( i( New_phys_DFD, DD, Trans_desc),
o( Struct_spec) ).
survey( i( user_req0), o( feas_doct0) ).
hw_study( i( phys_req0), o( config_data0, hardw0) ).
str_design( i( struct_spec0, config_data0),
o( test_plan0, pack_design0) ).
implem( i( hardw0, test_plan0, pack_design0), o( system0) ).
study_curr_environ( i( user_req0), o( curr_phys_DFD0) ).
derive_log_equiv( i( user_req0, curr_phys_DFD0),
o( curr_log_DFD0) ).
model_new_log_sys( i( user_req0, curr_log_DFD0, feas_doct0),
o( new_log_DFD0, dd0, trans_desc0) ).
model_new_phys_sys( i( new_log_DFD0),
o( new_phys_DFD0, budg_sched0, phys_req0) ).
produce_struct_spec( i( new_phys_DFD0, dd0, trans_desc0),
o( struct_spec0) ).
[LISTING TWO]
bb( i( B, B1, nil), o( nil, E) ) :-
bb'( i( B, B1), o(E) ).
bb( i( nil, nil, C), o( D, nil) ) :-
bb''( i( C), o( D) ).