A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ExpertCommittee Documentação Maíra Gatti Ricardo Gralhoz 2005/1.

Apresentações semelhantes


Apresentação em tema: "ExpertCommittee Documentação Maíra Gatti Ricardo Gralhoz 2005/1."— Transcrição da apresentação:

1 ExpertCommittee Documentação Maíra Gatti Ricardo Gralhoz 2005/1

2 Laboratório de Engenharia de Software – PUC-Rio 2 Sumário 1- Modelagem em MAS-ML 2- Diagramas da Implementação 3- Mapeamento das abstrações 4–Aplicação desenvolvida 5-Roteiro para instalação 6- Conclusão sobre Implementação usando JADE x Modelagem MAS-ML

3 Laboratório de Engenharia de Software – PUC-Rio 3 1- Modelagem em MAS-ML Elementos Estruturais –Ambiente –Organização –Objetos –Agente –Papéis de Agente Diagramas Estáticos –Diagramas de Organização –Diagramas de Papéis –Diagramas de Classes Diagramas Dinâmicos –Diagramas de Seqüência –Diagramas de Atividades Críticas sobre a Linguagem de Modelagem

4 Laboratório de Engenharia de Software – PUC-Rio 4 ExpertComitteEnvironment ExpertComitteeEnvironment private Researcher : researcher private Collection : Papers private Agent : UserAgent private Agent: AcademicEventOrganization public get_Papers : Collection public set_Papers( papers Collection) : void public get_Researcher : Object public set_Researcher( researcher Researcher) : void public get_User : UserAgent public set_User( UserAgent user) : void public check_User_Can_Come_In( user : Agent): boolean public check_User_Can_Leave( user : Agent): boolean

5 Laboratório de Engenharia de Software – PUC-Rio 5 AcademicEventOrganization > boolean : management_of_submissions_and_revisions = true{ > boolean : define_members_of_organization = true defining_members > boolean : define_deadlines_of_event = true defining_deadlines} > Date : deadline_of_paper_submission > Date : deadline_of_answering_revision_proposal > Date : deadline_of_sending_papers_for_revision > Date : deadline_of_sending_revisions_to_chair > Date : deadline_of_sending_camera_ready > Chair: chair = null > Coordinator: coordinator = null > Vector: members_CP = null > Vector: reviewers = null > Vector: submitted_papers = null > boolean: send_information_about_revisions = true > boolean: resolve_conflict_when_paper_is_strongly_accepted_and_rejected = true > boolean: minimum_of_three_reviews_by_paper = true > boolean: maximum_of_three_papers_by_reviewer = true > boolean: reviewer_cannot_review_paper_from_his_instituton = true > boolean: coordinator_select_1.5_number_of_requested_reviewers = true { } define_reviewers { } { } define_chair{ } { } define_coordinator { } { } define_members_CP { } { } define_deadlines{ } defining_deadlines { define_deadlines } define_deadlines_of_event defining_members { define_members_CP, define_reviewers, define_chair, define_coordinator } define_members_of_organization

6 Laboratório de Engenharia de Software – PUC-Rio 6 Objetos Paper Title : String Abstract: String Author : Researcher Institution : String Area : String File : String FileCameraReady : String getPaper() : Paper setPaper(Paper paper)... Revision getResult() : String setResult(String result) getFile() : String setFile(String file) result : String File : String Vote getVote() : Vote setVote(Paper paper) vote : String Researcher Name : String Institution : String InterestArea : String getResearcher() : Researcher setResearcher(Researcher researcher) getNome() : String getInstitution() : String getInterestArea() : String Agenda getAgenda() : Agenda setAgenda (Date date, String description) date : Date Description : String

7 Laboratório de Engenharia de Software – PUC-Rio 7 Modeling the Agents and Agent Roles Coordinator UserAgent Reviewer Chair Author MemberCP UserAgent/AuthorUserAgent/MemberCPUserAgent/CoordinatorUserAgent/Chair UserAgent/Reviewer

8 Laboratório de Engenharia de Software – PUC-Rio 8 Modeling the Agents and Agent Roles UserAgent.... > Paper : paper = null ….

9 Laboratório de Engenharia de Software – PUC-Rio 9 > boolean : submit_paper = true > boolean : publish_paper = true > submit_paper > {if paper was accepted} send_camera_ready PublicationPaper { message: {label: Proposal, content: Paper, sender: Author, receiver: Chair} message: {label: AcceptProposal, content: PaperAndRevisions, sender: Chair, receiver: Author }, message: {label: RejectProposal, content: PaperAndRevisions, sender: Chair, receiver: Author }, message: {label: Inform, content: CameraReady, sender: Author, receiver: Chair} } Author Action that must be executed if the condition is satisfied

10 Laboratório de Engenharia de Software – PUC-Rio 10 UserAgent/Author > boolean : submit_paper = true submitting_paper > boolean : publish_paper = true publishing_paper {before paper submission deadline} submit_paper {} {if paper was accepted and before sending camera-ready deadline} send_camera_ready {} submitting_paper{ submit_paper } submit_paper publishing_paper{ send_camera_ready } publish_paper

11 Laboratório de Engenharia de Software – PUC-Rio 11 > boolean : evaluate_revision_proposal = true > boolean : review_papers = true > consult_agenda > calculate_free_time > accept_or_reject_revision_proposal > make_reviews > classify_paper > send_reviews_to_chair RevisionProposal{ message: {label: Proposal, content: RevisionProposal, sender: Chair, receiver: Reviewer} message: {label: AcceptProposal, content: RevisionProposal, sender: Reviewer, receiver: Chair}, message: {label: RejectProposal, content: RevisionProposal, sender: Reviewer, receiver: Chair} } PaperRevision{ message: {label: Inform, content: PapersToReview, sender: Chair, receiver: Reviewer} message: {label: Inform, content: PapersAndRevisions, sender: Reviewer, receiver: Chair} } Reviewer

12 Laboratório de Engenharia de Software – PUC-Rio 12 UserAgent/ Reviewer > boolean : evaluate_revision_proposal = true evaluating_revision_proposal > boolean : review_papers = true reviewing_papers > Agenda: agenda > Integer: number-of-days-to-revise-one-paper > Vector: areas-of-interest {} consult_agenda {} {} calculate_free_time {} {before accepting or rejecting revision proposal deadline} accept_or_reject_revision_proposal {} {} make_reviews {} {} classify_paper {} {before sending reviews to chair deadline} send_reviews_to_chair {} evaluating_revision_proposal { consult_agenda, calculate_free_time, accept_or_reject_revision_proposal } evaluate_revision_proposal reviewing_papers { make_reviews, classify_paper, send_reviews_to_chair } review_papers

13 Laboratório de Engenharia de Software – PUC-Rio 13 > boolean : select_new_reviewers = true > Vector: reviewers_database > consult_database > calculate_1.5_of_number_of_requested_reviewers > send_additional_reviewers AdditionalReviewersSelection{ message: {label: Request, content: ReviewersNeed, sender: Chair, receiver: Coordinator } message: {label: Inform, content: AdditionalReviewers, sender: Coordinator, receiver: Chair} } Coordinator

14 Laboratório de Engenharia de Software – PUC-Rio 14 UserAgent/Coordinator > boolean : select_new_reviewers = true selecting_new_reviewers {} consult_database {} {} calculate_1.5_of_number_of_requested_reviewers {} {} send_additional_reviewers {} selecting_new_reviewers { consult_database, calculate_1.5_of_number_of_requested_reviewers, send_additional_reviewers } select_new_reviewers

15 Laboratório de Engenharia de Software – PUC-Rio 15 > boolean : vote_papers_in_conflict = true > Hashtable : papers_and_revisions_in_conflict > vote_conflicts > send_votes_to_chair VotingConflicts{ message: {label: Request, content: PapersAndRevisionsInConflict, sender: Chair, receiver: MemberCP} message: {label: Inform, content: PapersAndRevisionsAndVotes, sender: MemberCP, receiver: Chair} } MemberCP

16 Laboratório de Engenharia de Software – PUC-Rio 16 UserAgent/MemberCP > boolean : vote_papers_in_conflict = true voting_papers > Hashtable : papers_and_revisions_in_conflict {} vote_conflicts {} {} send_votes_to_chair {} voting_papers { vote_conflicts, send_votes_to_chair } vote_papers_in_conflict

17 Laboratório de Engenharia de Software – PUC-Rio 17 > boolean : distribute_revision_proposals_to_reviewers = true > boolean : allocate_additional_reviewers_when_necessary = true > boolean : send_papers_for_revision = true > boolean : register_reviews_of_papers = true > boolean : resolve_revision_conflicts_when_necessary = true > boolean : send_final_result_to_authors = true > boolean : receive_all_camera_ready = true > Hashtable : revision_proposals > UserAgents : contracted_reviewers > Hashtable : papers_and_revisions_and_votes > relate_papers_and_reviewers > prepare_revision_proposals > send_revision_proposals > verify_necessity_of_new_reviewers > request_new_reviewers > evaluate_relation_of_new_reviewers > relate_papers_and_new_reviewers > send_all_papers_for_revision > register_papers_reviews > evaluate_revisions_to_detect_conflicts > send_conflicts_to_members_of_program_committee > evaluate_votes_about_conflicts > find_and_register_final_result > publish_final_result > receive_all_camera_ready PublicationPaper {…} RevisionProposal {…} PaperRevision{…} AdditionalReviewersSelection{…} PapersInConflictDistribution {…} VotingConflicts{…} Chair

18 Laboratório de Engenharia de Software – PUC-Rio 18 UserAgent/Chair > boolean : distribute_revision_proposals_to_reviewers = true distributing_revision_proposals > boolean : allocate_additional_reviewers_when_necessary = true allocating_additional_reviewers > boolean : send_papers_for_revision = true sending_papers_for_revision > boolean : register_reviews_of_papers = true registering_reviews > boolean : resolve_revision_conflicts_when_necessary = true resolving_revision_conflicts > boolean : send_final_result_to_authors = true sending_final_result > boolean : receive_all_camera_ready = true receiving_all_camera_ready {after paper submission deadline} relate_papers_and_reviewers {} {} prepare_revision_proposals {} {} send_revision_proposals {} {after answering revision proposal deadline} verify_necessity_of_new_reviewers {} {if additional reviewers are needed} request_new_reviewers {} {} evaluate_relation_of_new_reviewers {} {} relate_papers_and_new_reviewers {} {before sending papers for revision deadline} send_all_papers_for_revision {} {} register_papers_reviews {} {after sending reviews to chair deadline} evaluate_revisions_to_detect_conflicts {} {if conflicts exist} send_conflicts_to_members_of_program_committee {} {if received all votes} evaluate_votes_about_conflicts {} {} find_and_register_final_result {} {} publish_final_result {} {after sending camera ready deadline} receive_all_camera_ready {} …

19 Laboratório de Engenharia de Software – PUC-Rio 19 UserAgent/Chair … distributing_revision_proposals { relate_papers_and_reviewers, prepare_revision_proposals, send_revision_proposals } distribute_revision_proposals_to_reviewers allocating_additional_reviewers { verify_necessity_of_new_reviewers, request_new_reviewers, evaluate_relation_of_new_reviewers, relate_papers_and_new_reviewers } allocate_additional_reviewers_when_necessary sending_papers_for_revision { send_all_papers_for_revision } send_papers_for_revision registering_reviews { register_papers_reviews } register_reviews_of_papers resolving_revision_conflicts { evaluate_revisions_to_detect_conflicts, send_conflicts_to_members_of_program_committee, evaluate_votes_about_conflicts } resolve_revision_conflicts_when_necessary sending_final_result { find_and_register_final_result, publish_final_result } send_final_result_to_authors receiving_all_camera_ready { receive_all_camera_ready } receive_all_camera_ready

20 Diagramas de Organização

21 Laboratório de Engenharia de Software – PUC-Rio 21 Diagramas de Organização Objetivo –Modelar as organizações e os relacionamentos entre as organizações e outras entidades do SMA. Participantes –Ambiente: ExpertComitteEnvironment –Organização principal (main-organization): AcademicEventOrganization –Agente: UserAgent –Papéis: Author Chair Coordinator Reviewer MemberCP

22 Laboratório de Engenharia de Software – PUC-Rio 22 AcademicEventOrganization Object / Environment Agent Organization Legend: Role ExpertComitteEnvironment Coordinator UserAgent Reviewer Chair Author AcademicEventOrganization MemberCP inhabit play ownership

23 Diagramas de Papéis

24 Laboratório de Engenharia de Software – PUC-Rio 24 Diagrama de Papéis Objetivo: –Modelar os papéis e os relacionamentos entre os papéis. Participantes: –Papéis: Author Chair Coordinator Reviewer MemeberCP –Objetos Paper Revision Vote Agenda

25 Laboratório de Engenharia de Software – PUC-Rio 25 Diagrama de Papéis Agent role Legend: Object MemberCP Coordinator Chair Vote Paper Author Reviewer Revision * * * * * * * ** 3..* * Agenda *

26 Diagramas de Classes

27 Laboratório de Engenharia de Software – PUC-Rio 27 Diagrama de classes Objetivo: –Representar os relacionamentos entre classes e outras entidades do SMA, e representar os relacionamentos entre agentes, ambientes e organizações. Participantes: –Agente: UserAgent –Ambiente: ExpertComitteEnvironment –Objetos: Paper Revision Vote Researcher

28 Laboratório de Engenharia de Software – PUC-Rio 28 Diagrama de Classes UserAgent Paper Revision Vote Researcher é ExpertComitteEnvironment 1 3..* 1*

29 Diagramas Dinâmicos

30 Laboratório de Engenharia de Software – PUC-Rio 30 Diagramas Dinâmicos Diagramas de Seqüência Diagramas de Atividade

31 Laboratório de Engenharia de Software – PUC-Rio 31 Diagramas de Seqüência Objetivos: –Representar as interações entre as instâncias do SMA: Modelar trocas de mensagens Modelar protocolos –E representar as ações internas dessas instâncias: Modelar planos e ações

32 Laboratório de Engenharia de Software – PUC-Rio 32 Diagramas de Seqüência Modelando Troca de Mensagens e Protocolos –Objetivo Modelar o conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis. –Diagramas Publication Paper Protocol (Publicação de Artigo) Revision Proposal Protocol (Propostas de Revisão de Artigo) Additional Reviewers Selection Protocol (Contratação de Revisores Adicionais) Paper Revision Protocol (Revisão de Artigo) Voting Conflicts Protocol (Resolução de Conflito)

33 Laboratório de Engenharia de Software – PUC-Rio 33 Message Publication Paper Protocol Proposal (Paper) RejectProposal (Paper) AcceptProposal (PaperAndRevisions) Inform (CameraReady) : Author : Chair else Publication Paper [ before paper submission deadline ] [ before camera ready deadline ]

34 Laboratório de Engenharia de Software – PUC-Rio 34 Revision Proposal Protocol Proposal (RevisionProposal) RejectProposal (RevisionProposal) AcceptProposal (RevisionProposal) : Chair : Reviewer else Revision Proposal [ before revision proposal deadline ]

35 Laboratório de Engenharia de Software – PUC-Rio 35 Additional Reviewers Selection Protocol Request (ReviewersNeed) Inform (AdditionalReviewers) : Chair : Coordinator Additional Reviewers Selection

36 Laboratório de Engenharia de Software – PUC-Rio 36 Paper Revision Protocol Inform (PapersToReview) Inform (PapersAndRevisions) : Chair : Reviewer Paper Revision [ before deadline of sending revisions to chair ] [ before deadline of sending papers for revision]

37 Laboratório de Engenharia de Software – PUC-Rio 37 Voting Conflicts Protocol Request (RevisionsInConflict) Inform (RevisionsAndVotes) : Chair : MemberCP Voting Conflicts

38 Laboratório de Engenharia de Software – PUC-Rio 38 Diagramas de Seqüência Modelando Planos e Ações –Objetivo Modelar execução interna do User Agent, da AcademicEventOrganization pela execução de seus planos e ações. –Diagramas Gerenciamento de Submissões e Revisões Submissão e Propostas de Revisão de Artigo Publicação de Artigo Revisão de Artigos Contratação de Novos Revisores Detecção de Conflitos

39 Laboratório de Engenharia de Software – PUC-Rio 39 Mapeamento dos Planos e Ações Em Diagramas de Seqüência AcademicEventOrganization –Planos e Ações management_of_submissions_and_revisions –defining_members_of_organizations »define_reviewers »define_chair »define_coordinator »define_members_CP –defining_deadlines_of_event »define_deadlines –Diagrama –Management of submissions and revisions

40 Laboratório de Engenharia de Software – PUC-Rio 40 Management of submissions and revisions : AcademicEventOrganization defining_members define_reviewers define_chair Execution of a Plan Execution of an Action > [for each reviewer] Reviewer/Reviewer : UserAgent/Reviewer > Chair/Chair : UserAgent/ Chair define_coordinator > Coordinator/Coordinator : UserAgent/ Coordinator > define_members_CP [for each member] MemberCP/MemberCP : UserAgent/MemberCP Role define_deadlines : AcademicEventOrganization

41 Laboratório de Engenharia de Software – PUC-Rio 41 Mapeamento dos Planos e Ações Em Diagramas de Seqüência Planos e Ações –User Agent/Author submitting_paper (submit_paper) –User Agent/Reviewer evaluating_revision_proposal (consult_agenda, calculate_free_time, accept_or_reject_revision_proposal) –User Agent/Chair distributing_revision_proposal (relate_paper_and_reviews, prepare_revision_proposals, send_revision_proposals) Diagrama Submission and Proposals of Paper Revision

42 Laboratório de Engenharia de Software – PUC-Rio 42 Submission and Proposals of Paper Revision Proposal(RevisionProposal) Reviewer/Reviewer : UserAgent/Reviewer/ AcademicEventOrganization Chair/Chair : UserAgent/Chair/ AcademicEventOrganization Proposal (Paper) distributing_revision_proposals relate_papers_and_reviewers prepare_revision_proposals submiting_paper submit_paper send_revision_proposals evaluating_ revision_ proposals consult_agenda calculate_free_time accept_or_reject_revision_proposal else AcceptProposal(RevisionProposal) RejectProposal(RevisionProposal) Author/Author : UserAgent/Author/ AcademicEventOrganization Agenda getAgenda

43 Laboratório de Engenharia de Software – PUC-Rio 43 Mapeamento dos Planos e Ações Em Diagramas de Seqüência Planos e Ações –User Agent/Author publishing_paper (send_camera_ready) –User Agent/Chair sending_final_result (find_and_register_final_result, publish_final_result) receiving_all_camera_ready (receive_all_camera_ready) Diagrama Publishing Paper

44 Laboratório de Engenharia de Software – PUC-Rio 44 Publishing Paper Chair/Chair : UserAgent/Chair/ AcademicEventOrganization sending_final_result find_and_register_final_result publish_final_result publishing_paper Author/Author : UserAgent/Author/ AcademicEventOrganization else RejectProposal(Paper) AcceptProposal(PaperAndRevisions) Inform (CameraReady) receiving_all_camera_ready receive_all_camera_ready send_camera_ready

45 Laboratório de Engenharia de Software – PUC-Rio 45 Mapeamento dos Planos e Ações Em Diagramas de Seqüência Planos e Ações –User Agent/Reviewer reviewing_papers (make_reviews, classify_paper, send_reviews_to_chair) –User Agent/Chair sending_papers_for_revision (send_all_papers_for_revision) registering_reviews (register_paper_reviews) Diagrama –Papers Revision

46 Laboratório de Engenharia de Software – PUC-Rio 46 Papers Revision Reviewer/Reviewer: UserAgent/Reviewer/ AcademicEventOrganization Chair/Chair: UserAgent/Chair/ AcademicEventOrganization make_reviews classify_paper send_reviews_to_chair Inform(PapersAndRevisions) registering_reviews register_papers_reviews sending_papers_for_revision send_all_papers_for_revision Inform(PapersToReview) reviewing_papers Revision setFile setResult

47 Laboratório de Engenharia de Software – PUC-Rio 47 Mapeamento dos Planos e Ações Em Diagramas de Seqüência Planos e Ações –User Agent/Coordinator selecting_new_reviewers (consult_database, calculate_1.5_of_number_of_requested_reviewers, send_addtional_reviewers) –User Agent/Chair allocating_addicional_reviewers (verify_necessity_of_new_reviewers, request_new_reviewers, evaluate_relation_of_new_reviewers,relate_papers_and_new_reviewers) Diagrama –Allocating Addicional Reviewers

48 Laboratório de Engenharia de Software – PUC-Rio 48 Allocating Addicional Reviewers Request(ReviewersNeed) Coordinator/ Coordinator : UserAgent/Coordinator/ AcademicEventOrganization Chair/Chair: UserAgent/Chair/ AcademicEventOrganization allocating_addicional_reviewers verify_necessity_of_new_reviewers request_new_reviewers selecting_ new_reviewers consult_database calculate_1.5_of_number_of_requested_reviewers send_addtional_reviewers Inform(AdditionalReviewers) [ If is needed ] evaluate_relation_of_new_reviewers relate_papers_and_new_reviewers

49 Laboratório de Engenharia de Software – PUC-Rio 49 Mapeamento dos Planos e Ações Em Diagramas de Seqüência Planos e Ações –User Agent/MemberCP voting_papers (vote_conflicts,send_vote_to_chair) –User Agent/Chair resolving_revision_conflitcts (evaluate_revisions_to_detect_conflicts, send_conflicts_to_program_committee, evaluate_votes_about_conflicts) Diagrama –Conflicts Detection

50 Laboratório de Engenharia de Software – PUC-Rio 50 Conflicts Detection resolving_revision_conflicts evaluate_revisions_to_detect_conflicts send_conflicts_to_program_committee Request(PapersAndRevisionsInConflict) voting_papers vote_conflicts send_votes_to_chair Inform(PapersAndRevisionsAndVotes) evaluate_votes_about_conflicts MemberCP/MemberCP: UserAgent/MemberCP/ AcademicEventOrganization Chair/Chair: UserAgent/Chair/ AcademicEventOrganization Vote setVote

51 Diagramas de Atividade

52 Laboratório de Engenharia de Software – PUC-Rio 52 Diagramas de Atividade Objetivo –Representar a modelagem de planos e ações de um agente. Componentes –Planos –Ações –Troca de Mensagens e Protocolos

53 Laboratório de Engenharia de Software – PUC-Rio 53 Mapeamento dos Planos e Ações Em Diagramas de Atividade AcademicEventOrganization –Planos e Ações management_of_submissions_and_revisions –defining_members_of_organizations »define_reviewers »define_chair »define_coordinator »define_members_CP –defining_deadlines_of_event »define_deadlines

54 Laboratório de Engenharia de Software – PUC-Rio 54 Definindo Membros da Organização define_reviewers defining_members_of_organizations > define_members_of_organization define_chair define_membersCP define_coordinator

55 Laboratório de Engenharia de Software – PUC-Rio 55 Definindo Deadlines para o Evento define_deadlines defining_deadlines > define_deadlines_of_event

56 Laboratório de Engenharia de Software – PUC-Rio 56 Mapeamento dos Planos e Ações Em Diagramas de Atividade Planos e Ações –UserAgent/Reviewer reviewing_papers (make_reviews, classify_paper, send_reviews_to_chair) –UserAgent/Chair sending_papers_for_revision (send_all_papers_for_revision) registering_reviews (register_paper_reviews)

57 Laboratório de Engenharia de Software – PUC-Rio 57 Revisão de Artigos make_reviews reviewing_papers > review_paper > reviewer classify_papersend_reviews_to_chair

58 Laboratório de Engenharia de Software – PUC-Rio 58 Mapeamento dos Planos e Ações Em Diagramas de Atividade Planos e Ações –User Agent/Author submitting_paper (submit_paper) –User Agent/Reviewer evaluating_revision_proposal (consult_agenda, calculate_free_time, accept_or_reject_revision_proposal) revising_papers (make_reviews, classify_paper, send_reviews_to_chair) –User Agent/Chair distributing_revision_proposal (relate_paper_and_reviews, prepare_revision_proposals, send_revision_proposals)

59 Laboratório de Engenharia de Software – PUC-Rio 59 Submissão de Artigo submit_paper submitting_paper > submit_paper > author > Proposal

60 Laboratório de Engenharia de Software – PUC-Rio 60 Distribuição de propostas de revisão relate_paper_and_reviews distributing_revision_proposals > distribute_revision_proposals_to_reviewers > chair prepare_revision_proposals send_revision_proposals > Proposal

61 Laboratório de Engenharia de Software – PUC-Rio 61 Avaliação de Revisão de Propostas consult_agenda evaluating_revision_proposals > evaluate_revision_proposal > reviewer calculate_free_time accept_or_reject_revision_proposal > Reject Proposal > Accept Proposal [deadline not compatible with free time in belief agenda]

62 Laboratório de Engenharia de Software – PUC-Rio 62 Mapeamento dos Planos e Ações Em Diagramas de Atividade Planos e Ações –User Agent/Author publishing_paper (send_camera_ready) –User Agent/Chair sending_final_result (find_and_register_final_result, publish_final_result) receiving_all_camera_ready (receive_all_camera_ready)

63 Laboratório de Engenharia de Software – PUC-Rio 63 Enviando resultado final find_and_register_final_result sending_final_result > send_final_result_to_authors > chair publish_final_result > Reject Proposal > Accept Proposal

64 Laboratório de Engenharia de Software – PUC-Rio 64 Publicando artigo send_camera_ready publishing_paper > publish_paper > author > Inform

65 Laboratório de Engenharia de Software – PUC-Rio 65 Recebendo camera-ready receive_all_camera_ready receiving_all_camera_ready > receive_all_camera_ready > chair

66 Laboratório de Engenharia de Software – PUC-Rio 66 Mapeamento dos Planos e Ações Em Diagramas de Atividade Planos e Ações –User Agent/Coordinator selecting_new_reviewers (consult_database, calculate_1.5_of_number_of_requested_reviewers, send_addtional_reviewers) –User Agent/Chair allocating_addicional_reviewers (verify_necessity_of_new_reviewers, request_new_reviewers,, evaluate_relation_of_new_reviewers relate_papers_and_new_reviewers)

67 Laboratório de Engenharia de Software – PUC-Rio 67 Alocando novos revisores verify_necessity_of_new_reviewers allocationg_addicional_reviewers > allocate_addicional_reviewers_when_necessary > chair request_new_reviewers [if it is needed] > Request

68 Laboratório de Engenharia de Software – PUC-Rio 68 Selecionando novos revisores consult_database selecting_new_reviewers > select_new_reviewers > coordinator send_addtional_reviewers > Inform calculate_1.5_of_number_of_requested_reviewers

69 Laboratório de Engenharia de Software – PUC-Rio 69 Avaliando relação de novos revisores allocationg_addicional_reviewers > allocate_addicional_reviewers_when_necessary > chair relate_papers_and_new_reviewers evaluate_relationg_of_new_reviewers

70 Laboratório de Engenharia de Software – PUC-Rio 70 Mapeamento dos Planos e Ações Em Diagramas de Atividade Planos e Ações –User Agent/MemberCP voting_papers (vote_conflicts,send_vote_to_chair) –User Agent/Chair resolving_revision_conflitcts (evaluate_revisions_to_detect_conflicts, send_conflicts_to_program_committee, evaluate_votes_about_conflicts)

71 Laboratório de Engenharia de Software – PUC-Rio 71 Resolvendo conflitos de revisão evaluate_revisions_to_detect_conflicts resolving_revision_conflicts > resolve_revision_conflicts_when_necessary > chair > Inform send_conflicts_to_program_commitee

72 Laboratório de Engenharia de Software – PUC-Rio 72 Votando nos artigos vote_conflicts voting_papers > vote_papers_in_conflict > memberCP > Inform send_votes_to_chair

73 Laboratório de Engenharia de Software – PUC-Rio 73 Avaliando votos evaluate_votes_about_conflicts resolving_revision_conflicts > resolve_revision_conflicts_when_necessary > chair

74 Laboratório de Engenharia de Software – PUC-Rio 74 Críticas da Linguagem de Modelagem MAS-ML Aprendizado e uso da Linguagem de Modelagem: –Qual foi o grau de dificuldade no aprendizado sobre a Linguagem de Modelagem? Facilidade no entendimento do conceito Dificuldade na experimentação –Ambiente: Qual o critério para que ele seja ativo ou passivo? –Organização principal: Quais são os beliefs? –Papel de objeto: intuição inicial -> todo objeto possui um papel dentro de uma organização => Errado! –Diagrama de classes: »Ao modelar o agente, não era claro que quando um agente desempenha mais de um papel e que, nem todo papel tem uma associação com um objeto, esta associação não deve ser representada. –Diagrama de Papéis »Ao modelar as entidades no diagrama, não era claro que, se um objeto está associado a todos os papéis de agentes, ele não precisa ser representado no diagrama.

75 Laboratório de Engenharia de Software – PUC-Rio 75 Críticas da Linguagem de Modelagem MAS-ML (Cont.) Aprendizado e uso da Linguagem de Modelagem : –Qual foi o grau de dificuldade no aprendizado sobre a Linguagem de Modelagem? Diagrama de Atividades: –A literatura não fornece detalhes sobre diversos cenários de um diagrama de atividade. –Dúvidas para modelar uma mensagem quando a mesma invoca um plano. »Não existe.

76 Laboratório de Engenharia de Software – PUC-Rio 76 Críticas da Linguagem de Modelagem MAS-ML Aprendizado e uso da Linguagem de Modelagem: –Como você avalia o material (artigos, ferramentas) disponíveis sobre a Linguagem de Modelagem? Dificuldade de achar exemplos mais detalhados. Generalização -> solução por intuição.

77 Laboratório de Engenharia de Software – PUC-Rio Diagramas da Implementação Diagrama de Classes; Diagrama de Seqüência;

78 Laboratório de Engenharia de Software – PUC-Rio Diagrama de Classes

79 Laboratório de Engenharia de Software – PUC-Rio Diagrama de Seqüência Submetendo artigo Motivação JADE Implementação (Mapeamento / DC / Demo) Conclusão

80 Laboratório de Engenharia de Software – PUC-Rio Diagrama de Seqüência (..) Troca de Mensagens - Enviar Motivação JADE Implementação (Mapeamento / DC / Demo) Conclusão

81 Laboratório de Engenharia de Software – PUC-Rio Diagrama de Seqüência (..) Troca de mensagens - Recebimento Motivação JADE Implementação (Mapeamento / DC / Demo) Conclusão

82 Laboratório de Engenharia de Software – PUC-Rio Mapeamento das abstrações Características de MAS-ML que foram facilmente implementadas: AGENTS:foi criado o ECAgent (do domínio), como herança de Agent de JADE. A partir deste, foi criada a classe UserAgent; A comunicação entre agentes foi bem implementada O ciclo de vida de uma agente em JADE é muito similar ao de MAS-ML; O comportamento de cada agente dentro dos PLANS foi fácil de ser implementado, apesar de ter sido criada uma nova classe que estende a classe Behaviour de JADE;

83 Laboratório de Engenharia de Software – PUC-Rio Mapeamento das abstrações(..) Características de sistemas multi-agentes que não puderam ser implementadas somente com JADE: ROLES – cada papel se tornou um agente. Este também herdou características do agente userAgent; DUTIES, RIGHTS e GOALS – foram criadas novas classes; BELIEFS – foram implementados com atributos dos agentes; ENVIRONMET e ORGANIZATION - foram criadas novas classes; PROTOCOLS – foi criada uma nova classe.

84 Laboratório de Engenharia de Software – PUC-Rio 84 4–Aplicação desenvolvida Cenários principais: Submissão de artigo; Distribuição de propostas de revisão; Avaliação de proposta de revisão; Distribuição dos artigos aos revisores; Enviar revisão dos artigos; Divulgação da revisão de artigos; Artigo aceito X rejeitado; Execução do EC utilizando a Web. –Formulário de entrada de dados; –Relatório da execução;

85 Laboratório de Engenharia de Software – PUC-Rio 85 5-Roteiro para instalação Passo 1: Descompactar a pasta ExpertComittee.zip; Passo 2: Abrir a pasta ExpertComitte; Passo 3: Copiar o arquivo ec.war e a pasta ec para a pasta webapps do Tomcat. Passo 4: Deve-se usar a URL para acessar a página inicial do sistema.

86 Laboratório de Engenharia de Software – PUC-Rio Conclusão sobre Implementação usando JADE x Modelagem MAS-ML 6.1. Aprendizado e uso da tecnologia JADE 6.2. Pontos fortes de JADE 6.3. Pontos fracos de JADE 6.4. Melhorias

87 Laboratório de Engenharia de Software – PUC-Rio Aprendizado e uso da tecnologia JADE A idéia geral de JADE é de fácil entendimento, mas montar o ambiente de desenvolvimento tem um grau médio de dificuldade e em certos casos, difícil. O uso requer estudo prévio, e pôde ser facilitado com o uso de exemplos prontos. As ferramentas oferecidas pelo JADE são muito boas, pois funcionam de maneira eficaz, possuem recursos interessantes (inclusive visuais) como o Sniffer. Para JADE existem diversos artigos disponíveis, por ser uma tecnologia muito difundida entre os pesquisadores de SMA. Contudo, os principais artigos usados são extensos e, em alguns casos, faltam exemplos mais simples e explicações menos abstratas e mais práticas.

88 Laboratório de Engenharia de Software – PUC-Rio Pontos fortes de JADE Material é vasto, e bem dirigido; A comunicação entre agentes foi bem implementada e é de fácil aprendizado. Foi possível, com certa criatividade, adaptar as MESSAGES; Os estados dos agentes foram bem implementados; Ferramentas de suporte facilitam o trabalho do Engenheiro de Software; A biblioteca de classes foi bem desenvolvida; As facilidades de JADE colaboraram para o desenvolvimento de um bom trabalho; Não foram encontrados erros de funcionamento da tecnologia; Depois de entendido o funcionamento de JADE,o comportamento dos agentes é fácil de ser implementado.

89 Laboratório de Engenharia de Software – PUC-Rio Pontos fracos de JADE Pesquisas demoradas em cada etapa da implementação, usando JADE - que não implementa diversas abstrações de MAS-ML. A etapa inicial (mapear as definições para código) foi trabalhosa, pois foi necessário criar um conjunto de novas classes para atender aos conceitos relacionados aos agentes; Para implementar a comunicação entre agentes, foi necessário know-how de JADE (fomos bem orientados pelo Rodrigo Paes); Dificuldades na implementação da Organização em controlar a ação dos agentes (autônomos); A instalação do JADE não está muito bem explicada no material disponível;

90 Laboratório de Engenharia de Software – PUC-Rio Melhorias Pré / post conditions: modelados como contrato; Uma extensão de Jade partindo da modelagem em MAS-ML como ponto de partida as novas classes criadas: Duty, Right, Goal, Belief, Plan e Protocol.

91 Laboratório de Engenharia de Software – PUC-Rio Melhorias Planos –Como implementamos Existe uma única classe para cada agente estendendo a classe Plan, que possui um nome –Exemplo: Author -> AuthorPlan Sempre que um agente seleciona um plano de um goal, ele seta o nome do plano Quando o action (método do Jade) de cada plano for executado, ele testa o nome do plano e chama o conjunto de ações correspondentes ao mesmo. –Como poderia ser feito Cada plano seria uma classe e seu action não precisaria fazer o teste.

92 Laboratório de Engenharia de Software – PUC-Rio 92 Bibliografia Silva, V.; Garcia, A.; Brandao, A.; Chavez, C.; Lucena, C.; Alencar, P. ?Taming Agents and Objects in Software Engineering? In: Garcia, A.; Lucena, C.; Zamboneli, F.; Omicini, A; Castro, J. (Eds.), Software Engineering for Large-Scale Multi- Agent Systems, Springer-Verlag, LNCS 2603, pp. 1-26, Silva, V.; Lucena, C. "From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language", In: Sycara, K., Wooldridge, M. (Edts.), Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers, (aceito para publicação). Java Agent DEvelopment Framework, 2004


Carregar ppt "ExpertCommittee Documentação Maíra Gatti Ricardo Gralhoz 2005/1."

Apresentações semelhantes


Anúncios Google