% PC -> mailing_list call_for_papers(Conference) :- create_PC(Committee_list), select_mailing_list(Conference,Mailing_list), mail_CFP_announcement(Conference,Mailing_list). % author -> PC -> referees paper_submission(Author,Title,Subject,Paper_ID) :- record_paper_info(Author,Title,Subject,Paper_ID), select_referee(Paper_ID,Subject,Referee), mail_paper_to_referee(Paper_ID,Referee). % referee -> PC referee_evaluation_report(Paper_ID,Referee,Evaluation) :- record_evaluation(Paper_ID,Referee,Evaluation). % PC -> authors paper_selection(Papers) :- grade_papers_for_selection(Papers), selection_for_presentation(Papers,Papers_Selected,Papers_Rejected), notify_authors(Papers_Selected,Papers_Rejected). create_PC(Committee_list) :- print('Select PC members'). select_mailing_list(Conference,Mailing_list) :- print('Select mailing list for ',Conference). mail_CFP_announcement(Conference,Mailing_list):- print('Send announcement for ', Conference). record_paper_info(Author,Title,Subject,Paper_ID) :- print('Paper received from ', Author). select_referee(Paper_ID,Subject,Referee) :- referee(Referee,Subject), print('Selecting referee for paper ',Paper_ID), print('Referee will be ',Referee). mail_paper_to_referee(Paper_ID,Referee) :- print('Send paper to ',Referee). record_evaluation(Paper_ID,Referee,Evaluation) :- print('Record paper evaluation ', Paper_ID), print('Referee ',Referee), print(Evaluation). grade_papers_for_selection(Papers) :- print('Grade papers for selection ',Papers). selection_for_presentation(Papers,Papers_Selected,Papers_Rejected):- print('Selection results: '). notify_authors(Papers_Selected,Papers_Rejected) :- print('Notify authors '). test :- call_for_papers(icss),!, paper_submission(james,'oo',programming,paper_1),!, referee_evaluation_report(paper_1,carl,accepted). % database %paper(Paper_ID,Title,Subject,Author). %referee_asignment(Paper_ID,Referee). %referee_status(Referee,Paper_ID,Paper_Sent,Report_Received). %author_notification(Status,Date). %person_info(Name,Address,SSN). %author(Name,Paper). %referee(Name,Competence). referee(carl,programming). referee(bob,systems).