A Conference Review System in OOHDM Daniel Schwabe, Patricia Vilain, Robson Guimarães (PUC-Rio) Gustavo Rossi (UNLP) ©2001, D. Schwabe, P. Vilain, G. Rossi 1 The OOHDM design approach n n n n Clearly separates conceptual from navigational aspects, and interface layout Navigation objects are OO views on conceptual objects Structure the navigation space into sets called navigational contexts Two schemas: Navigational Class Schema and Context Schema Shared Conceptual Model implementing domain abstractions Web application objects are Observations on conceptual objects Web applications built as views on the shared model ©2001, D. Schwabe, P. Vilain, G. Rossi 2 Models in OOHDM Requirements Gathering Conceptual Design Navigation Design Abstract Interface Design Implementation ©2001, D. Schwabe, P. Vilain, G. Rossi 3 Use Cases, Actors and Tasks [before submission deadline] Pre-register a PC Member in the system Pre-register a CoAuthor in the system «precede» «precede» PC Member Confirm registration as PC Member in the system Pre-register a Reviewer in the system PC Chair Register as Co-Author in the system Register as Author in the system «precede» Confirm registration as Reviewer in the system Submit a paper Author «precede» Reviewer Modify data about a paper Update topics and subjects ©2001, D. Schwabe, P. Vilain, G. Rossi Co-Author «precede» Check data about a paper 4 Use Cases, Actors and Tasks [after submission deadline and before review deadline] Verify the conflicts between PC Members and papers Indicate interests in some papers «precede» Assign papers to PC Members Access other reviews before review «precede» Reviewer Assign a paper to a Reviewer «precede» Enter a paper review PC Chair PC Member [after review deadline] Access papers accepted and rejected Informing accepted papers Access other reviews after review PC Chair accesses papers and paper reviews ©2001, D. Schwabe, P. Vilain, G. Rossi 5 User Interaction Diagrams n Specify the interaction described in a use case n Are used to support the communication between the designer and users and to validate the use cases n Serve as input for obtaining the class diagram through the application of guidelines Can be incorporated in the requirements and analysis workflows of the Unified Process n Are used also as input for synthesizing the Navigation Design n ©2001, D. Schwabe, P. Vilain, G. Rossi 6 Use Cases and UIDs: Confirm Registration n 1. 2. 3. 4. Description The PC Member uses his/her login and password to confirm registration. S/he informs the affiliation institution and contact information: telephone (optional), additional email. The PC Member may inform and confirm a new password. If the new password and password confirmation are the same, the new password is saved. The PC Member can inform what topics he prefers to review, selecting from a list of topics. ©2001, D. Schwabe, P. Vilain, G. Rossi 7 Use Cases and UIDs: Confirm Registration PC member login password (confirm registration) affiliation (change password) new password telephone new password additional email … topics ? 1..N (include as preferential topic) Precondition: the user must be logged in as PC Member and chosen the option to confirm his/her registration. ©2001, D. Schwabe, P. Vilain, G. Rossi 8 Use Cases and UIDs: Assign Paper Description 1. The application brings up a list with all the papers in alphabetic order. For each paper, the system shows: paper id, author, set of co-author, title, abstract, conference track, related topics, a set PC Members names conflicting with the paper, a set of PC Members that do not conflict with the paper, and a set of PC Member that were assigned the paper. For each non-conflicting PC Member, the system shows the name, paper interest level (optional), an optional set of preferential topics. 2. The PC Member can selected 3 or more PC Members from the set of NonConflicting PC Members and assign the paper to them. 3. After all papers were assigned to PC Members, the application shows a list of all PC Members. For each PC Member, the application shows the name, an optional set of preferential topics, an optional set of preferential subjects, and a set of papers assigned to him/her. n ©2001, D. Schwabe, P. Vilain, G. Rossi 9 Use Cases and UIDs: Assign Paper …Paper (paper ID, Author (name), …Co-author (name)?, title, abstract, conferenc (name)?, …NonConflictingPCMembers (name, paper interest level?, …preferential topics?), …Assigned PCMember(name))) 3..N (assign paper to PC Member) [all papers assigned to PC Members] …PC Member (name, …preferential topics?, …Paper (paper ID, Author (name), …Co-author (name)?, title, abstract, conference track, …topics?)) Precondition: the user must be logged in as PC Chair and chosen the option to assign papers to the PC Members. ©2001, D. Schwabe, P. Vilain, G. Rossi 10 Use Cases and UIDs: Assign Paper n Description 1. 2. 3. 4. 5. 6. The PC Member or reviewer enters his/her login and password. S/He also enters the ID of the paper that is being reviewed. If the actor had previously entered a review, the application shows the following information about the paper: paper ID, title, abstract, authors, co-authors, conference track, an optional set of topics, and the information about the review (evaluation items, final recommendation, confidential comments to the PC, comments for the authors and the final review. The actor can modify the evaluation items, final recommendation, confidential comments to the PC, comments for the authors and the final review. If the actor did not previously enter any review for this paper, then the application shows the following information about the paper: paper ID, title, abstract, authors, co-authors, conference track, and an optional set of topics. The actor has to enter the following information about the review: evaluation items (clarity, relevance, technical correctness), final recommendation, confidential comments to the PC, comments for the authors and a final review. For each evaluation item and the final recommendation, the actor has to give a grade from 1 to 5. After entering all the information about the review, the actor is notified by the application.11 ©2001, D. Schwabe, P. Vilain, G. Rossi Use Cases and UIDs: Assign Paper PC Member or Reviewer login password paper ID [no review from the actor accessing the paper] Paper (paper ID, Author (name), …Co-author (name)?, title, abstract, conference track, …topics?) clarity [1,2,3,4,5] relevance [1,2,3,4,5] [existing review from the actor accessing the paper] Paper (paper ID, Author (name), …Co-author (name)?, title, abstract, conference track, …topics?, Review (clarity, relevance, technical correctness, finalrecommendation, confidential comments to the PC, comments for the authors) ) clarity [1,2,3,4,5] technical correctness [1,2,3,4,5] relevance [1,2,3,4,5] final-recommendation [1,2,3,4,5] confidential comments to the PC comments for the authors final review [yes,no] technical correctness [1,2,3,4,5] final-recommendation [1,2,3,4,5] confidential comments to the PC comments for the authors [review entered by reviewer] final review [yes,no] “PC Member notified about the review” Precondition: the user must be logged in as PC Member or Reviewer and chosen the option to enter a paper review. ©2001, D. Schwabe, P. Vilain, G. Rossi 12 Synthesis of the Conceptual Model n Guideline 1: Preferential Subject the following classes for each UID: l l l l l l l l l l l n UID 10: Paper Submitted, Paper, Author, Co-Author UID 11: Paper Submitted, Paper, Author, Co-Author UID 12: Paper Submitted, Paper, Author, Co-Author, Conflicting PC Member, PC Member UID 13: Paper Submitted, Paper, Author, Co-Author UID 14: Paper, Author, Co-Author, Conflicting PC Member, Non-Conflicting PC Member, PC Member, Assigned PC Member UID 15: Paper To Be Reviewed, Author, Co-Author, Reviewer UID 16: Paper, Author, Co-Author, Review UID 17: Paper Reviewed By PC Member, Paper Not Reviewed By PC Member, Author, Co-Author, Review UID 18: Paper, Author, Co-Author, Review UID 19: Paper, Author, Co-Author, Review UID 20: Paper, Accepted Paper, Rejected Paper, Not Defined Paper, Author, Co-Author, Review, Statistic Resulting Classes: Paper, Paper Submitted, Paper To Be Reviewed, Paper Reviewed By PC Member, Paper Not Reviewed By PC Member, Accepted Paper, Rejected Paper, Not Defined Paper, Author, Co-Author, Conflicting PC Member, Non-Conflicting PC Member, Assigned PC Member, PC Member, Reviewer, Review, Statistic. 13 ©2001, D. Schwabe, P. Vilain, G. Rossi Synthesis of the Conceptual Model n Guideline 2: Attributes from the data items returned by the system: l UID 9: Paper (paper id, title, abstract) • • • • l UID 10: Paper (paper id, title, abstract) • • • • • l Author (login) Co-Author (login) Conference Track (conference track) Topic (topic) Paper Submitted (paper id, title) Author (name) Co-Author (name) Conference Track (conference track) Topic (topic) UID 11: Paper (paper id, title, abstract) • • • • ©2001, D. Schwabe, P. Vilain, G. Rossi • Paper Submitted (paper id, title) Author (name) Co-Author (name) Conference Track (conference track) Topic (topic) 14 Synthesis of the Conceptual Model n Other steps l l Synthesis of attributes from data input by the user Adjustments • Generalizations • States • Associationclasses l Synthesis of associations • Within the same interaction • Between interactions l l Synthesis of the Operations Final adjustments ©2001, D. Schwabe, P. Vilain, G. Rossi 15 Conceptual Class Schema Non-Conflicting PC Member Conflicting PC Member Conference Track conference track name name 1 1..* interest level Reviewer topic Paper 0..* assigned paper preferential topic total per status total per track 1..* 0..* Topic Statistic name email login 1..* password affiliation telephone additional email number of assigned papers 1..* paper ID title 1..* abstract recommendation 1 interest 1..* PC Member name email login password affiliation telephone additional email ©2001, D. Schwabe, P. Vilain, G. Rossi 1 Author name email login password affiliation telephone additional email 0..* 1..* Co-Author Review name email login password affiliation telephone additional email clarity relevance technical correctness final recommendation comments to PC comments for authors final review status 16 Navigation Design use case scenario conceptual model user interaction diagram Requirements Gathering Task Navigation Design Conceptual Design Navigation Design specification card context diagram specification card Abstract Interface Design Implementation ©2001, D. Schwabe, P. Vilain, G. Rossi context diagram Application Navigation Design Synthesis of the Navigational Class schema and of the In Context Class schema Final Specification of the Application's Navigation navigational class schema In context class schema 17 Task Navigation Design n Based on: l l l l scenario use case UIDs Scenario Descriptions Reuse of known solutions Use of design patterns user interaction diagram conceptual model ©2001, D. Schwabe, P. Vilain, G. Rossi Determination of lists, contexts and access structures. Sketch of the task’s context diagram context diagram context diagram Specification of lists, contexts and access structures specification card Validation of the task navigation 18 Example Task of Navigation Diagram PC Member Creation/ Update Paper Paper Title alphabetical Confirm PC Member Registration PC Member By Paper Assign Paper Creation/ Update Review Paper Papers assigned to reviewer Enter Review ©2001, D. Schwabe, P. Vilain, G. Rossi By reviewer without review By reviewer with review Update/ creation By paper 19 assign-Reviewer Person name email login password affiliation telephone additional email 0..* 1 0..* Author PC Member from p:PC Member interests: listof( <t:Topic,level:[0..2]> where has_interest_in(p, t,level) confirm registration ( ) change password ( ) include preferential subject( ) include preferential topic ( ) indicate interested in paper (level) 0..* 0..* 1 0..* 1 Is-co-author-of 1..* 0..* has-interest 0..* preferential topic Topic 0..* makes 1..* 1..* reviews Paper from p:Paper 1..* has-conflict include new topic (topic) exclude topic ( ) confirm registration ( ) change password ( ) papers: listof( p:Paper where r reviews p) confirm registration ( ) change password ( ) Is-author-of 3..N topic Reviewer from r:Reviewer submit paper ( ) assigned-to 0..* CoCo-Author paper ID title author: a:Author where a is-author-of p coauthors: listOf(c:co-author where c iscoauthor-of p) abstract status 1 upload paper ( ) include conference track( ) include paper topic ( ) include conflicting PC Members (names) 0..* change conference track (topic) change paper topics ( ) assign paper to PC Member ( ) accept ( ) reject ( ) 1..* Navigation Class Schema Review from r:Review 1..* author: v:Reviewer where v makes r paper: p:Paper.paperID where r reviews p clarity relevance technical correctness final recommendation comments to PC comments for authors final review:bool status N may-belong-to 1 Conference Track conference track include ( ) ©2001, D. Schwabe, P. Vilain, G. Rossi N Statistic /total per status /total per track 20 RegisterReviewer; Update Reviewer Data Register Author; Update Author Data Author Main Menu Register Co-Author; Update Co-Author Data Creation/U pdate Register PC Member; Update PC Member Data Peruse papers Inform accepted and rejected papers Submit Paper Enter/Edit Review Co-Author Check/Modify data about a Paper; Access Reviews Creation/U pdate Assign Reviewer Navigation Context Diagram Verify Conflicts of a Paper; Indicate interest; Assign PC Member PC Member Creation/U pdate Paper Paper Title (Non Conflicting) Paper Title Papers assigned to PcMember By author + co- auhtor By Paper Creation/U pdate Alphabetical Reviewer By PC Member Reviewer Papers assigned to reviewer By reviewer without review Review By reviewer with review Update/ creation By Grade Papers with status not defined Status: ©2001, D. Schwabe, P. Vilain, G. Rossi Status=Not defined Creation/U pdate Update By paper By status 21 Context Cards Context: Paper by PC Member Parameter: userId Elements: P: Paper where <UserId> assigned-to p Restriction: PcMember: p:Paper Where <UserId> assigned-to p In Context Class:PaperByReviewer In Role Class: PaperByPC Member::PCMember, Navigation: index Order: Paper.Title, alphabetical, ascending Operations: User PcMember Permission Read Comments: Papers assigned to a PC Member ©2001, D. Schwabe, P. Vilain, G. Rossi 22 In Context Classes Paper Title:Text abstract:Text authors:list of autors PaperAlphabetic::PcMember Status PaperAlphabetic PcM ember User.Name N e x t-p a p e r : a n c h o r (PaperAlphabeticr.Next ( self )) P r e v-Paper: anchor Paperalphabetic..Previous(self)) DownloadPaper(User) Indicate interest in paper(level) PaperAlphabetic:PCChair PcChair Status L ist of PcM e m b e r s A s s i g n P a p e r ( P c M ember) In c l u d e c o n f l i c t i n g P C M embers() Change conference track(topic) Change paper topics() ©2001, D. Schwabe, P. Vilain, G. Rossi 23 OOHDM X Web OOHDM Design XML Editor OOHDM-ML DTD XML Doc of an OOHDM Design OOHDM Translation OOHDM-Web 2.0 Environment Interface Design Authoring Environment Mixed HTML template containing calls to library functions from the CGI Lua and OOHDM libraries Browsing Environment HTML Pages Browser ©2001, D. Schwabe, P. Vilain, G. Rossi Lua data structures describing Classes, Relationships, Nodes, Links, InContext Classes, Contexts and Access Structures Maintenance Environment Database tables with instance information. HTTP Server 24 OOHDM ML <!ELEMENT OOHDM (OOHDM_BASE, OOHDM_WEB?)> <!ATTLIST OOHDM name CDATA #REQUIRED version CDATA #REQUIRED > <!ELEMENT OOHDM_BASE (conceptual_model, navigational_model, interface_model)> <!ENTITY % oohdm_web SYSTEM "OOHDM_WEB.dtd"> %oohdm_web; ©2001, D. Schwabe, P. Vilain, G. Rossi 25 OOHDM ML ©2001, D. Schwabe, P. Vilain, G. Rossi 26 OOHDM ML ©2001, D. Schwabe, P. Vilain, G. Rossi 27 Ongoing Research n n n n n n Personalization Adaptativity Semantic Representation Interface specification Frameworks and Design Patterns ... ©2001, D. Schwabe, P. Vilain, G. Rossi 28